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
   + *


_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-games-commits

Reply via email to