Un soucis qu'on a avec les portails sous Zope, c'est l'impossibilité d'estimer l'espace disque pris par une rubrique et ces sous dossiers.
(si c'est faisable, merci de m'arreter de suite)
J'essaye donc de faire cette estimation moi-même. On utilise DirectoryStorage comme backend pour la Zodb. Un fichier == un objet, donc ca me simplifie la tâche.
J'arrive a récupérer le fichier de stockage d'un objet arbitraire :
Code :
- db = ZODB.DB(storage)
- connection = db.open()
- root = connection.root()
- zope = root['Application']
- def pathToObject(path):
- pathElems = path.split('/')
- obj = zope
- for elem in pathElems:
- if elem:
- obj = obj[elem]
- return obj
|
plus encore un peu de sauce propre a DirectoryStorage.
Le probleme, c'est qu'un document a evidement pas mal d'attributs, que ce soit un commentaire ou un fichier par exemple.
Il me faudrait donc itérer parmis tout ca et ajouter la taille de ces elements. D'habitude, j'utilise
pour ca, mais la ca ne me renvoit pas tout.
il y a autre chose pour récuperer les attributs, qui marchent avec les anciennes classes, et les nouvelles ?