[SCM] Development for GoFind! branch, master, updated. 7a26870d3c44f18c9563186e50027f8a51412c97
Miriam Ruiz
miriam at debian.org
Tue May 5 23:24:13 UTC 2009
The following commit has been merged in the master branch:
commit 7a26870d3c44f18c9563186e50027f8a51412c97
Author: Miriam Ruiz <miriam at debian.org>
Date: Wed May 6 01:28:55 2009 +0200
Move application template selection out of main program
diff --git a/gofind.cpp b/gofind.cpp
index 089de8e..6670303 100644
--- a/gofind.cpp
+++ b/gofind.cpp
@@ -108,49 +108,19 @@ int main(int argc, const char* argv[])
PackageData pkgdata;
if (wibble::str::endsWith(argv[0], "learn") || opts.gowhere->stringValue() == "learn")
- {
- pkgdata.mainFacet = "field";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_AND,
- Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program")),
- Xapian::Query("XTuse::learning"));
- } else if (wibble::str::endsWith(argv[0], "admin") || opts.gowhere->stringValue() == "admin") {
- pkgdata.mainFacet = "admin";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program"));
- } else if (wibble::str::endsWith(argv[0], "net") || opts.gowhere->stringValue() == "net") {
- pkgdata.mainFacet = "network";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program"));
- } else if (wibble::str::endsWith(argv[0], "office") || opts.gowhere->stringValue() == "office") {
- pkgdata.mainFacet = "office";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program"));
- } else if (wibble::str::endsWith(argv[0], "safe") || opts.gowhere->stringValue() == "safe") {
- pkgdata.mainFacet = "security";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program"));
- } else if (wibble::str::endsWith(argv[0], "web") || opts.gowhere->stringValue() == "web") {
- pkgdata.mainFacet = "web";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
- Xapian::Query("XTrole::documentation"),
- Xapian::Query("XTrole::program"));
- } else {
- pkgdata.mainFacet = "game";
- pkgdata.secondaryFacet = "interface";
- pkgdata.globalFilter = Xapian::Query("XTrole::program");
- }
+ pkgdata.AppTemplate("learn");
+ else if (wibble::str::endsWith(argv[0], "admin") || opts.gowhere->stringValue() == "admin")
+ pkgdata.AppTemplate("admin");
+ else if (wibble::str::endsWith(argv[0], "net") || opts.gowhere->stringValue() == "net")
+ pkgdata.AppTemplate("net");
+ else if (wibble::str::endsWith(argv[0], "office") || opts.gowhere->stringValue() == "office")
+ pkgdata.AppTemplate("office");
+ else if (wibble::str::endsWith(argv[0], "safe") || opts.gowhere->stringValue() == "safe")
+ pkgdata.AppTemplate("safe");
+ else if (wibble::str::endsWith(argv[0], "web") || opts.gowhere->stringValue() == "web")
+ pkgdata.AppTemplate("web");
+ else
+ pkgdata.AppTemplate("play");
if (opts.mainFacet->isSet())
pkgdata.mainFacet = opts.mainFacet->stringValue();
diff --git a/pkgdata.cpp b/pkgdata.cpp
index 037b024..65943a7 100644
--- a/pkgdata.cpp
+++ b/pkgdata.cpp
@@ -46,6 +46,57 @@ PackageData::~PackageData()
{
}
+bool PackageData::AppTemplate(const char *id)
+{
+ if (strcmp(id, "learn") == 0) {
+ mainFacet = "field";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_AND,
+ Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program")),
+ Xapian::Query("XTuse::learning"));
+ } else if (strcmp(id, "admin") == 0) {
+ mainFacet = "admin";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program"));
+ } else if (strcmp(id, "net") == 0) {
+ mainFacet = "network";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program"));
+ } else if (strcmp(id, "office") == 0) {
+ mainFacet = "office";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program"));
+ } else if (strcmp(id, "safe") == 0) {
+ mainFacet = "security";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program"));
+ } else if (strcmp(id, "web") == 0) {
+ mainFacet = "web";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+ Xapian::Query("XTrole::documentation"),
+ Xapian::Query("XTrole::program"));
+ } else if (strcmp(id, "play") == 0) {
+ mainFacet = "game";
+ secondaryFacet = "interface";
+ globalFilter = Xapian::Query("XTrole::program");
+ } else {
+ return false;
+ }
+
+ return true;
+}
+
char *PackageData::TagString(const Tag& tag)
{
static std::map<std::string, char*> table;
diff --git a/pkgdata.h b/pkgdata.h
index 68e469b..b2ec76b 100644
--- a/pkgdata.h
+++ b/pkgdata.h
@@ -39,6 +39,8 @@ class PackageData : public Engine
typedef ept::debtags::Tag Tag;
typedef std::set<Tag> TagSet;
+ bool AppTemplate(const char *id);
+
char *TagString(const Tag& tag);
char *PackageString(const std::string& name);
void PrintResults();
--
Development for GoFind!
More information about the Pkg-games-commits
mailing list