X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/3a113e91bcbc8e34d9ef66915ccec80e6187332b..73cc0c58e7d9cd821216be6ea47159dece5398d3:/services/proxy/handler.py diff --git a/services/proxy/handler.py b/services/proxy/handler.py index 7a52724..8653c2d 100644 --- a/services/proxy/handler.py +++ b/services/proxy/handler.py @@ -3,53 +3,14 @@ from os import path import logging ; log = logging.getLogger('pymin.services.proxy') -from pymin.seqtools import Sequence -from pymin.dispatcher import Handler, handler, HandlerError from pymin.service.util import Restorable, ConfigWriter, InitdHandler, \ - TransactionalHandler, ParametersHandler, \ - DictSubHandler + TransactionalHandler, ParametersHandler -import crypt +from host import HostHandler +from user import UserHandler +__all__ = ('ProxyHandler',) -__all__ = ('ProxyHandler', 'get_service') - - -def get_service(config): - return ProxyHandler(config.proxy.pickle_dir, config.proxy.config_dir) - - -class Host(Sequence): - def __init__(self,ip): - self.ip = ip - def as_tuple(self): - return (self.ip,) - -# TODO convert to a SetSubHandler - -class HostHandler(DictSubHandler): - - handler_help = u"Manage proxy hosts" - - _cont_subhandler_attr = 'hosts' - _cont_subhandler_class = Host - -class User(Sequence): - def __init__(self, name, password): - self.name = name - self.password = crypt.crypt(password,'BA') - def as_tuple(self): - return (self.name, self.password) - def update(self, password=None): - if password is not None: - self.password = crypt.crypt(password,'BA') - -class UserHandler(DictSubHandler): - - handler_help = u"Manage proxy users" - - _cont_subhandler_attr = 'users' - _cont_subhandler_class = User class ProxyHandler(Restorable, ConfigWriter, InitdHandler, TransactionalHandler, ParametersHandler):