コード例 #1
0
def delete_media(id_media):
    """
        Suppression d'un media

        .. :quickref: Commons;
    """

    TMediaRepository(id_media=id_media).delete()

    TMediumRepository.sync_medias()

    return {"resp": "media {} deleted".format(id_media)}
コード例 #2
0
def insert_or_update_media(id_media=None):
    """
        Insertion ou mise à jour d'un média
        avec prise en compte des fichiers joints

        .. :quickref: Commons;
    """

    # gestion des parametres de route

    if request.files:
        file = request.files["file"]
    else:
        file = None

    data = {}
    if request.form:
        formData = dict(request.form)
        for key in formData:
            data[key] = formData[key]
            if data[key] in ["null", "undefined"]:
                data[key] = None
            if isinstance(data[key], list):
                data[key] = data[key][0]
            if (
                key in ["id_table_location", "id_nomenclature_media_type", "id_media"]
                and data[key] is not None
            ):
                data[key] = int(data[key])
            if data[key] == "true":
                data[key] = True
            if data[key] == "false":
                data[key] = False

    else:
        data = request.get_json(silent=True)

    try:
        m = TMediaRepository(
            data=data, file=file, id_media=id_media
        ).create_or_update_media()

    except GeoNatureError as e:
        return str(e), 400

    TMediumRepository.sync_medias()

    return m.as_dict()
コード例 #3
0
ファイル: site.py プロジェクト: hypsug0/gn_module_suivi_chiro
def _format_site_data(data):
    '''
        Procédure de sérialisation non récursive des modèles
    '''
    base = data.base_site.as_dict(recursif=False)
    base["id"] = data.base_site.id_base_site
    geometry = geojson.Feature(
        geometry=to_shape(getattr(data.base_site, 'geom')))
    base['geom'] = [geometry['geometry']['coordinates']]
    result = data.as_dict(recursif=False)
    result['menaces_ids'] = [
        menace.id_nomenclature_menaces for menace in data.menaces_ids
    ]
    result['amenagements_ids'] = [
        amenagement.id_nomenclature_amenagement
        for amenagement in data.amenagements_ids
    ]
    base.update(result)

    # get medium
    medium = TMediumRepository.get_medium_for_entity(
        data.base_site.uuid_base_site)
    if (medium):
        base['medium'] = [m.as_dict() for m in medium]

    return base
コード例 #4
0
def _format_occtax_data(data):
    '''
        Procédure de sérialisation non récursive des modèles
    '''
    result = data.as_dict(recursif=False)
    result['id'] = data.id_contact_taxon
    result['indices'] = [
        indice.id_nomenclature_indice for indice in data.indices
    ]
    result['denombrements'] = [d.as_dict() for d in data.denombrements]
    # get medium
    medium = TMediumRepository().get_medium_for_entity(
        data.uuid_chiro_visite_contact_taxon)
    if (medium):
        result['medium'] = [m.as_dict() for m in medium]

    return result