def view_paper(id): """ Gibt Dokumenten-Detailseite aus """ result = db.get_paper(search_params = {'_id': ObjectId(id)}, deref = {'values': ['body', 'mainFile', 'auxiliaryFile', 'subordinatedPaper', 'superordinatedPaper']}) if len(result) == 0: abort(404) result = result[0] result['numberOfFiles'] = 0 if 'mainFile' in result: result['numberOfFiles'] += 1 if 'auxiliaryFile' in result: result['numberOfFiles'] += len(result['auxiliaryFile']) result['consultation'] = db.get_consultation(search_params = {'paper': DBRef('paper', ObjectId(id))}) for consultation_id in range(len(result['consultation'])): agendaItem_result = db.get_agendaItem(search_params = {'consultation': DBRef('consultation', result['consultation'][consultation_id]['_id'])}) if len(agendaItem_result): result['consultation'][consultation_id]['agendaItem'] = agendaItem_result[0] meeting_result = db.get_meeting(search_params = {'agendaItem': DBRef('agendaItem', result['consultation'][consultation_id]['agendaItem']['_id'])}) if len(meeting_result): result['consultation'][consultation_id]['agendaItem']['meeting'] = meeting_result[0] """references=[identifier], get_attachments=True, get_consultations=True, get_thumbnails=True)""" return render_template('paper_details.html', paper=result)
def oparl_consultation_data(params): data = db.get_consultation(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data = oparl_consultation_layout(data[0], params) agendaItem = db.get_agendaItem(search_params={'consultation': DBRef('consultation', ObjectId(params['_id']))}) if len(agendaItem): data['agendaItem'] = "%s/oparl/agendaItem/%s%s" % (app.config['api_url'], agendaItem[0]['_id'], generate_postfix(params)) return data elif len(data) == 0: abort(404)
def oparl_consultation_data(params): data = db.get_consultation(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data[0]['body'] = generate_single_url(params=params, type='body', id=data[0]['body'].id) data[0]['agendaItem'] = generate_single_backref_url(params=params, get='get_agendaItem', type='agendaItem', reverse_type='consultation', id=params['_id']) data[0]['paper'] = generate_single_url(params=params, type='paper', id=data[0]['paper'].id) data[0]['organization'] = generate_sublist_url(params=params, main_type='consultation', sublist_type='organization') data[0]['@type'] = 'OParlConsultation' data[0]['@id'] = data[0]['_id'] return data[0] elif len(data) == 0: abort(404)
def view_paper(id): """ Gibt Dokumenten-Detailseite aus """ result = db.get_paper(search_params={'_id': ObjectId(id)}, deref={ 'values': [ 'body', 'mainFile', 'auxiliaryFile', 'relatedPaper', 'subordinatedPaper', 'superordinatedPaper' ] }) if len(result) == 0: abort(404) result = result[0] result['numberOfFiles'] = 0 if 'mainFile' in result: result['numberOfFiles'] += 1 if 'auxiliaryFile' in result: result['numberOfFiles'] += len(result['auxiliaryFile']) result['consultation'] = db.get_consultation( search_params={'paper': DBRef('paper', ObjectId(id))}) for consultation_id in range(len(result['consultation'])): agendaItem_result = db.get_agendaItem( search_params={ 'consultation': DBRef('consultation', result['consultation'][consultation_id] ['_id']) }) if len(agendaItem_result): result['consultation'][consultation_id][ 'agendaItem'] = agendaItem_result[0] meeting_result = db.get_meeting( search_params={ 'agendaItem': DBRef( 'agendaItem', result['consultation'][consultation_id] ['agendaItem']['_id']) }) if len(meeting_result): result['consultation'][consultation_id]['agendaItem'][ 'meeting'] = meeting_result[0] return render_template('paper_details.html', paper=result)
def oparl_paper_consultation_data(params): data = db.get_consultation(consultation_list = True, search_params = {'paper': DBRef('paper', ObjectId(params['paper_id']))}, add_prefix = "%s/oparl/consultation/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_consultation_organization_data(params): data = db.get_consultation(deref={'value': 'organization', 'list_select': '_id'}, search_params={'_id': ObjectId(params['consultation_id'])}, add_prefix = "%s/oparl/organization/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_consultations_data(params): return db.get_consultation(consultation_list = True, add_prefix = "%s/oparl/consultation/" % app.config['api_url'], add_postfix=generate_postfix(params))
def oparl_paper_layout(data, params): # default values data['id'] = "%s/oparl/paper/%s%s" % (app.config['api_url'], data['_id'], generate_postfix(params)) data['type'] = 'https://schema.oparl.org/1.0/Paper' data['body'] = generate_single_url(params=params, type='body', id=data['body'].id) data['created'] = data['created'].strftime("%Y-%m-%dT%H:%M:%S+01:00") data['modified'] = data['modified'].strftime("%Y-%m-%dT%H:%M:%S+01:00") # mainFile if 'mainFile' in data: if data['mainFile']: data['mainFile'] = oparl_file_layout(data['mainFile'], params) else: del data['mainFile'] # auxiliaryFiles if 'auxiliaryFile' in data: auxiliaryFiles = [] for single_auxiliaryFile in data['auxiliaryFile']: if single_auxiliaryFile: auxiliaryFiles.append(oparl_file_layout(single_auxiliaryFile, params)) if len(auxiliaryFiles): data['auxiliaryFile'] = auxiliaryFiles else: del data['data'] data['consultation'] = [] consultations = db.get_consultation(search_params={'paper': DBRef('paper', ObjectId(data['_id']))}) for consultation in consultations: data['consultation'].append(oparl_consultation_layout(consultation, params)) if len(data['consultation']) == 0: del data['consultation'] # additional transformations if 'publishedDate' in data: if isinstance(data['publishedDate'], datetime.datetime): data['PolitikBeiUns:publishedDate'] = data['publishedDate'].strftime("%Y-%m-%d") del data['publishedDate'] # TODO for data model if 'georeferences' in data: del data['georeferences'] if 'georeferences' in data: del data['georeferencesGenerated'] if 'title' in data: del data['title'] if 'originalId' in data: data['PolitikBeiUns:originalId'] = data['originalId'] if 'originalUrl' in data: data['PolitikBeiUns:originalUrl'] = data['originalUrl'] if 'nameShort' in data: data['reference'] = data['nameShort'] # delete stuff del data['_id'] if 'originalId' in data: del data['originalId'] if 'originalUrl' in data: del data['originalUrl'] if 'slug' in data: del data['slug'] if 'nameShort' in data: del data['nameShort'] if 'georeferencesGenerated' in data: del data['georeferencesGenerated'] return data
def oparl_consultation_data(params): data = db.get_consultation(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: return oparl_consultation_layout(data[0], params) elif len(data) == 0: abort(404)