def parseSetting(self, key, value): """ Parse a single setting for this object. Settings are written in text files in a key=value fashion. For each such setting that belongs to this object this method will be called. After all settings have been given, the method checkSettings will be called. If a setting does not parse correctly, this method raises an Exception with a descriptive message. Subclassers should first parse their own settings and then call this implementation to have the generic settings parsed and to have any unknown settings raise an Exception. @param key The name of the parameter, i.e. the key from the key=value pair. @param value The value of the parameter, i.e. the value from the key=value pair. """ if key == 'hostname': if self.hostname: parseError( "The hostname was already set: {0}".format( self.hostname ) ) if containsSpace( value ): parseError( "A hostname must not contain spaces" ) self.hostname = value elif key == 'port': if self.port: parseError( "The port was already set: {0}".format( self.port ) ) if not isPositiveInt( value, True ): parseError( "The port must be a positive, non-zero integer" ) self.port = value elif key == 'user': if self.user: parseError( "The user was already set: {0}".format( self.user ) ) self.user = value else: host.parseSetting(self, key, value)
def parseSetting(self, key, value): """ Parse a single setting for this object. Settings are written in text files in a key=value fashion. For each such setting that belongs to this object this method will be called. After all settings have been given, the method checkSettings will be called. If a setting does not parse correctly, this method raises an Exception with a descriptive message. Subclassers should first parse their own settings and then call this implementation to have the generic settings parsed and to have any unknown settings raise an Exception. @param key The name of the parameter, i.e. the key from the key=value pair. @param value The value of the parameter, i.e. the value from the key=value pair. """ # TODO: Parse your settings. Example: # # if key == 'hostname': # if self.hostname: # parseError( 'Bollocks! You already gave me a hostname' ) # self.hostname = value # elif key == 'username': # if self.username: # parseError( 'Need a shrink?' ) # self.username = value # else: # host.parseSetting(key, value) # # Be sure not to forget that last case! # # The following implementation assumes you have no parameters specific to your host type: host.parseSetting(self, key, value)
def parseSetting(self, key, value): """ Parse a single setting for this object. Settings are written in text files in a key=value fashion. For each such setting that belongs to this object this method will be called. After all settings have been given, the method checkSettings will be called. If a setting does not parse correctly, this method raises an Exception with a descriptive message. Subclassers should first parse their own settings and then call this implementation to have the generic settings parsed and to have any unknown settings raise an Exception. @param key The name of the parameter, i.e. the key from the key=value pair. @param value The value of the parameter, i.e. the value from the key=value pair. """ host.parseSetting(self, key, value)