Setting tag plcapi-5.2-5
[plcapi.git] / omf / omf_slicemgr.py
old mode 100644 (file)
new mode 100755 (executable)
index 917c325..24e5aee
@@ -3,6 +3,7 @@
 
 import os
 import sys
+import time
 import Queue
 from twisted.words.xish import domish
 from twisted.web import xmlrpc, server
@@ -69,7 +70,7 @@ class BaseClient(object):
         # add protocol handlers
         xs.addObserver("/presence[@type='subscribe']", self.presence_subscribe)
         xs.addObserver("/presence[@type='unsubscribe']", self.presence_unsubscribe)
-        xs.addObserver("/precence", self.presence)
+        xs.addObserver("/presence", self.presence)
         xs.addObserver("/message[@type='chat']", self.message_chat)
 
     def presence_subscribe(self, m):
@@ -90,8 +91,9 @@ class BaseClient(object):
     def presence(self, m):
         p = domish.Element(("jabber:client", "presence"))
         p['from'], p['to'] = m['to'], m['from']
-        presence.addElement("show", content="dnd")
-        presence.addElement("status", content="man at work")
+        # initially read presence.addElement, my wild guess.. -- Thierry
+        p.addElement("show", content="dnd")
+        p.addElement("status", content="man at work")
         self.xmlstream.send(p)
 
     def message_chat(self, m):
@@ -129,7 +131,7 @@ class PubSubClient(BaseClient):
     def __iq(self, t="get"):
         iq = domish.Element((None, "iq"))
         iq['from'] = self.id.full()
-        iq['to'] = "pubsub.vplc27.inria.fr"
+        iq['to'] = "pubsub.%s" % self.id.host
         iq['type'] = t
         iq.addUniqueId()
         return iq
@@ -336,7 +338,8 @@ class Slicemgr(xmlrpc.XMLRPC, PubSubClient):
         self.command_queue.put(( self.create_node, "/".join([self.DOMAIN,slice,self.RESOURCES]) ))
 
     def add_resource(self, slice, resource):
-        self.command_queue.put(( self.create_node, "/".join([self.DOMAIN,slice,self.RESOURCES,resource]) ))
+        resname = "/".join([self.DOMAIN,slice,self.RESOURCES,resource])
+        self.command_queue.put(( self.create_node, resname ))
 
     def delete_slice(self, slice):
         slice_prefix = "/".join([self.DOMAIN,slice])
@@ -345,7 +348,7 @@ class Slicemgr(xmlrpc.XMLRPC, PubSubClient):
             for i in iq.query.elements():
                 node = i['node']
                 if node.startswith(resource_prefix):
-                    self.command_que.put(self.delete_node, node)
+                    self.command_queue.put((self.delete_node, node))
 
         self.add_result_hook("discover", delete_slice_resources)
         self.discover()
@@ -365,9 +368,11 @@ if __name__ == "__main__":
     xmppserver = config.PLC_OMF_XMPP_SERVER
     xmppuser = "@".join([config.PLC_OMF_XMPP_USER, xmppserver])
     xmpppass = config.PLC_OMF_XMPP_PASSWORD
+    monthstring=time.strftime("%Y-%m")
     slicemgr = Slicemgr(xmppuser, xmpppass,
-                        log=open("/var/log/omf/pubsub_client.log", "a"),
-                        verbose=True)
+                        log=open("/var/log/omf/pubsub-client-%s.log"%monthstring, "a"),
+                        # used to be verbose=True but that amounts to huge totally helpless logs, so..
+                        verbose=False)
 
     t = task.LoopingCall(slicemgr.flush_commands)
     t.start(5.0) # check every 5 seconds