Skip to content
This repository was archived by the owner on Dec 20, 2022. It is now read-only.

Commit 151de88

Browse files
committed
Update management commands, add tqdm progress bar
1 parent 5010d9d commit 151de88

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

correctiv_justizgelder/management/commands/justizgelder_export.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from django.core.management.base import BaseCommand
55
from django.utils import translation
66
from django.conf import settings
7+
from django.utils.six import text_type
78

89
from ...models import Fine
910

@@ -35,5 +36,5 @@ def handle(self, *args, **options):
3536
writer.writeheader()
3637
qs = Fine.objects.iterator()
3738
for fine in qs:
38-
writer.writerow(dict([(v, unicode(getattr(fine, k))) for k, v in
39+
writer.writerow(dict([(v, text_type(getattr(fine, k))) for k, v in
3940
fields.items() if getattr(fine, k, None) is not None]))

correctiv_justizgelder/management/commands/justizgelder_import.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import decimal
2-
import unicodecsv
32

3+
import unicodecsv
4+
from tqdm import tqdm
45
from slugify import slugify
56

67
from django.core.management.base import BaseCommand
@@ -15,10 +16,13 @@
1516
class Command(BaseCommand):
1617
help = "Import CSV"
1718

19+
def add_arguments(self, parser):
20+
parser.add_argument('filename', help='filename')
21+
1822
def handle(self, *args, **options):
1923
translation.activate(settings.LANGUAGE_CODE)
2024

21-
filename = args[0]
25+
filename = options['filename']
2226

2327
self.staatskasse, created = Organisation.objects.get_or_create(
2428
name='Staatskasse', slug='staatskasse',
@@ -40,7 +44,7 @@ def handle(self, *args, **options):
4044
self.create_aggregates()
4145

4246
def get_fine_objects(self, filename):
43-
for row in unicodecsv.DictReader(open(filename)):
47+
for row in tqdm(unicodecsv.DictReader(open(filename))):
4448
fine = None
4549
try:
4650
fine = Fine.objects.get(
@@ -53,7 +57,7 @@ def create_from_row(self, row, fine=None):
5357
if fine is None:
5458
fine = Fine()
5559

56-
org_slug = slugify(row['name'], only_ascii=True)
60+
org_slug = slugify(row['name'])
5761
old_org_slug = slugify(row['name'])
5862

5963
if org_slug != old_org_slug:
@@ -95,7 +99,7 @@ def create_from_row(self, row, fine=None):
9599
fine.address = row['adresse']
96100
fine.file_reference = row['aktenzeichen']
97101
fine.filename = row['path']
98-
fine.note = row['anmerkungen']
102+
# fine.note = row['anmerkungen']
99103
fine.source_file = row['source']
100104
fine.reference_id = row['id']
101105
fine.city = row['ort']
@@ -109,16 +113,7 @@ def create_from_row(self, row, fine=None):
109113
'bank',
110114
) if row.get(k))
111115

112-
fine.org_details = u'\n'.join(
113-
row.get(k) for k in (
114-
'kategorie',
115-
'notizen',
116-
'rest',
117-
'thema',
118-
'vorsitzender',
119-
'wirkungskreis',
120-
'zu_haenden'
121-
) if row.get(k))
116+
fine.org_details = row.get('anmerkungen', '')
122117

123118
return fine
124119

setup.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ def find_version(*file_paths):
3535
install_requires=[
3636
'Django>=1.10',
3737
'unicode-slugify',
38+
'unicodecsv',
39+
'tqdm',
3840
],
3941
include_package_data=True,
4042
classifiers=[

0 commit comments

Comments
 (0)