def test_reader(self): config = Config(self.file_one) # values conversion self.assertEquals(config.get('one', 'foo'), 'bar') self.assertEquals(config.get('one', 'num'), -12) self.assertEquals(config.get('one', 'st'), 'o=k') self.assertEquals(config.get('one', 'lines'), [1, 'two', 3]) self.assertEquals(config.get('one', 'env'), 'some stuff') # getting a map map = config.get_map() self.assertEquals(map['one.foo'], 'bar') map = config.get_map('one') self.assertEquals(map['foo'], 'bar') del os.environ['__STUFF__'] self.assertRaises(EnvironmentNotFoundError, config.get, 'one', 'env') # extends self.assertEquals(config.get('three', 'more'), 'stuff') self.assertEquals(config.get('one', 'two'), 'a')
def convert_config(config): """Loads the configuration. If a "configuration" option is found, reads it using config.Config. Each section/option is then converted to "section.option" in the resulting mapping. """ res = {} for key, value in config.items(): if not isinstance(value, basestring) or not value.startswith('file:'): res[key] = convert(value) continue # we load the configuration and inject it in the mapping filename = value[len('file:'):] if not os.path.exists(filename): raise ValueError('The configuration file was not found. "%s"' % \ filename) conf = Config(filename) res.update(conf.get_map()) return res
self.delivery_channel.basic_publish( exchange=self.incoming_exchange_name, routing_key=token, body=message ) print "Notification routed to user exchange" except Exception as ex: # TODO: Either put the message back in the incoming queue, or send # a NACK to the broker if we're going to do ACK/NACK crap raise ex if __name__ == '__main__': # Load configuration settings config = Config(os.getcwd() + '/etc/notifs.conf') config_map = config.get_map() print "Starting routing server..." router = RouterServer(config_map) print "Routing server started." try: router.start() except KeyboardInterrupt: router.shutdown() print "Routing server shut down."