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: [EMAIL PROTECTED]
properties: 
        branch-nick: goplay

   + timestamp: 2008-02-12 21:38:40.628000021 +0000
committer: [EMAIL PROTECTED]
properties: 
        branch-nick: goplay

Name: bzr:revision-id:v3-single-software/ui
   - 108 [EMAIL PROTECTED]
109 [EMAIL PROTECTED]
110 [EMAIL PROTECTED]
111 [EMAIL PROTECTED]
112 [EMAIL PROTECTED]
113 [EMAIL PROTECTED]
114 [EMAIL PROTECTED]
115 [EMAIL PROTECTED]
116 [EMAIL PROTECTED]
117 [EMAIL PROTECTED]
118 [EMAIL PROTECTED]
119 [EMAIL PROTECTED]
120 [EMAIL PROTECTED]
121 [EMAIL PROTECTED]
122 [EMAIL PROTECTED]

   + 108 [EMAIL PROTECTED]
109 [EMAIL PROTECTED]
110 [EMAIL PROTECTED]
111 [EMAIL PROTECTED]
112 [EMAIL PROTECTED]
113 [EMAIL PROTECTED]
114 [EMAIL PROTECTED]
115 [EMAIL PROTECTED]
116 [EMAIL PROTECTED]
117 [EMAIL PROTECTED]
118 [EMAIL PROTECTED]
119 [EMAIL PROTECTED]
120 [EMAIL PROTECTED]
121 [EMAIL PROTECTED]
122 [EMAIL PROTECTED]
125 [EMAIL PROTECTED]


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 
<[EMAIL PROTECTED]> and Miriam Ruiz <[EMAIL PROTECTED]>")
@@ -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;


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

Reply via email to