Show
Ignore:
Timestamp:
02/10/03 01:42:17 (21 years ago)
Author:
jalet
Message:

External requester should be ok (untested)
New syntax for configuration file wrt requesters

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/config.py

    r773 r780  
    1515# 
    1616# $Log$ 
     17# Revision 1.8  2003/02/10 00:42:17  jalet 
     18# External requester should be ok (untested) 
     19# New syntax for configuration file wrt requesters 
     20# 
    1721# Revision 1.7  2003/02/09 13:05:43  jalet 
    1822# Internationalization continues... 
     
    9599                raise PyKotaConfigError, _("Option policy in section %s only supports values in %s") % (printer, str(validpolicies)) 
    96100             
    97             validrequesters = [ "snmp" ] # TODO : add more requesters 
    98             requester = self.config.get(printer, "requester").lower() 
    99             if requester not in validrequesters : 
    100                 raise PyKotaConfigError, _("Option requester in section %s only supports values in %s") % (printer, str(validrequesters)) 
    101             if requester == "snmp" : 
    102                 for poption in [ "snmpcmnty", "snmpoid" ] :  
    103                     if not self.config.has_option(printer, poption) : 
    104                         raise PyKotaConfigError, _("Option %s not found in section %s of %s") % (option, printer, self.filename) 
     101            validrequesters = [ "snmp", "external" ] # TODO : add more requesters 
     102            fullrequester = self.config.get(printer, "requester") 
     103            try : 
     104                (requester, args) = [x.strip() for x in fullrequester.split('('))] 
     105            except ValueError :     
     106                raise PyKotaConfigError, _("Invalid requester for printer %s") % printer 
     107            else : 
     108                if requester not in validrequesters : 
     109                    raise PyKotaConfigError, _("Option requester for printer %s only supports values in %s") % (printer, str(validrequesters)) 
    105110                         
    106111    def getPrinterNames(self) :     
     
    128133         
    129134    def getRequesterBackend(self, printer) :     
    130         """Returns the requester backend to use for a given printer.""" 
    131         return self.config.get(printer, "requester").lower() 
     135        """Returns the requester backend to use for a given printer, with its arguments.""" 
     136        fullrequester = self.config.get(printer, "requester") 
     137        (requester, args) = [x.strip() for x in fullrequester.split('('))] 
     138        if args.endswith(')') : 
     139            args = args[:-1] 
     140        args = [x.strip() for x in args.split(',')] 
     141        if not args : 
     142            raise PyKotaConfigError, _("Invalid requester for printer %s") % printer 
     143        return (requester, args) 
    132144         
    133145    def getPrinterPolicy(self, printer) :