r5812 - software/ui/src

Enrico Zini enrico at alioth.debian.org
Mon Feb 18 00:37:27 UTC 2008


Author: enrico
Date: 2008-02-18 00:37:27 +0000 (Mon, 18 Feb 2008)
New Revision: 5812

Added:
   software/ui/src/goadmin
   software/ui/src/golearn
   software/ui/src/gonet
   software/ui/src/gooffice
   software/ui/src/gosafe
   software/ui/src/goweb
Modified:
   software/ui/src/Engine.cpp
   software/ui/src/Engine.h
   software/ui/src/goplay.cpp
Log:
Added some preset defaults according to argv[0]


Modified: software/ui/src/Engine.cpp
===================================================================
--- software/ui/src/Engine.cpp	2008-02-18 00:06:02 UTC (rev 5811)
+++ software/ui/src/Engine.cpp	2008-02-18 00:37:27 UTC (rev 5812)
@@ -26,11 +26,8 @@
 using namespace ept::apt;
 using namespace ept::debtags;
 
-Engine::Engine(const std::string& mainFacet, const std::string& secondaryFacet)
-	: mainFacet(mainFacet), secondaryFacet(secondaryFacet), m_filter_state(ANY), m_dirty(true), m_max(0)
-{
-	setGlobalFilter(Xapian::Query("XTrole::program"));
-}
+Engine::Engine()
+	: m_filter_state(ANY), m_dirty(true), m_max(0) {}
 
 struct EngineMatchDecider : public Xapian::MatchDecider
 {

Modified: software/ui/src/Engine.h
===================================================================
--- software/ui/src/Engine.h	2008-02-18 00:06:02 UTC (rev 5811)
+++ software/ui/src/Engine.h	2008-02-18 00:37:27 UTC (rev 5812)
@@ -64,12 +64,6 @@
 	/// Popcon scores
 	ept::popcon::Popcon m_popcon;
 
-	/// Facet to use as the main package type
-	std::string mainFacet;
-
-	/// Facet to use as the secondary package type
-	std::string secondaryFacet;
-
 	std::string m_filter_keywords;
 	ept::debtags::Tag m_filter_type;
 	ept::debtags::Tag m_filter_iface;
@@ -84,20 +78,21 @@
 	float m_max;
 	float m_res_max;
 
-	Xapian::Query globalFilter;
-
 	Xapian::Query makeQuery();
 	void recompute();
 
 public:
-	Engine(const std::string& mainFacet="game", const std::string& secondaryFacet="interface");
+	/// Facet to use as the main package type
+	std::string mainFacet;
 
-	/**
-	 * Set a tag filter that is ANDed to all searches.  By default this is the
-	 * role::program tag only.
-	 */
-	void setGlobalFilter(const Xapian::Query& filter) { globalFilter = filter; }
-		
+	/// Facet to use as the secondary package type
+	std::string secondaryFacet;
+
+	/// Global filter that is ANDed to all queries
+	Xapian::Query globalFilter;
+
+	Engine();
+
 	/// Access the apt data provider
 	ept::apt::Apt& apt() { return m_apt; }
 

Added: software/ui/src/goadmin
===================================================================
--- software/ui/src/goadmin	                        (rev 0)
+++ software/ui/src/goadmin	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/goadmin
___________________________________________________________________
Name: svn:special
   + *

Added: software/ui/src/golearn
===================================================================
--- software/ui/src/golearn	                        (rev 0)
+++ software/ui/src/golearn	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/golearn
___________________________________________________________________
Name: svn:special
   + *

Added: software/ui/src/gonet
===================================================================
--- software/ui/src/gonet	                        (rev 0)
+++ software/ui/src/gonet	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/gonet
___________________________________________________________________
Name: svn:special
   + *

Added: software/ui/src/gooffice
===================================================================
--- software/ui/src/gooffice	                        (rev 0)
+++ software/ui/src/gooffice	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/gooffice
___________________________________________________________________
Name: svn:special
   + *

Modified: software/ui/src/goplay.cpp
===================================================================
--- software/ui/src/goplay.cpp	2008-02-18 00:06:02 UTC (rev 5811)
+++ software/ui/src/goplay.cpp	2008-02-18 00:37:27 UTC (rev 5812)
@@ -38,6 +38,7 @@
 
 #include <ept/apt/packagerecord.h>
 #include <wibble/regexp.h>
+#include <wibble/string.h>
 #include <xapian.h>
 
 #include <iostream>
@@ -355,16 +356,59 @@
 		if (opts.out_debug->boolValue())
 			::Environment::get().debug(true);
 
-		string mainFacet = "game";
+		Engine engine;
+
+		if (wibble::str::endsWith(argv[0], "learn"))
+		{
+			engine.mainFacet = "field";
+			engine.secondaryFacet = "interface";
+			engine.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")) {
+			engine.mainFacet = "admin";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+										Xapian::Query("XTrole::documentation"),
+										Xapian::Query("XTrole::program"));
+		} else if (wibble::str::endsWith(argv[0], "net")) {
+			engine.mainFacet = "network";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+										Xapian::Query("XTrole::documentation"),
+										Xapian::Query("XTrole::program"));
+		} else if (wibble::str::endsWith(argv[0], "office")) {
+			engine.mainFacet = "office";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+										Xapian::Query("XTrole::documentation"),
+										Xapian::Query("XTrole::program"));
+		} else if (wibble::str::endsWith(argv[0], "safe")) {
+			engine.mainFacet = "security";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+										Xapian::Query("XTrole::documentation"),
+										Xapian::Query("XTrole::program"));
+		} else if (wibble::str::endsWith(argv[0], "web")) {
+			engine.mainFacet = "web";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query(Xapian::Query::OP_OR,
+										Xapian::Query("XTrole::documentation"),
+										Xapian::Query("XTrole::program"));
+		} else {
+			engine.mainFacet = "game";
+			engine.secondaryFacet = "interface";
+			engine.globalFilter = Xapian::Query("XTrole::program");
+		}
+
 		if (opts.mainFacet->isSet())
-			mainFacet = opts.mainFacet->stringValue();
+			engine.mainFacet = opts.mainFacet->stringValue();
 
-		string secondaryFacet = "game";
 		if (opts.secondaryFacet->isSet())
-			secondaryFacet = opts.secondaryFacet->stringValue();
+			engine.secondaryFacet = opts.secondaryFacet->stringValue();
 
-		Engine engine(mainFacet, secondaryFacet);
-
 		if (opts.ftags->isSet())
 		{
 			Xapian::Query fquery;
@@ -374,11 +418,14 @@
 					i != tags.end(); ++i)
 			{
 				if (first)
+				{
 					fquery = Xapian::Query("XT"+*i);
+					first = false;
+				}
 				else
 					fquery = Xapian::Query(Xapian::Query::OP_AND, fquery, Xapian::Query("XT"+*i));
 			}
-			engine.setGlobalFilter(fquery);
+			engine.globalFilter = fquery;
 		}
 
 		/*

Added: software/ui/src/gosafe
===================================================================
--- software/ui/src/gosafe	                        (rev 0)
+++ software/ui/src/gosafe	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/gosafe
___________________________________________________________________
Name: svn:special
   + *

Added: software/ui/src/goweb
===================================================================
--- software/ui/src/goweb	                        (rev 0)
+++ software/ui/src/goweb	2008-02-18 00:37:27 UTC (rev 5812)
@@ -0,0 +1 @@
+link goplay
\ No newline at end of file


Property changes on: software/ui/src/goweb
___________________________________________________________________
Name: svn:special
   + *




More information about the Pkg-games-commits mailing list