# vim: set encoding=utf-8 et sw=4 sts=4 :
+import os
+import subprocess
from os import path
+from signal import SIGTERM
from pymin.seqtools import Sequence
from pymin.dispatcher import Handler, handler, HandlerError
for name in names:
if name in self.conns:
if not self.conns[name]._running:
- call(('pon', name))
+ call(('pppd', 'call', name))
self.conns[name]._running = True
self._dump_attr('conns')
else:
for name in names:
if name in self.conns:
if self.conns[name]._running:
- call(('poff', name))
+ if path.exists('/var/run/ppp-' + name + '.pid'):
+ pid = file('/var/run/ppp-' + name + '.pid').readline()
+ try:
+ os.kill(int(pid.strip()), SIGTERM)
+ except OSError:
+ pass # XXX report error?
self.conns[name]._running = False
self._dump_attr('conns')
else:
else:
raise ConnectionNotFoundError(name)
+ def handle_timer(self):
+ for c in self.conns.values():
+ p = subprocess.Popen(('pgrep', '-f', 'pppd call ' + c.name),
+ stdout=subprocess.PIPE)
+ pid = p.communicate()[0]
+ if p.wait() == 0 and len(pid) > 0:
+ c._running = True
+ else:
+ c._running = False
+
def _write_config(self):
r"_write_config() -> None :: Generate all the configuration files."
#guardo los pass que van el pap-secrets
if __name__ == '__main__':
+
p = PppHandler()
p.conn.add('ppp_c','nico','nico',type='PPP',device='tty0')
p.conn.add('pppoe_c','fede','fede',type='OE',device='tty1')
p.commit()
print p.conn.list()
print p.conn.show()
+