]> git.llucax.com Git - software/pymin.git/blobdiff - pymin/services/ppp/__init__.py
Cambios ppp.
[software/pymin.git] / pymin / services / ppp / __init__.py
index 0445df1c8146ad7f42a8b725b100d16d0df7b3f8..868b6d59330729a946309128ef91e85f99c9a31a 100644 (file)
@@ -9,7 +9,7 @@ from pymin.services.util import Restorable, ConfigWriter \
 
 __ALL__ = ('PppHandler',)
 
-class ConnectionError(Error, KeyError):
+class ConnectionError(HandlerError, KeyError):
     r"""
     ConnectionError(hostname) -> ConnectionError instance
 
@@ -67,8 +67,8 @@ class ConnectionHandler(DictSubHandler):
 
     handler_help = u"Manages connections for the ppp service"
 
-    _dict_subhandler_attr = 'conns'
-    _dict_subhandler_class = Connection
+    _cont_subhandler_attr = 'conns'
+    _cont_subhandler_class = Connection
 
 class PppHandler(Restorable, ConfigWriter, TransactionalHandler):
 
@@ -94,16 +94,18 @@ class PppHandler(Restorable, ConfigWriter, TransactionalHandler):
     @handler('Starts the service')
     def start(self, name):
         if name in self.conns:
-            #call(('pon', name))
-            print ('pon', name)
+            call(['pppd','call', name],stdout=None, stderr=None)
+            #print ('pon', name)
         else:
             raise ConnectionNotFoundError(name)
 
     @handler('Stops the service')
     def stop(self, name):
         if name in self.conns:
-            #call(('poff', name))
-            print ('poff', name)
+            if path.exists('/var/run/ppp-' + name + '.pid'):
+                pid = file('/var/run/ppp-' + name + '.pid').readline().strip()
+                call(['kill',pid],stdout=None, stderr=None)
+            #print ('poff', name)
         else:
             raise ConnectionNotFoundError(name)
 
@@ -143,4 +145,4 @@ if __name__ == '__main__':
     p.conn.add('ppptunnel_c','dominio\luca','luca',type='TUNNEL',server='192.168.0.23')
     p.commit()
     print p.conn.list()
-    print p.conn.show()
\ No newline at end of file
+    print p.conn.show()