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