diff --git a/backend/management/commands/import.py b/backend/management/commands/import.py index 7ab6c67d71c5b734a8ea39e6ac74266fdf8768c7..75fee40418e06ec9427b903661477ab7c68869fb 100644 --- a/backend/management/commands/import.py +++ b/backend/management/commands/import.py @@ -1,11 +1,8 @@ from django.core.management.base import BaseCommand -from django.db import transaction -import re import sys import logging import json -import datetime -from backend import models as bmodels +from backend.export import load_db log = logging.getLogger(__name__) @@ -18,10 +15,6 @@ class Command(BaseCommand): parser.add_argument("--quiet", action="store_true", dest="quiet", default=None, help="Disable progress reporting") - parser.add_argument("--ldap", action="store", default="ldap://db.debian.org", - help="LDAP server to use. Default: %(default)s") - parser.add_argument("--author", action="store", default=None, - help="user to use as author for the import. Default: %(default)s") def handle(self, *args, **opts): FORMAT = "%(asctime)-15s %(levelname)s %(message)s" @@ -30,16 +23,8 @@ class Command(BaseCommand): else: logging.basicConfig(level=logging.INFO, stream=sys.stderr, format=FORMAT) - if opts["author"]: - author = lookup_person(opts["author"]) - if not author: - print("Author {} not found".format(opts["author"]), file=sys.stderr) - sys.exit(1) - else: - author = None - - importer = Importer(author=author) for fname in opts["file"]: with open(fname) as fd: - stats = importer.import_people(json.load(fd)) - log.info("%s: imported %d people and %d processes", fname, stats["people"], stats["procs"]) + loaded = load_db(json.load(fd)) + loaded.save() + log.info("%s: imported information about %d people", fname, len(loaded.people)) diff --git a/backend/serializers.py b/backend/serializers.py index 0bbeb5736a5924072de4ae15d16f7c4951de3415..1d0d0cac0bfae7be8e79b210328bead73acafd31 100644 --- a/backend/serializers.py +++ b/backend/serializers.py @@ -44,7 +44,7 @@ class PersonSerializer(serializers.HyperlinkedModelSerializer): class LogExportSerializer(serializers.ModelSerializer): - changed_by = PersonKeyField() + changed_by = PersonKeyField(allow_null=True) class Meta: model = bmodels.Log