implement new django-based models and loadmappkg command
This commit is contained in:
parent
66661209d2
commit
752b7d6d7d
14 changed files with 318 additions and 196 deletions
0
src/c3nav/mapdata/management/__init__.py
Normal file
0
src/c3nav/mapdata/management/__init__.py
Normal file
0
src/c3nav/mapdata/management/commands/__init__.py
Normal file
0
src/c3nav/mapdata/management/commands/__init__.py
Normal file
19
src/c3nav/mapdata/management/commands/loadmappkgs.py
Normal file
19
src/c3nav/mapdata/management/commands/loadmappkgs.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
from django.core.management.base import BaseCommand, CommandError
|
||||
from django.db import transaction
|
||||
from ...packageio import MapPackagesIO
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = 'Load the given map packages into the database'
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('mappkgdir', nargs='+', type=str, help='map package directories')
|
||||
parser.add_argument('-y', action='store_const', const=True, default=False,
|
||||
help='don\'t ask for confirmation')
|
||||
|
||||
def handle(self, *args, **options):
|
||||
with transaction.atomic():
|
||||
MapPackagesIO(options['mappkgdir']).update_to_db()
|
||||
print()
|
||||
if input('Confirm (y/N): ') != 'y':
|
||||
raise CommandError('Aborted.')
|
Loading…
Add table
Add a link
Reference in a new issue