diff --git a/themis/importexport/sync.py b/themis/importexport/sync.py index 7d85098..b08b3f3 100644 --- a/themis/importexport/sync.py +++ b/themis/importexport/sync.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +import re import datetime import json import time @@ -57,7 +58,7 @@ class SyncFromThemis(UtilityView): objects = self.request.form.get('objects', '').split(',') log.info('sync: start [%r] [%r]' % (timestamp, objects)) for object in ('deputies', 'ministries', 'commissions', 'documents', - 'blocked_documents', 'deleted_documents'): + 'blocked_documents', 'deleted_documents', 'bureau'): if not 'all' in objects: if not object in objects: continue @@ -474,6 +475,69 @@ class SyncFromThemis(UtilityView): log.info('blocked documents done') + def sync_bureau(self, *args): + remote_bureau = json.load(self.urlopen('%s/bureau-bureau-elargi/bureau_elargi/@@json' % self.src_url)) + + def get_info(deputy_id): + return getattr(self.deputies_folder, deputy_id.split(':')[1]) + + bureau = [] + pers = get_info(remote_bureau['president']) + bureau.append(([get_info(remote_bureau['president'])], + u"Président" if pers.sex == 'M' else u"Présidente")) + bureau.append(([get_info(remote_bureau['premier_vice_president'])], + u"Premier vice-président" if pers.sex == 'M' else u"Première vice-présidente")) + bureau.append(([get_info(remote_bureau['deuxieme_vice_president'])], + u"Deuxième vice-président" if pers.sex == 'M' else u"Deuxième vice-présidente")) + bureau.append(([get_info(remote_bureau['troisieme_vice_president'])], + u"Troisième vice-président" if pers.sex == 'M' else u"Troisième vice-présidente")) + bureau.append(([get_info(x) for x in remote_bureau['secretaires']], + u"Secrétaires")) + + def format_pers(pers): + return '%s (%s)' % ( + self.settings.deputiesPath, + pers.id, + pers.title, + pers.polgroup.to_object.title) + + bureau_text = u"
%s
" % ""
+ for pers in bureau_elargi:
+ label = u"Président de groupe" if pers.sex == "M" else u"Présidente de groupe"
+ bureau_elargi_text += u'%s %s : %s
' % (
+ label,
+ pers.polgroup.to_object.title,
+ self.settings.deputiesPath, pers.id,
+ pers.title)
+ bureau_elargi_text += u"