Exemplo n.º 1
0
def tributo_delete(sender, instance, **kwargs):
    if instance.f24:
        file = instance.f24
        if os.path.isfile(file.path):
            # Rimuove il file
            os.remove(file.path)

    # Elimina i le cartelle vuote
    purge_empty_dirs(settings.MEDIA_ROOT, removeRoot=False)
Exemplo n.º 2
0
def tributo_check(sender, instance, **kwargs):
    # controlla se l'istanza è nuova o no
    try:
        tributo = Tributo.objects.get(pk=instance.pk)
    except ObjectDoesNotExist:
        # se l'istanza è nuova lascia perdere
        pass
    else:
        # se l'istanza è stata modificata
        file_old = tributo.f24 or None
        file_new = instance.f24

        if file_old is not None:
            # Se il file viene cambiato
            if file_old != file_new:
                # elimina il vecchio file
                if os.path.isfile(file_old.path):
                    os.remove(file_old.path)

        # Elimina i le cartelle vuote
        purge_empty_dirs(settings.MEDIA_ROOT, removeRoot=False)
Exemplo n.º 3
0
def wallpapers_check(sender, instance, **kwargs):
    # controlla se l'istanza è nuova o no
    try:
        categoria = Categoria.objects.get(pk=instance.pk)
    except ObjectDoesNotExist:
        # se l'istanza è nuova lascia perdere
        pass
    else:
        # se l'istanza è stata modificata
        wallpaper_old = categoria.wallpaper or None
        wallpaper_new = instance.wallpaper

        if wallpaper_old is not None:
            # Se il file viene cambiato
            if wallpaper_old != wallpaper_new:
                # elimina il vecchio file
                if os.path.isfile(wallpaper_old.path):
                    os.remove(wallpaper_old.path)
                    shutil.rmtree(settings.MEDIA_ROOT /
                                  f"{WALLPAPERS_CATEGORIA_DIR}/{instance.id}")

        # Elimina i le cartelle vuote
        purge_empty_dirs(settings.MEDIA_ROOT, removeRoot=False)