Skip to content
Extraits de code Groupes Projets
Valider 98a0fae0 rédigé par Nicolas Joyard's avatar Nicolas Joyard
Parcourir les fichiers

Recomm import: change delimiter and fix weight

parent 566f4a22
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -40,6 +40,7 @@ class RecommendationImporter: ...@@ -40,6 +40,7 @@ class RecommendationImporter:
if dossier is None: if dossier is None:
try: try:
dossier = Dossier.objects.get(title__iexact=title) dossier = Dossier.objects.get(title__iexact=title)
self.dossier_cache[title] = dossier
except Dossier.DoesNotExist: except Dossier.DoesNotExist:
dossier = None dossier = None
...@@ -63,6 +64,8 @@ class RecommendationImporter: ...@@ -63,6 +64,8 @@ class RecommendationImporter:
row['part'], row['title'])) row['part'], row['title']))
return False return False
weight = int(row['weight']) * int(row['ponderation'])
try: try:
recom = Recommendation.objects.get(proposal=proposal) recom = Recommendation.objects.get(proposal=proposal)
except Recommendation.DoesNotExist: except Recommendation.DoesNotExist:
...@@ -70,11 +73,11 @@ class RecommendationImporter: ...@@ -70,11 +73,11 @@ class RecommendationImporter:
proposal=proposal, proposal=proposal,
recommendation=row['recommendation'], recommendation=row['recommendation'],
title=row['description'], title=row['description'],
weight=row['weight'] weight=weight
) )
recom.save() recom.save()
logger.info('Created recommendation with weight %s for %s: %s' % ( logger.info('Created recommendation with weight %s for %s: %s' % (
row['weight'], weight,
row['title'], row['title'],
row['part'] row['part']
)) ))
...@@ -87,11 +90,11 @@ def main(stream=None): ...@@ -87,11 +90,11 @@ def main(stream=None):
Imports recommendations from an old memopol instance. Imports recommendations from an old memopol instance.
Usage: Usage:
cat recommendations.csv | memopol_import_recommendations > rejected.csv cat recommendations.csv | memopol_import_recommendations
The input CSV file should be generated by the following query: The input CSV file should be generated by the following query:
SELECT CONCAT(r.description, ';', r.weight, ';', r.recommendation, ';', SELECT CONCAT(r.description, '|', r.weight, '|', r.recommendation, '|',
r.part, ';', p.title) r.part, '|', p.title, '|', p.ponderation)
FROM votes_recommendation r FROM votes_recommendation r
LEFT JOIN votes_proposal p ON r.proposal_id = p.id LEFT JOIN votes_proposal p ON r.proposal_id = p.id
WHERE p.institution = 'EU' WHERE p.institution = 'EU'
...@@ -105,12 +108,13 @@ def main(stream=None): ...@@ -105,12 +108,13 @@ def main(stream=None):
rejected = [] rejected = []
imported = 0 imported = 0
reader = csv.DictReader(stream or sys.stdin, delimiter=';', fieldnames=[ reader = csv.DictReader(stream or sys.stdin, delimiter='|', fieldnames=[
'description', 'description',
'weight', 'weight',
'recommendation', 'recommendation',
'part', 'part',
'title' 'title',
'ponderation'
], quoting=csv.QUOTE_NONE) ], quoting=csv.QUOTE_NONE)
for row in reader: for row in reader:
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter