Commit 943d0012 authored by Enrico Zini's avatar Enrico Zini
Browse files

Updated and fixed importer

parent 5ef08d18
Pipeline #75887 passed with stage
in 3 minutes and 46 seconds
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))
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment