r5727 - in software/ui: . src

Enrico Zini enrico at alioth.debian.org
Tue Feb 12 21:38:53 UTC 2008


Author: enrico
Date: 2008-02-12 21:38:53 +0000 (Tue, 12 Feb 2008)
New Revision: 5727

Modified:
   software/ui/
   software/ui/src/Engine.cpp
   software/ui/src/Engine.h
   software/ui/src/GamesOptions.h
   software/ui/src/goplay.cpp
Log:
Added --go=facet commandline option


Property changes on: software/ui
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2007-12-09 13:43:19.052000046 +0000
committer: enrico at enricozini.org
properties: 
	branch-nick: goplay

   + timestamp: 2008-02-12 21:38:40.628000021 +0000
committer: enrico at enricozini.org
properties: 
	branch-nick: goplay

Name: bzr:revision-id:v3-single-software/ui
   - 108 enrico at enricozini.org-20071208200723-y4vsdj5bsmuf0uqa
109 enrico at enricozini.org-20071209105906-z4sjyyyni51a3cnj
110 enrico at enricozini.org-20071209110551-33y5jxsqejx92fq3
111 enrico at enricozini.org-20071209112332-1rf57dt9r853hdxn
112 enrico at enricozini.org-20071209113708-u77ke5c0ubb5gecl
113 enrico at enricozini.org-20071209113759-tc79y911o01c01rb
114 enrico at enricozini.org-20071209115326-qm81khq7dslw4o63
115 enrico at enricozini.org-20071209121110-51l0kx2mq9hi3984
116 enrico at enricozini.org-20071209121304-o6z6a0knyhqed5fo
117 enrico at enricozini.org-20071209122329-rohhzh0tldsso0bx
118 enrico at enricozini.org-20071209125911-zs8f80ifey0z7avh
119 enrico at enricozini.org-20071209131206-gy3nbj5lmauqa9x3
120 enrico at enricozini.org-20071209133841-564gn3lapdlwwdo4
121 enrico at enricozini.org-20071209134207-645wakjl4xyi2jwh
122 enrico at enricozini.org-20071209134319-zlyt8jzq48fset5j

   + 108 enrico at enricozini.org-20071208200723-y4vsdj5bsmuf0uqa
109 enrico at enricozini.org-20071209105906-z4sjyyyni51a3cnj
110 enrico at enricozini.org-20071209110551-33y5jxsqejx92fq3
111 enrico at enricozini.org-20071209112332-1rf57dt9r853hdxn
112 enrico at enricozini.org-20071209113708-u77ke5c0ubb5gecl
113 enrico at enricozini.org-20071209113759-tc79y911o01c01rb
114 enrico at enricozini.org-20071209115326-qm81khq7dslw4o63
115 enrico at enricozini.org-20071209121110-51l0kx2mq9hi3984
116 enrico at enricozini.org-20071209121304-o6z6a0knyhqed5fo
117 enrico at enricozini.org-20071209122329-rohhzh0tldsso0bx
118 enrico at enricozini.org-20071209125911-zs8f80ifey0z7avh
119 enrico at enricozini.org-20071209131206-gy3nbj5lmauqa9x3
120 enrico at enricozini.org-20071209133841-564gn3lapdlwwdo4
121 enrico at enricozini.org-20071209134207-645wakjl4xyi2jwh
122 enrico at enricozini.org-20071209134319-zlyt8jzq48fset5j
125 enrico at enricozini.org-20080212213840-0qspzuz7da4mx4rq


Modified: software/ui/src/Engine.cpp
===================================================================
--- software/ui/src/Engine.cpp	2008-02-12 17:25:15 UTC (rev 5726)
+++ software/ui/src/Engine.cpp	2008-02-12 21:38:53 UTC (rev 5727)
@@ -51,9 +51,9 @@
 	}
 };
 
-static Xapian::Query allGames(Vocabulary& voc)
+static Xapian::Query allGames(Vocabulary& voc, const std::string& facet="game")
 {
-	set<Tag> games = voc.tags("game");
+	set<Tag> games = voc.tags(facet);
 	vector<string> terms;
 	for (set<Tag>::const_iterator i = games.begin();
 			i != games.end(); ++i)
@@ -80,12 +80,12 @@
 			if (ifacequery.empty())
 			{
 				// If there is no query, default to querying all games
-				query = allGames(voc());
+				query = allGames(voc(), mainFacet);
 			}
 			else
 			{
 				// Otherwise, all games with given interface
-				query = Xapian::Query(Xapian::Query::OP_AND, ifacequery, allGames(voc()));
+				query = Xapian::Query(Xapian::Query::OP_AND, ifacequery, allGames(voc(), mainFacet));
 			}
 		else
 			if (ifacequery.empty())
@@ -95,10 +95,10 @@
 	else
 		if (typequery.empty())
 			if (ifacequery.empty())
-				query = Xapian::Query(Xapian::Query::OP_AND, kwquery, allGames(voc()));
+				query = Xapian::Query(Xapian::Query::OP_AND, kwquery, allGames(voc(), mainFacet));
 			else
 				query = Xapian::Query(Xapian::Query::OP_AND, kwquery,
-							Xapian::Query(Xapian::Query::OP_AND, ifacequery, allGames(voc())));
+							Xapian::Query(Xapian::Query::OP_AND, ifacequery, allGames(voc(), mainFacet)));
 		else
 			if (ifacequery.empty())
 				query = Xapian::Query(Xapian::Query::OP_AND, kwquery, typequery);
@@ -146,7 +146,7 @@
 				set<Tag> tags = m_debtags.getTagsOfItem(i.get_document().get_data());
 				for (set<Tag>::const_iterator j = tags.begin();
 						j != tags.end(); ++j)
-					if (j->facet().name() == "game")
+					if (j->facet().name() == mainFacet)
 						m_types.insert(*j);
 			}
 		}
@@ -226,7 +226,7 @@
 				set<Tag> tags = m_debtags.getTagsOfItem(res.name);
 				for (set<Tag>::const_iterator j = tags.begin();
 						j != tags.end(); ++j)
-					if (!m_filter_type.valid() && j->facet().name() == "game")
+					if (!m_filter_type.valid() && j->facet().name() == mainFacet)
 						m_types.insert(*j);
 					else if (!m_filter_iface.valid() && j->facet().name() == "interface")
 						m_interfaces.insert(*j);

Modified: software/ui/src/Engine.h
===================================================================
--- software/ui/src/Engine.h	2008-02-12 17:25:15 UTC (rev 5726)
+++ software/ui/src/Engine.h	2008-02-12 21:38:53 UTC (rev 5727)
@@ -64,6 +64,9 @@
 	/// Popcon scores
 	ept::popcon::Popcon m_popcon;
 
+	/// Facet to use as the main package type
+	std::string mainFacet;
+
 	std::string m_filter_keywords;
 	ept::debtags::Tag m_filter_type;
 	ept::debtags::Tag m_filter_iface;
@@ -82,7 +85,8 @@
 	void recompute();
 
 public:
-	Engine() : m_filter_state(ANY), m_dirty(true), m_max(0) {}
+	Engine(const std::string& mainFacet="game")
+		: mainFacet(mainFacet), m_filter_state(ANY), m_dirty(true), m_max(0) {}
 		
 	/// Access the apt data provider
 	ept::apt::Apt& apt() { return m_apt; }

Modified: software/ui/src/GamesOptions.h
===================================================================
--- software/ui/src/GamesOptions.h	2008-02-12 17:25:15 UTC (rev 5726)
+++ software/ui/src/GamesOptions.h	2008-02-12 21:38:53 UTC (rev 5727)
@@ -31,6 +31,7 @@
 public:
 	BoolOption* out_debug;
 	BoolOption* out_verbose;
+	StringOption* mainFacet;
 
 	GamesOptions() 
 		: StandardParserWithManpage("goplay", VERSION, 1, "Enrico Zini <enrico at enricozini.org> and Miriam Ruiz <little_miry at yahoo.es>")
@@ -45,6 +46,8 @@
 						"enable verbose output");
 		out_debug = add<BoolOption>("debug", 0, "debug", "",
 						"enable debugging output (including verbose output)");
+		mainFacet = add<StringOption>("go", 0, "go", "facet",
+						"use the given facet instead of 'games'");
 	}
 };
 

Modified: software/ui/src/goplay.cpp
===================================================================
--- software/ui/src/goplay.cpp	2008-02-12 17:25:15 UTC (rev 5726)
+++ software/ui/src/goplay.cpp	2008-02-12 21:38:53 UTC (rev 5727)
@@ -353,7 +353,10 @@
 		if (opts.out_debug->boolValue())
 			::Environment::get().debug(true);
 
-		Engine engine;
+		string mainFacet = "game";
+		if (opts.mainFacet->isSet())
+			mainFacet = opts.mainFacet->stringValue();
+		Engine engine(mainFacet);
 
 		/*
 		cerr << " *** Initial:" << endl;




More information about the Pkg-games-commits mailing list