Esempio n. 1
0
def config_page():
    """
    Display general configuration.
    Display specific static weblog engine configuration.
    Allow to change values.
    """
    check_config()
    message = ''
    message_type = 'none'
    config = hymby.params
    engine_config = hymby.engine.get_config(hymby)
    if request.POST.get('save', '').strip():
        r = request.POST
        config_filename = hymby.params['filename']
        # Write changes using an ugly method: Get current config, and update it with form values. Then write all in the config.
        conf = ConfigDict().load_config(config_filename)
        for field in dict(r):
            # do not take save button value
            if field == 'save':
                continue
            value = r[field]
            conf.update('general', {field: value})
        reset_config(conf)
        refresh()
        message = 'General configuration updated.'
        message_type = 'success'
        config = hymby.params # needed as we update it
    elif request.POST.get('save_engine'):
        r = request.POST
        hymby.engine.set_config(hymby, dict(r))
        refresh()
        message = '%s Configuration updated.' % hymby.params.get('general.engine', '')
        message_type = 'success'
        engine_config = hymby.engine.get_config(hymby) # needed as we update it
    return template('config', title='Configuration', config=config, engine_config=engine_config, message=message, message_type=message_type)
Esempio n. 2
0
 def test_meta(self):
     c = ConfigDict()
     c.meta_set('bool', 'filter', bool)
     c.meta_set('int', 'filter', int)
     c['bool'] = 'I am so true!'
     c['int']  = '6'
     self.assertTrue(c['bool'] is True)
     self.assertEqual(c['int'], 6)
     self.assertRaises(ValueError, lambda: c.update(int='not an int'))
Esempio n. 3
0
 def test_meta(self):
     c = ConfigDict()
     c.meta_set('bool', 'filter', bool)
     c.meta_set('int', 'filter', int)
     c['bool'] = 'I am so true!'
     c['int'] = '6'
     self.assertTrue(c['bool'] is True)
     self.assertEqual(c['int'], 6)
     self.assertRaises(ValueError, lambda: c.update(int='not an int'))
Esempio n. 4
0
 def test_namespaces(self):
     c = ConfigDict()
     c.update('a.b', key='value')
     self.assertEqual(c['a.b.key'], 'value')
Esempio n. 5
0
 def test_update(self):
     c = ConfigDict()
     c['key'] = 'value'
     c.update(key='value2', key2='value3')
     self.assertEqual(c['key'], 'value2')
     self.assertEqual(c['key2'], 'value3')
Esempio n. 6
0
 def test_namespaces(self):
     c = ConfigDict()
     c.update('a.b', key='value')
     self.assertEqual(c['a.b.key'], 'value')
Esempio n. 7
0
 def test_update(self):
     c = ConfigDict()
     c['key'] = 'value'
     c.update(key='value2', key2='value3')
     self.assertEqual(c['key'], 'value2')
     self.assertEqual(c['key2'], 'value3')