[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#465369: GoLearn



On Tue, Feb 12, 2008 at 03:12:56PM +0100, Miriam Ruiz wrote:
I saw that you're thinking about forking GoPlay!... wouldn't you think it would be best to join our efforts in a more flexible program that could handle both sets of packages, and probably be extensible to others? I'm open for extra help and ideas :)

I am, an that was my first thought too digging into this. But...

I am a scripter and a packager, not a real true coder. So I fear that I would be of little help in actually coding stuff - unless you'd be willing to shift from C++ to Perl as "programming" language :-)

I'd be more than happy to team up with you guys. I am a big fan of several works of you, Enrico, so would also be proud to work closer with you. (Sorry, I don't really know you et, Miriam, but Kurt Gramlich (of skolelinux.de fame) that I am currently visiting talks warmly about you!). But really I expect only to be of real assistance in the packaging part.

But please convince me differently :-D


If you grok Git, then my packaging work is available here: http://git.debian.org/?p=collab-maint/golearn.git;a=summary

Attached to this email is also a patch of the core changes from GoPlay! to GoLearn!.


Thanks for the excellent work with GoPlay! and the backend tools!

 - Jonas

--
Jonas Smedegaard   <jonas@jones.dk>   http://www.jones.dk/~jonas/
IT-guide dr. Jones    <dr@jones.dk>   http://dr.jones.dk/    +45 40843136
Debian GNU/Linux    <js@debian.org>   http://www.debian.org/
GnuPG(1024D/C02440B8): 9A98 C6EB C098 9ED0 3085  ECA9 9FB0 DB32 C024 40B8
--- golearn-0.2.orig/src/Engine.cpp
+++ golearn-0.2/src/Engine.cpp
@@ -53,12 +53,13 @@
 
 static Xapian::Query allGames(Vocabulary& voc)
 {
-	set<Tag> games = voc.tags("game");
-	vector<string> terms;
-	for (set<Tag>::const_iterator i = games.begin();
-			i != games.end(); ++i)
-		terms.push_back("XT" + i->fullname());
-	return Xapian::Query(Xapian::Query::OP_OR, terms.begin(), terms.end());
+//	set<Tag> games = voc.tags("game");
+//	vector<string> terms;
+//	for (set<Tag>::const_iterator i = games.begin();
+//			i != games.end(); ++i)
+//		terms.push_back("XT" + i->fullname());
+//	return Xapian::Query(Xapian::Query::OP_OR, terms.begin(), terms.end());
+	return Xapian::Query("XTuse::learning");
 }
 
 Xapian::Query Engine::makeQuery()
@@ -106,9 +107,11 @@
 				query = Xapian::Query(Xapian::Query::OP_AND, kwquery,
 							Xapian::Query(Xapian::Query::OP_AND, typequery, ifacequery));
 
-	// We always want programs, so always AND it here
+	// We always want educational programs, so always AND it here
 	return Xapian::Query(Xapian::Query::OP_AND,
-						Xapian::Query("XTrole::program"),
+						Xapian::Query(Xapian::Query::OP_AND,
+										Xapian::Query("XTuse::learning"),
+										Xapian::Query("XTrole::program")),
 						query);
 }
 
@@ -146,7 +149,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() == "field")
 						m_types.insert(*j);
 			}
 		}
@@ -226,7 +229,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() == "field")
 						m_types.insert(*j);
 					else if (!m_filter_iface.valid() && j->facet().name() == "interface")
 						m_interfaces.insert(*j);
--- golearn-0.2.orig/src/GamesOptions.h
+++ golearn-0.2/src/GamesOptions.h
@@ -33,13 +33,13 @@
 	BoolOption* out_verbose;
 
 	GamesOptions() 
-		: StandardParserWithManpage("goplay", VERSION, 1, "Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>")
+		: StandardParserWithManpage("golearn", VERSION, 1, "Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>")
 	{
 		usage = "[options and arguments]";
-		description = "Debian game browser";
+		description = "Debian educational browser";
 		longDescription =
-			"GoPlay! is a Graphical User Interface (GUI) that uses DebTags"
-			" for finding games in Debian easily.\n";
+			"GoLearn! is a Graphical User Interface (GUI) that uses DebTags"
+			" for finding educational programs in Debian easily.\n";
 
 		out_verbose = add<BoolOption>("verbose", 'v', "verbose", "",
 						"enable verbose output");
--- golearn-0.2.orig/data/html/about.en.html
+++ golearn-0.2/data/html/about.en.html
@@ -1,4 +1,4 @@
-<center><h1>GoPlay!</h1></center><br />
+<center><h1>GoLearn!</h1></center><br />
 <br />&nbsp;<br />
 Copyright (C) 2007  <a href="mailto:little_miry@yahoo.es";>Miriam Ruiz</a><br />
 Copyright (C) 2007  <a href="mailto:enrico@debian.org";>Enrico Zini</a><br />
--- golearn-0.2.orig/src/common.h
+++ golearn-0.2/src/common.h
@@ -30,7 +30,7 @@
 #endif
 
 #ifndef DATADIR
-#define DATADIR "/usr/share/goplay"
+#define DATADIR "/usr/share/golearn"
 #endif
 
 #ifndef HTMLDIR
--- golearn-0.2.orig/goplay.1
+++ golearn-0.2/goplay.1
@@ -1,10 +1,10 @@
-.TH GOPLAY 1 "December 09, 2007" "0.2"
+.TH GOLEARN 1 "December 09, 2007" "0.2"
 .SH NAME
-goplay \- Debian game browser
+golearn \- Debian educational browser
 .SH SYNOPSIS
-\fBgoplay\fP [options] [options and arguments]
+\fBgolearn\fP [options] [options and arguments]
 .SH DESCRIPTION
-GoPlay! is a Graphical User Interface (GUI) that uses DebTags for finding games in Debian easily.
+GoLearn! is a Graphical User Interface (GUI) that uses DebTags for finding educational software in Debian easily.
 .br
 
 .SH OPTIONS
@@ -20,7 +20,7 @@
 print the program version and exit.
 .TP
 .B \-\-manpage=\fI[hooks]\fP
-output the goplay manpage and exit.
+output the golearn manpage and exit.
 .PP
 
 Other options:
@@ -31,6 +31,6 @@
 .B \-\-debug
 enable debugging output (including verbose output).
 .SH AUTHOR
-\fBgoplay\fP is maintained by Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>.
+\fBgolearn\fP is maintained by Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>.
 
-This manpage has been automatically generated by the goplay program.
+This manpage has been automatically generated by the golearn program.
--- golearn-0.2.orig/src/goplay.cpp
+++ golearn-0.2/src/goplay.cpp
@@ -161,7 +161,7 @@
 	const char* oldType = ReadFlChoice(*ui.TypeSelection);
 	const char* oldIface = ReadFlChoice(*ui.InterfaceSelection);
 	ui.TypeSelection->clear();
-	ui.TypeSelection->add(_("Any type"), 0, NULL, VoidString, FL_NORMAL_LABEL);
+	ui.TypeSelection->add(_("Any field"), 0, NULL, VoidString, FL_NORMAL_LABEL);
 	ui.InterfaceSelection->clear();
 	ui.InterfaceSelection->add(_("Any interface"), 0, NULL, VoidString, FL_NORMAL_LABEL);
 
--- golearn-0.2.orig/src/manpage.cpp
+++ golearn-0.2/src/manpage.cpp
@@ -37,7 +37,7 @@
 		if (cmd == "goplay")
 		{
 			wibble::commandline::GamesOptions opts;
-			wibble::commandline::Manpage help("goplay", VERSION, 1, "Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>");
+			wibble::commandline::Manpage help("golearn", VERSION, 1, "Enrico Zini <enrico@enricozini.org> and Miriam Ruiz <little_miry@yahoo.es>");
 			if (!hooks.empty())
 				help.readHooks(hooks);
 			help.output(cout, opts);
@@ -49,7 +49,7 @@
 	} catch (wibble::exception::BadOption& e) {
 		cerr << e.desc() << endl << endl;
 		cerr << "Usage: manpage <command>" << endl << endl;
-		cerr << "Supported commands are: goplay" << endl;
+		cerr << "Supported commands are: golearn" << endl;
 		return 1;
 	} catch (std::exception& e) {
 		cerr << e.what() << endl;
--- golearn-0.2.orig/src/ui.cpp
+++ golearn-0.2/src/ui.cpp
@@ -4,7 +4,7 @@
 #include "ui.h"
 
 Fl_Menu_Item GamesUI::menu_TypeSelection[] = {
- {_("Any type"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
+ {_("Any field"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
  {0,0,0,0,0,0,0,0,0}
 };
 
@@ -1631,7 +1631,7 @@
     o->when(FL_WHEN_RELEASE);
     { Fl_Group* o = InputGroup = new Fl_Group(5, 16, 375, 118);
       o->box(FL_UP_FRAME);
-      { Fl_Choice* o = TypeSelection = new Fl_Choice(70, 60, 120, 25, _("Type"));
+      { Fl_Choice* o = TypeSelection = new Fl_Choice(70, 60, 120, 25, _("Field"));
         o->down_box(FL_BORDER_BOX);
         o->labelsize(12);
         o->when(FL_WHEN_CHANGED);

Attachment: signature.asc
Description: Digital signature


Reply to: