コード例 #1
0
def ocorrencia_del():
    """Função para exclusão de ocorrência na imagem

    Faz update no fs.files, excluindo do array a id_ocorrencia

    Args:
        _id: ObjectId do arquivo
        id_ocorrencia: String (texto)

    Returns:
        image_ocorrencia, passando
        data['success']: True ou False

    """
    _id = request.values.get('_id')
    id_ocorrencia = request.values.get('id_ocorrencia')
    try:
        db = app.config['mongodb']
        ocorrencias = Ocorrencias(db)
        success = ocorrencias.delete(_id=ObjectId(_id),
                                     id_ocorrencia=id_ocorrencia)
    except Exception as err:
        logger.error(err, exc_info=True)
        return jsonify({'erro': str(err)})
    return image_ocorrencia(_id, success)
コード例 #2
0
def ocorrencia_add():
    """Função para inserção de ocorrência na imagem

    Faz update no fs.files, inserindo em um array o nome do usuário ativo
    e o texto da ocorrência passada.

    Args:
        _id: ObjectId do arquivo
        texto: String (texto)

    Returns:
        json['success']: True ou False

    """
    _id = request.values.get('_id')
    texto = request.values.get('texto')
    try:
        db = app.config['mongodb']
        ocorrencias = Ocorrencias(db)
        success = ocorrencias.add(_id=ObjectId(_id),
                                  usuario=current_user.id,
                                  texto=texto)
    except Exception as err:
        logger.error(err, exc_info=True)
        return jsonify({'erro': str(err)})
    return image_ocorrencia(_id, success)
コード例 #3
0
 def test3_delete_ocorrencias(self):
     ocorrencias = Ocorrencias(mongodb)
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 1')
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 2')
     ocorrencias.add(self.inserted_id, 'ajna', 'Ocorrencia 3')
     lista_ocorrencias = ocorrencias.list_usuario(self.inserted_id, 'ajna')
     id_ocorrencia = lista_ocorrencias[0]['id_ocorrencia']
     print(id_ocorrencia)
     sucesso = ocorrencias.delete(self.inserted_id, id_ocorrencia)
     assert sucesso is True
     lista_ocorrencias = ocorrencias.list_usuario(self.inserted_id, 'ajna')
     assert lista_ocorrencias == []
コード例 #4
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)
コード例 #5
0
 def test2_list_ocorrencias_usuario(self):
     ocorrencias = Ocorrencias(mongodb)
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 1')
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 2')
     ocorrencias.add(self.inserted_id, 'ajna', 'Ocorrencia 3')
     lista_ocorrencias = ocorrencias.list_usuario(self.inserted_id, 'ivan')
     assert len(lista_ocorrencias) == 2
     lista_ocorrencias = ocorrencias.list_usuario(self.inserted_id, 'ajna')
     assert len(lista_ocorrencias) == 1
     assert lista_ocorrencias[0]['texto'] == 'Ocorrencia 3'
     assert lista_ocorrencias[0]['usuario'] == 'ajna'
コード例 #6
0
 def test1_add_ocorrencia(self):
     ocorrencias = Ocorrencias(mongodb)
     assert self.inserted_id is not None
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 1')
     ocorrencias.add(self.inserted_id, 'ivan', 'Ocorrencia 2')
     ocorrencias.add(self.inserted_id, 'ajna', 'Ocorrencia 3')
     lista_ocorrencias = ocorrencias.list(self.inserted_id)
     assert type(lista_ocorrencias) is list
     assert len(lista_ocorrencias) == 3
コード例 #7
0
def image_ocorrencia(_id, success=True):
    """Função para listar ocorrências na imagem

    Args:
        _id: ObjectId do arquivo
        success: Falso se houve erro em operação anterior

    Returns:
        json['success']: True ou False

    """
    data = {'success': success}
    try:
        db = app.config['mongodb']
        ocorrencias = Ocorrencias(db)
        data['ocorrencias'] = ocorrencias.list(ObjectId(_id))
    except Exception as err:
        logger.error(err, exc_info=True)
        data['error'] = str(err)
        data['success'] = False
        # raise
    return jsonify(data)