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)) |
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) |