| Total Complexity | 5 |
| Total Lines | 51 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 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 |