예제 #1
0
def file(_id=None):
    """Tela para exibição de um 'arquivo' do GridFS.

    Exibe o arquivo e os metadados associados a ele.
    """
    db = app.config['mongodb']
    fs = GridFS(db)
    tags_object = Tags(db)
    form_tags = TagsForm()
    form_tags.tags.choices = tags_object.tags_text
    if request.args.get('filename'):
        filename = mongo_sanitizar(request.args.get('filename'))
        logger.warn('Filename %s ' % filename)
        grid_data = fs.find_one({'filename': filename})
    else:
        if not _id:
            _id = request.args.get('_id')
        grid_data = fs.get(ObjectId(_id))
    # print(grid_data)
    if grid_data:
        summary_ = dict_to_html(summary(grid_data=grid_data))
        summary_carga = dict_to_html(carga.summary(grid_data=grid_data))
        tags = tags_object.list(_id)
        ocorrencias = Ocorrencias(db).list(_id)
    else:
        summary_ = summary_carga = 'Arquivo não encontrado.'
        ocorrencias = []
    return render_template('view_file.html',
                           myfile=grid_data,
                           summary=summary_,
                           summary_carga=summary_carga,
                           form_tags=form_tags,
                           tags=tags,
                           ocorrencias=ocorrencias)
예제 #2
0
def summaryhtml(_id=None):
    """Tela para exibição de um 'arquivo' do GridFS.

    Exibe os metadados associados a ele.
    """
    db = app.config['mongodb']
    fs = GridFS(db)
    grid_data = fs.get(ObjectId(_id))
    result = dict_to_html(summary(grid_data=grid_data))
    return result
예제 #3
0
def summaryjson(_id=None):
    """Tela para exibição de um 'arquivo' do GridFS.

    Exibe os metadados associados a ele.
    """
    db = app.config['mongodb']
    fs = GridFS(db)
    grid_data = fs.get(ObjectId(_id))
    result = summary(grid_data=grid_data)
    result_carga = carga.summary(grid_data=grid_data)
    return jsonify({**result, **result_carga})
예제 #4
0
 def test_summary(self):
     # Gravar dados do CARGA no fs.files
     carga.dados_carga_grava_fsfiles(self.db,
                                     data_inicio=self.data_escaneamento -
                                     timedelta(days=3))
     fs = GridFS(self.db)
     registro = self.db['fs.files'].find_one(
         {'metadata.numeroinformado': 'cheio'})
     _id = registro['_id']
     grid_data = fs.get(_id)
     text = dict_to_text(summary(grid_data=grid_data))
     textc = dict_to_text(carga.summary(registro=registro))
     html = dict_to_html(summary(registro=registro))
     htmlc = dict_to_html(carga.summary(grid_data=grid_data))
     assert text is not None
     assert 'cheio' in text
     assert textc is not None
     assert 'cheio' in textc
     assert html is not None
     assert 'cheio' in html
     assert htmlc is not None
     assert 'cheio' in htmlc