pyramid_tut.scripts.initializedb.usage()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
import os
2
import sys
3
from datetime import date
4
5
import transaction
6
from pyramid.paster import get_appsettings, setup_logging
7
from sqlalchemy import engine_from_config
8
9
from ..models import Address, Base, DBSession, User
10
11
12
def usage(argv):
13
    """Help user on how to use the script."""
14
    cmd = os.path.basename(argv[0])
15
16
    print("usage: %s <config_uri> [var=value]\n" % cmd, cmd)
17
18
    sys.exit(1)
19
20
21
def main(argv=sys.argv):
22
    """Populate database with 30 users."""
23
    if len(argv) < 2:
24
        usage(argv)
25
26
    config_uri = argv[1]
27
28
    setup_logging(config_uri)
29
30
    settings = get_appsettings(config_uri)
31
32
    engine = engine_from_config(settings, "sqlalchemy.")
33
34
    DBSession.configure(bind=engine)
35
36
    Base.metadata.create_all(engine)
37
38
    for i in range(30):
39
        with transaction.manager:
40
            address = Address(description="Address#2" + str(i).rjust(2, "0"))
41
42
            DBSession.add(address)
43
44
            user = User(
45
                name="User#1" + str(i).rjust(2, "0"),
46
                birthday=date(1980 + i % 8, i % 12 + 1, i % 10 + 1))
47
48
            user.address = address
49
50
            DBSession.add(user)
51