skip to navigation
skip to content

Not Logged In

dm.zodb.repair 1.0

ZODB: recover lost objects from a backup

This package contains a function to restore lost objects from a ZODB backup. In the future, it might grow further tools for ZODB repair.

recover.restore_from_backup

The module recover defines the function restore_from_backup to restore lost objects from a ZODB backup. restore_from_backup has parameters lost, backup and target.

lost is an iterable of oids identifying objects lost in target. The oids might e.g. have been found by the standard fsrefs utility.

backup and target are open ZODB storages. backup is read only and can have been opened read only; target is read and written.

restore_from_backup reads the objects identified by the oids in lost from backup and writes them to target. If such a restored object contains references to other objects not available in target, they are restored recursively. The operations are logged via Python's standard logging subsystem.

Example usage:

from logging import basicConfig, getLogger, INFO
from ZODB.FileStorage.FileStorage import FileStorage
from dm.zodb.repair.recover import restore_from_backup

basicConfig()
logger = getLogger(); logger.setLevel(INFO)

lost = [....] # list of oids for lost objects, e.g. derived from "fsrefs" output

backup = FileStorage('backup.fs', read_only=True)
target = FileStorage('target.fs')
restore_from_backup(lost, backup, target)
backup.close()
target.close()
 
File Type Py Version Uploaded on Size
dm.zodb.repair-1.0.tar.gz (md5) Source 2010-11-10 2KB
  • Downloads (All Versions):
  • 8 downloads in the last day
  • 22 downloads in the last week
  • 136 downloads in the last month