[Debtags-commits] [svn] r1929 - in daemon: . src

Enrico Zini enrico at costa.debian.org
Mon Sep 18 19:39:40 UTC 2006


Author: enrico
Date: Mon Sep 18 19:39:39 2006
New Revision: 1929

Modified:
   daemon/   (props changed)
   daemon/src/Debtagsd.py
   daemon/src/debtagsd.cpp
Log:
 r3374 at viaza:  enrico | 2006-09-18 21:39:04 +0200
 Also report tag cardinalities.
 Log start and termination.


Modified: daemon/src/Debtagsd.py
==============================================================================
--- daemon/src/Debtagsd.py	(original)
+++ daemon/src/Debtagsd.py	Mon Sep 18 19:39:39 2006
@@ -31,7 +31,9 @@
 		self.sock = None;
 
 	def resulttag(self):
-		return self.resultraw()
+		for r in self.resultraw():
+			tag, card = r.split(" ")
+			yield tag, int(card)
 
 	def resultpkgs(self):
 		for r in self.resultraw():

Modified: daemon/src/debtagsd.cpp
==============================================================================
--- daemon/src/debtagsd.cpp	(original)
+++ daemon/src/debtagsd.cpp	Mon Sep 18 19:39:39 2006
@@ -16,6 +16,7 @@
 #include <tagcoll/TextFormat.h>
 
 #include <iostream>
+#include <sstream>
 #include <set>
 
 // Just to catch the exception
@@ -254,6 +255,14 @@
 		conn.write("\n");
 	}
 
+	void outputTag(const std::string& tag, Connection& conn)
+	{
+		using namespace std;
+		stringstream str;
+		str << tag << " " << coll.getCardinality(tag) << "\n";
+		conn.write(str.str());
+	}
+
 	/// Interact with one client
 	void handleConnection(Connection& conn)
 	{
@@ -290,7 +299,7 @@
 				std::set<std::string> tags = coll.getTagsOfItem(line);
 				for (set<string>::const_iterator i = tags.begin();
 						i != tags.end(); ++i)
-					conn.write(*i + "\n");
+					outputTag(*i, conn);
 			}
 			else if (cmd == "STAGS")
 			{
@@ -305,7 +314,7 @@
 					subcoll.insert(wibble::singleton(*i), coll.getTagsOfItem(*i));
 				vector<string> tags = subcoll.tagsInRelevanceOrder(coll);
 				for (vector<string>::const_reverse_iterator i = tags.rbegin(); i != tags.rend(); ++i)
-					conn.write(*i + "\n");
+					outputTag(*i, conn);
 			}
 			else
 				conn.write("Command not recognized: " + cmd + "\n");
@@ -360,6 +369,7 @@
 
 			uid_t uid;
 			gid_t gid;
+			cfg.log() << "Started." << endl;
 			while (!interrupted)
 			{
 				Connection conn(lsock.accept());
@@ -380,6 +390,7 @@
 			cfg.log() << e.what() << endl;
 			exitStatus = 1;
 		}
+		cfg.log() << "Terminated." << endl;
 		return exitStatus;
 	}
 };



More information about the Debtags-commits mailing list