def oparl_paper_relatedPaper_data(params): data_1 = db.get_paper(paper_list = True, search_params = {'relatedPaper': DBRef('paper', ObjectId(params['paper_id']))}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) data_2 = db.get_paper(deref={'value': 'relatedPaper', 'list_select': '_id'}, search_params = {'_id': ObjectId(params['paper_id'])}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) data = data_1 + data_2 return data
def oparl_file_paper_data(params): mainFile_data = db.get_paper(paper_list = True, search_params = {'mainFile': DBRef('file', ObjectId(params['file_id']))}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) auxiliaryFile_data = db.get_paper(paper_list = True, search_params = {'auxiliaryFile': DBRef('file', ObjectId(params['file_id']))}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) data = mainFile_data + auxiliaryFile_data return data
def oparl_paper_superordinatedPaper_data(params): data_sub = db.get_paper(paper_list = True, search_params = {'subordinatedPaper': DBRef('paper', ObjectId(params['paper_id']))}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) data_super = db.get_paper(deref = {'value': 'superordinatedPaper', 'list_select': '_id'}, search_params = {'_id': ObjectId(params['paper_id'])}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) data = list(set(data_super + data_sub)) return data
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_paper_data(params): data = db.get_paper(search_params={'_id': ObjectId(params['_id'])}, deref={'values': ['mainFile', 'auxiliaryFile', 'consultation', 'location', 'originatorPerson', 'originatorOrganization']}) if len(data) == 1: return oparl_paper_layout(data[0], params) elif len(data) == 0: abort(404)
def oparl_body_paper_data(params): search_params = oparl_generate_list_search_params(params) data = db.get_paper(search_params = search_params, limit=app.config['oparl_items_per_page'], deref={'values': ['mainFile', 'auxiliaryFile', 'consultation', 'location', 'originatorPerson', 'originatorOrganization']}) data = oparl_generate_list_items(params=params, search_params=search_params, result_count=db.get_paper_count(search_params=search_params), data=data, type='person') for key_paper, single_paper in enumerate(data['items']): data['items'][key_paper] = oparl_paper_layout(data=single_paper, params=params) # mainFile if 'mainFile' in data['items'][key_paper]: if data['items'][key_paper]['mainFile']: data['items'][key_paper]['mainFile'] = oparl_file_layout(data['items'][key_paper]['mainFile'], params) else: del data['items'][key_paper]['mainFile'] # auxiliaryFiles if 'auxiliaryFile' in data['items'][key_paper]: auxiliaryFiles = [] for single_auxiliaryFile in data['items'][key_paper]['auxiliaryFile']: if single_auxiliaryFile: auxiliaryFiles.append(oparl_file_layout(single_auxiliaryFile, params)) if len(auxiliaryFiles): data['items'][key_paper]['auxiliaryFile'] = auxiliaryFiles else: del data['items'][key_paper]['auxiliaryFile'] return data
def file_show(file_id): """ Anzeigen eines Files """ result = db.get_file(search_params = {'_id': ObjectId(file_id)}, deref = {'values': ['body']}) if len(result) == 0: abort(404) # add meeting usage = [] meeting_invitation = db.get_meeting(search_params = {'invitation': DBRef('file', ObjectId(file_id))}) for item in meeting_invitation: usage.append({ 'data': item, 'type': 'meeting', 'function': 'invitation'}) meeting_resultsProtocol = db.get_meeting(search_params = {'resultsProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_resultsProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'resultsProtocol'}) meeting_verbatimProtocol = db.get_meeting(search_params = {'verbatimProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_verbatimProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'verbatimProtocol'}) meeting_auxiliaryFile = db.get_meeting(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in meeting_auxiliaryFile: usage.append({ 'data': item, 'type': 'meeting', 'function': 'auxiliaryFile'}) # add agendaItem agendaItem_resolutionFile = db.get_agendaItem(search_params = {'resolutionFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_resolutionFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'resolutionFile'}) agendaItem_auxiliaryFile = db.get_agendaItem(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_auxiliaryFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'auxiliaryFile'}) # add paper paper_mainFile = db.get_paper(search_params = {'mainFile': DBRef('file', ObjectId(file_id))}) for item in paper_mainFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'mainFile'}) paper_auxiliaryFile = db.get_paper(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in paper_auxiliaryFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'auxiliaryFile'}) if len(usage): result[0]['usage'] = usage return render_template('file_details.html', file=result[0])
def oparl_body_paper_data(params): search_params = oparl_generate_list_search_params(params) data = db.get_paper(search_params = search_params, limit=app.config['oparl_items_per_page'], deref={'values': ['mainFile', 'auxiliaryFile', 'consultation', 'location', 'originatorPerson', 'originatorOrganization']}) data = oparl_generate_list_items(params=params, search_params=search_params, result_count=db.get_paper_count(search_params=search_params), data=data, type='paper') for key_paper, single_paper in enumerate(data['data']): data['data'][key_paper] = oparl_paper_layout(data=single_paper, params=params) return data
def oparl_paper_data(params): data = db.get_paper(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]['relatedPaper'] = generate_sublist_url(params=params, main_type='paper', sublist_type='relatedPaper') data[0]['superordinatedPaper'] = generate_sublist_url(params=params, main_type='paper', sublist_type='superordinatedPaper') data[0]['subordinatedPaper'] = generate_sublist_url(params=params, main_type='paper', sublist_type='subordinatedPaper') if 'mainFile' in data[0]: data[0]['mainFile'] = generate_single_url(params=params, type='file', id=data[0]['mainFile'].id) data[0]['auxiliaryFile'] = generate_sublist_url(params=params, main_type='paper', sublist_type='auxiliaryFile') #data[0]['originator'] = generate_sublist_url(params=params, main_type='file', sublist_type='paper') #TODO: BAEH - mixed organization + people data[0]['consultation'] = generate_sublist_url(params=params, main_type='paper', sublist_type='consultation') data[0]['underDirectionOf'] = generate_sublist_url(params=params, main_type='paper', sublist_type='underDirectionOf') data[0]['@type'] = 'OParlPaper' 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 file_show(file_id): """ Anzeigen eines Files """ result = db.get_file(search_params={'_id': ObjectId(file_id)}, deref={'values': ['body']}) if len(result) == 0: abort(404) # add meeting usage = [] meeting_invitation = db.get_meeting( search_params={'invitation': DBRef('file', ObjectId(file_id))}) for item in meeting_invitation: usage.append({ 'data': item, 'type': 'meeting', 'function': 'invitation' }) meeting_resultsProtocol = db.get_meeting( search_params={'resultsProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_resultsProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'resultsProtocol' }) meeting_verbatimProtocol = db.get_meeting( search_params={'verbatimProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_verbatimProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'verbatimProtocol' }) meeting_auxiliaryFile = db.get_meeting( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in meeting_auxiliaryFile: usage.append({ 'data': item, 'type': 'meeting', 'function': 'auxiliaryFile' }) # add agendaItem agendaItem_resolutionFile = db.get_agendaItem( search_params={'resolutionFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_resolutionFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'resolutionFile' }) agendaItem_auxiliaryFile = db.get_agendaItem( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_auxiliaryFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'auxiliaryFile' }) # add paper paper_mainFile = db.get_paper( search_params={'mainFile': DBRef('file', ObjectId(file_id))}) for item in paper_mainFile: usage.append({'data': item, 'type': 'paper', 'function': 'mainFile'}) paper_auxiliaryFile = db.get_paper( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in paper_auxiliaryFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'auxiliaryFile' }) if len(usage): result[0]['usage'] = usage return render_template('file_details.html', file=result[0])
def oparl_paper_underDirectionOf_data(params): data = db.get_paper(deref={'value': 'underDirectionOf', 'list_select': '_id'}, search_params = {'_id': ObjectId(params['paper_id'])}, add_prefix = "%s/oparl/consultation/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_paper_auxiliaryFile_data(params): data = db.get_paper(deref={'value': 'auxiliaryFile', 'list_select': '_id'}, search_params={'_id': ObjectId(params['paper_id'])}, add_prefix = "%s/oparl/file/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_papers_data(params): return db.get_paper(paper_list = True, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params))
def oparl_body_paper_data(params): data = db.get_paper(paper_list=True, search_params = {'body': DBRef('body', ObjectId(params['body_id']))}, add_prefix = "%s/oparl/paper/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_paper_data(params): data = db.get_paper(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: return oparl_paper_layout(data[0], params) elif len(data) == 0: abort(404)