Projet

Général

Profil

Bug #7327

Possibilité de nettoyer les répertoire d'uploads/

Ajouté par Frédéric Péters il y a presque 9 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
-
Version cible:
-
Début:
21 mai 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

On doit pouvoir passer sur tous les formdata et voir ainsi quels sont les fichies encore utilisés.

#! /usr/bin/env python

from quixote import get_publisher
from wcs.formdef import FormDef
import os

known_filenames = set()

for formdef in FormDef.select():
    file_fields = [x for x in formdef.fields if x.type == 'file']
    if not file_fields:
        continue
    data_class = formdef.data_class()
    for formdata_id in data_class.keys():
        formdata = data_class.get(formdata_id, ignore_migration=True)
        for file_field in file_fields:
            if not formdata.data.get(file_field.id):
                continue
            known_filenames.add(formdata.data[file_field.id].qfilename)

existing_filenames = set(os.listdir(os.path.join(get_publisher().app_dir, 'uploads')))

print len(existing_filenames)
print len(existing_filenames-known_filenames)

Dans d'autres circonstances peut-être, aussi, passer sur les champs du profil de l'utilisateur; et vérifier qu'il n'y pas de fichiers stockés pour autre chose (modèle de document ?) dans le répertoire uploads/.

Historique

#1

Mis à jour par Frédéric Péters il y a presque 9 ans

À Montpellier, sur l'instance de l'agglo,

print sum([os.stat(os.path.join(get_publisher().app_dir, 'uploads', x)).st_size for x in (existing_filenames-known_filenames)])

→ 7 Go, quand même.

#2

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Nouveau à Fermé

Il y a désormais un nettoyage automatique, ajouté dans #27255.

Formats disponibles : Atom PDF