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.core.management.base import BaseCommand
from django.db import transaction
import re
import sys import sys
import logging import logging
import json import json
import datetime from backend.export import load_db
from backend import models as bmodels
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -18,10 +15,6 @@ class Command(BaseCommand): ...@@ -18,10 +15,6 @@ class Command(BaseCommand):
parser.add_argument("--quiet", action="store_true", dest="quiet", default=None, parser.add_argument("--quiet", action="store_true", dest="quiet", default=None,
help="Disable progress reporting") 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): def handle(self, *args, **opts):
FORMAT = "%(asctime)-15s %(levelname)s %(message)s" FORMAT = "%(asctime)-15s %(levelname)s %(message)s"
...@@ -30,16 +23,8 @@ class Command(BaseCommand): ...@@ -30,16 +23,8 @@ class Command(BaseCommand):
else: else:
logging.basicConfig(level=logging.INFO, stream=sys.stderr, format=FORMAT) 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"]: for fname in opts["file"]:
with open(fname) as fd: with open(fname) as fd:
stats = importer.import_people(json.load(fd)) loaded = load_db(json.load(fd))
log.info("%s: imported %d people and %d processes", fname, stats["people"], stats["procs"]) loaded.save()
log.info("%s: imported information about %d people", fname, len(loaded.people))
...@@ -44,7 +44,7 @@ class PersonSerializer(serializers.HyperlinkedModelSerializer): ...@@ -44,7 +44,7 @@ class PersonSerializer(serializers.HyperlinkedModelSerializer):
class LogExportSerializer(serializers.ModelSerializer): class LogExportSerializer(serializers.ModelSerializer):
changed_by = PersonKeyField() changed_by = PersonKeyField(allow_null=True)
class Meta: class Meta:
model = bmodels.Log 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