def labels_for_values(p, meeting_id, in_participant_language=False, category=None): from cites.sugar import get_person_category_or_None import copy p = copy.deepcopy(p) labels = {} cache = get_db_cache() cache_key = 'values-and-labels-' + 'CountryRowISO' if not cache_key in cache: countries_dict = {c['iso']: c for c in database.get_all("country")} cache[cache_key] = countries_dict countries_dict = cache[cache_key] lang = {"E": "en", "S":"es", "F": "fr"}.get( p.get('personal_language'), 'en') # update regions with correct language if in_participant_language: regions = {iso:r[p['personal_language']] for iso, r in refdata.regions_iso.items()} countries = {iso:c[lang] for iso, c in countries_dict.items()} labels.update(regions) else: countries = {iso:c["en"] for iso, c in countries_dict.items()} labels.update(refdata.region) labels.update(countries) if p.get('representing_country'): p['representing_country'] = labels[p['representing_country']] if p.get('representing_region') and p['representing_region'] != 'None': p['representing_region'] = labels[p['representing_region']] if p.get('personal_country'): p['personal_country'] = labels[p['personal_country']] if category: p['personal_category'] = category.data['name_%s' % p.get('personal_language', 'E')] return p
def home(): return { 'countries': [Country.from_flat(country_row) for country_row in database.get_all("country")], 'regions': CountrySchema.regions, 'date_types': CountrySchema.date_types }
def change_name_titles(meeting_id): session = database.get_session() persons = database.get_all("person") persons = [p for p in persons if p["personal_name_title"] in ["Miss", "Mrs"]] for p in persons: p["personal_name_title"] = u"Ms" session.save(p) session.commit()
def __get__(self, instance, owner): cache = get_db_cache() cache_key = 'values-and-labels-' + self.table if not cache_key in cache: items = database.get_all(self.table) cache[cache_key] = {item[self.key_attr]: item[self.value_attr] for item in items} items_dict = cache[cache_key] sorted_items = sorted(items_dict.items(), key=operator.itemgetter(1)) value = [item[0] for item in sorted_items] return value
def old_table(): app = flask.current_app response = {} template = app.jinja_env.get_template("country/php/php.html") response["data"] = template.render({ "mk": sugar.MarkupGenerator( app.jinja_env.get_template("widgets/widgets_edit.html") ), 'countries': database.get_all("country"), 'regions': CountrySchema.regions, }) return flask.jsonify(response)
def home(): cop_ids = set([int(r['meeting_id']) for r in database.get_all('resolution')]) revised_ids = set([int(r['revised']) for r in database.get_all('resolution') if r['revised']]) corrected_ids = set([int(r['corrected']) for r in database.get_all('resolution') if r['corrected']]) repealed_ids = set([int(r['repealed']) for r in database.get_all('resolution') if r['repealed']]) meetings = [schema.Meeting.from_flat(m) for m in database.get_all('meeting')] cop = [m for m in meetings if m.id in cop_ids] revised = [m for m in meetings if m.id in revised_ids] corrected = [m for m in meetings if m.id in corrected_ids] repealed = [m for m in meetings if m.id in repealed_ids] return { 'cop': cop, 'revised': revised, 'corrected': corrected, 'repealed': repealed, }
def edit(resolution_id=None): if resolution_id is None: resolution_row = None else: resolution_row = database.get_or_404('resolution', resolution_id) meetings = [schema.Meeting.from_flat(m) for m in database.get_all('meeting')] session = database.get_session() if flask.request.method == "POST": form_data = dict(schema.ResolutionSchema.from_defaults().flatten()) form_data.update(flask.request.form.to_dict()) resolution_schema = schema.ResolutionSchema() resolution_schema.set_meetings(meetings) resolution_schema.set_flat(form_data) if resolution_schema.validate(): if resolution_row is None: resolution_row = database.new('resolution') resolution_row.update(resolution_schema.flatten()) session.save(resolution_row) session.commit() flask.flash('Resolution saved', 'success') if resolution_id: url = flask.url_for('resolution.view', resolution_id=resolution_id) else: url = flask.url_for('resolution.home') return flask.redirect(url) else: flask.flash(u"Errors in person information", "error") else: resolution_schema = schema.ResolutionSchema() resolution_schema.set_meetings(meetings) if resolution_row: resolution_schema.set_flat(resolution_row) else: resolution_schema = resolution_schema.from_defaults() resolution_schema.set_meetings(meetings) return { 'mk': sugar.MarkupGenerator( flask.current_app.jinja_env.get_template('widgets/widgets_edit.html') ), 'resolution_id': resolution_id, 'resolution_schema': resolution_schema, }
def view(resolution_id): resolution_row = database.get_or_404('resolution', resolution_id) meetings = [schema.Meeting.from_flat(m) for m in database.get_all('meeting')] resolution_schema = schema.ResolutionSchema() resolution_schema.set_meetings(meetings) resolution_schema.set_flat(resolution_row) resolution = resolution_schema.value return { 'mk': sugar.MarkupGenerator( flask.current_app.jinja_env.get_template("widgets/widgets_view.html") ), 'resolution_schema': resolution_schema, 'resolution_id': resolution_id, 'resolution': resolution, }
def _dump(table): data = [d for d in database.get_all(table.__name__)] for d in data: d["id"] = str(d.id) return data
def get_country_by_iso(cls, country_iso): for country in database.get_all("country"): if country_iso == country['iso']: return country