grotor / pyvk-t

Automatically exported from code.google.com/p/pyvk-t
0 stars 0 forks source link

Ошибки в использовании парсера аргументов и чтении конфига. #73

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Предоставляю исправленные варианты. 
Дальше смотрите сами.

main.py @ 17: if opt.config:
conf.read(opt.config)
else:
conf.read(confName)

main.py @ 28: if opt.autologin:

main.py @ 30: if opt.admin_only:

Также есть ошибка в config.read:

config.py @ 32: def read(configName):

config.py @ 34: cp.read(configName)

Original issue reported on code.google.com by mro...@gmail.com on 26 Oct 2009 at 10:14

GoogleCodeExporter commented 8 years ago
Поправочка:

main.py @ 17: if len(opt.config) > 0:
conf.read(opt.config)

Так же у аргумента admin-only поставить default=False

Original comment by mro...@gmail.com on 26 Oct 2009 at 10:21

GoogleCodeExporter commented 8 years ago
Index: comstream.py                                                             

===================================================================             

--- comstream.py        (revision 169)                                          

+++ comstream.py        (working copy)                                          

@@ -51,7 +51,7 @@                                                               

         self.secret=secret                                                         

         sock=socket.create_connection((host,port))                                 

         #FIXME connecting                                                          

-        sock.send("<stream:stream xmlns='jabber:component:accept'
xmlns:stream='http://etherx.jabber.org/streams' to='%s'>"%host)   
+        sock.send("<stream:stream xmlns='jabber:component:accept'
xmlns:stream='http://etherx.jabber.org/streams' to='%s'>"%self.jid)             

         sock.recv(len("<?xml version='1.0'?>"))                                    

         fil=sock.makefile(bufsize=1)                                               

         rep= sock.recv(1000)                                                       

Index: pyvkt.py                                                                 

===================================================================             

--- pyvkt.py    (revision 169)                                                  

+++ pyvkt.py    (working copy)                                                  

@@ -155,11 +155,11 @@                                                           

         self.unregisteredList=[]                                                   

         signal.signal(signal.SIGUSR1,self.signalHandler)                           

     def handlePacket(self,st):                                                     

-        if (st.tag=="message"):                                                

+        if (st.tag=="{jabber:client}message"):                                 

             self.onMsg(st)                                                         

-        if (st.tag=="iq"):                                                     

+        if (st.tag=="{jabber:client}iq"):                                      

             self.onIq(st)                                                          

-        if (st.tag=="presence"):                                               

+        if (st.tag=="{jabber:client}presence"):                                

             self.onPresence(st)                                                    

     def onMsg(self,msg):                                                           

         src=msg.get("from")                                                        

Index: main.py                                                                  

===================================================================             

--- main.py     (revision 171)                                                  

+++ main.py     (working copy)                                                  

@@ -4,17 +4,20 @@                                                               

 import pyvkt.component                                                             

 import pyvkt.config as conf                                                        

 import optparse                                                                    

-confName="pyvkt.cfg"                                                           

+#confName="/usr/local/etc/jabber-pyvk.conf"                                    

+confName = ""                                                                  

 if(os.environ.has_key("PYVKT_CONFIG")):                                            

     confName=os.environ["PYVKT_CONFIG"]                                            

-op=optparse.OptionParser()                                                     

-op.add_option('-c','--config',default=confName,help='configuration file name') 

-op.add_option('-a','--admin-only',action='store_false', default=True, 
help='only
admin can use transport when this flag is enabled')
-op.add_option('-l','--autologin', action='store_true', default=False)          

+op = optparse.OptionParser()                                                   

+op.add_option('-c', '--config', default=confName, help='configuration file 
name')  

+op.add_option('-a', '--admin-only', action='store_false', default=False, 
help='only
admin can use transport when this flag is enabled')                             

+op.add_option('-l', '--autologin', action='store_true', default=False)         

-opt,args=op.parse_args()                                                       

-conf.read(opt['config'])                                                       

+(opt, args) = op.parse_args()                                                  

+if len(opt.config) > 0:                                                        

+    conf.read(opt.config)                                                      

+
 lvl=logging.WARNING
 if ("--debug" in sys.argv):
     lvl=logging.DEBUG
@@ -25,9 +28,9 @@
 s=pyvkt.component.pyvk_t(conf.get("general","jid"))
 s.connect(conf.get("general","server"),conf.get("general","port"),conf.get("general","secret"))
 logging.warn("connected")
-if (opt['autologin']):
+if opt.autologin:
     s.addResource(conf.get("general","admin"))
-if (opt['admin_only']):
+if opt.admin_only:
     print "isActive=0"
     s.isActive=0
 s.startPoll()
Index: pyvkt/config.py
===================================================================
--- pyvkt/config.py     (revision 171)
+++ pyvkt/config.py     (working copy)
@@ -29,9 +29,9 @@
     }
 conf={}
 cp=None
-def read(self):
+def read(configName):
     cp=ConfigParser.ConfigParser()
-    cp.read("pyvkt.cfg")
+    cp.read(configName)
     for s in fields.keys():
         conf[s]={}
         for o in fields[s].keys():

Original comment by mro...@gmail.com on 26 Oct 2009 at 10:24

GoogleCodeExporter commented 8 years ago
Вот, кстати, и выявлена ошибка почему у меня 
не читался конфиг, если я его указывал
через PYVKT_CONFIG

Original comment by mro...@gmail.com on 26 Oct 2009 at 10:26

GoogleCodeExporter commented 8 years ago
упс, накосячил
fixed

Original comment by Equidamoid on 30 Oct 2009 at 10:08