Skip to main content

A little orm for config file

Project description

A little orm for config file, do transformation to/from python object

Examples

example.ini:

[Section1]
bool_field = True
int_field = 123
#int_default_field = 567
float_field = 456.7
string_field = hello, world

[Section2]
ip_field = 127.0.0.1
ipport_field = 127.0.0.1:12345
ipport_list_field = 127.0.0.1:12345, 127.0.0.2:12346

    [Section3]
    choice_field = release

example.py:

from ormconfig import *
import sys

class MyConfig(Config):
    class Section1(Section):
        bool_field = BoolField()
        int_field = IntField()
        int_default_field = IntField(default='default value 6')
        float_field = FloatField()
        string_field = StringField()
    class Section2(Section):
        ip_field = IPField()
        ipport_field = IPPortField()
        ipport_list_field = ListField(IPPortField())
    class Section3(Section):
                    choice_field = ChoiceField(StringField(), ['debug', 'release'], 'debug')

try:
    config = MyConfig.load('example.ini')
except Error as e:
    print('Failed to load file: %s' % str(e))
    sys.exit(1)

print(config.Section1.bool_field)
print(config.Section1.int_field)
print(config.Section1.int_default_field)
print(config.Section1.float_field)
print(config.Section1.string_field)
print(config.Section2.ip_field)
print(config.Section2.ipport_field)
print(config.Section2.ipport_list_field)
    print(config.Section3.choice_field)

output:

True
123
default value 6
456.7
hello, world
127.0.0.1
('127.0.0.1', 12345)
[('127.0.0.1', 12345), ('127.0.0.2', 12346)]
    release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ormconfig-0.1.3.zip (7.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page