def test(): """ For tests. """ # backup_fs.Calculate() # print backup_fs.counter() # print backup_fs.numberfiles() # print backup_fs.sizefiles() # print backup_fs.sizebackups() import pprint pprint.pprint(backup_fs.fsID()) pprint.pprint(backup_fs.fs()) print backup_fs.GetByID('0')
def ReadLocalFiles(): """ This method scans local backups and build the whole "local" matrix. """ global _LocalFilesNotifyCallback local_files().clear() local_max_block_numbers().clear() local_backup_size().clear() _counter = [0,] def visit(realpath, subpath, name): # subpath is something like 0/0/1/0/F20131120053803PM/0-1-Data if not os.path.isfile(realpath): return True if realpath.startswith('newblock-'): return False if subpath in [ settings.BackupIndexFileName(), settings.BackupInfoFileName(), settings.BackupInfoFileNameOld(), settings.BackupInfoEncryptedFileName() ]: return False try: version = subpath.split('/')[-2] except: return False if not packetid.IsCanonicalVersion(version): return True LocalFileReport(packetID=subpath) _counter[0] += 1 return False dhnio.traverse_dir_recursive(visit, settings.getLocalBackupsDir()) dhnio.Dprint(8, 'backup_matrix.ReadLocalFiles %d files indexed' % _counter[0]) if dhnio.Debug(8): try: if sys.version_info >= (2, 6): #localSZ = sys.getsizeof(local_files()) #remoteSZ = sys.getsizeof(remote_files()) import lib.getsizeof localSZ = lib.getsizeof.total_size(local_files()) remoteSZ = lib.getsizeof.total_size(remote_files()) indexByName = lib.getsizeof.total_size(backup_fs.fs()) indexByID = lib.getsizeof.total_size(backup_fs.fsID()) dhnio.Dprint(10, ' all local info uses %d bytes in the memory' % localSZ) dhnio.Dprint(10, ' all remote info uses %d bytes in the memory' % remoteSZ) dhnio.Dprint(10, ' index by name takes %d bytes in the memory' % indexByName) dhnio.Dprint(10, ' index by ID takes %d bytes in the memory' % indexByID) except: dhnio.DprintException() if _LocalFilesNotifyCallback is not None: _LocalFilesNotifyCallback()