Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
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='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
Esempio n. 7
0
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])
Esempio n. 8
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
Esempio n. 9
0
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)
Esempio n. 10
0
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)
Esempio n. 11
0
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])
Esempio n. 12
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
Esempio n. 13
0
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
Esempio n. 14
0
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))
Esempio n. 15
0
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
Esempio n. 16
0
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)