예제 #1
0
    def addAdditionalOptions(self):
        """
		Add additional options to the optFlags and optParams lists.
		These will be defined by 'opt_foo' methods of the Options subclass
		@return: C{None}
		"""
        methodsDict = {}
        reflect.accumulateMethods(self.options, methodsDict, 'opt_')
        methodToShort = {}
        for name in methodsDict.copy():
            if len(name) == 1:
                methodToShort[methodsDict[name]] = name
                del methodsDict[name]

        for methodName, methodObj in methodsDict.items():
            long = methodName.replace('_', '-')  # t.p.usage does this
            # if this option is already defined by the optFlags or
            # optParameters then we don't want to override that data
            if long in self.optAll_d:
                continue

            descr = self.getDescription(long)

            short = None
            if methodObj in methodToShort:
                short = methodToShort[methodObj]

            reqArgs = methodObj.im_func.func_code.co_argcount
            if reqArgs == 2:
                self.optParams.append([long, short, None, descr])
                self.optParams_d[long] = [short, None, descr]
                self.optAll_d[long] = [short, None, descr]
            elif reqArgs == 1:
                self.optFlags.append([long, short, descr])
                self.optFlags_d[long] = [short, descr]
                self.optAll_d[long] = [short, None, descr]
            else:
                raise TypeError, '%r has wrong number ' \
                     'of arguments' % (methodObj,)
예제 #2
0
    def addAdditionalOptions(self):
        """
		Add additional options to the optFlags and optParams lists.
		These will be defined by 'opt_foo' methods of the Options subclass
		@return: C{None}
		"""
        methodsDict = {}
        reflect.accumulateMethods(self.options, methodsDict, "opt_")
        methodToShort = {}
        for name in methodsDict.copy():
            if len(name) == 1:
                methodToShort[methodsDict[name]] = name
                del methodsDict[name]

        for methodName, methodObj in methodsDict.items():
            long = methodName.replace("_", "-")  # t.p.usage does this
            # if this option is already defined by the optFlags or
            # optParameters then we don't want to override that data
            if long in self.optAll_d:
                continue

            descr = self.getDescription(long)

            short = None
            if methodObj in methodToShort:
                short = methodToShort[methodObj]

            reqArgs = methodObj.im_func.func_code.co_argcount
            if reqArgs == 2:
                self.optParams.append([long, short, None, descr])
                self.optParams_d[long] = [short, None, descr]
                self.optAll_d[long] = [short, None, descr]
            elif reqArgs == 1:
                self.optFlags.append([long, short, descr])
                self.optFlags_d[long] = [short, descr]
                self.optAll_d[long] = [short, None, descr]
            else:
                raise TypeError, "%r has wrong number " "of arguments" % (methodObj,)
예제 #3
0
	def autoRegister(self, obj):
		from lib.twisted.python import reflect
		d = {}
		reflect.accumulateMethods(obj, d, self.prefix)
		for k,v in d.items():
			self.registerHandler(k, v)
예제 #4
0
 def autoRegister(self, obj):
     from lib.twisted.python import reflect
     d = {}
     reflect.accumulateMethods(obj, d, self.prefix)
     for k, v in d.items():
         self.registerHandler(k, v)