def _upload(params): path = params['path'] if bpio.Linux() or bpio.Mac(): path = '/' + (path.lstrip('/')) localPath = unicode(path) if not bpio.pathExist(localPath): return { 'result': { "success": False, "error": 'local path %s was not found' % path } } result = [] pathID = backup_fs.ToID(localPath) if pathID is None: if bpio.pathIsDir(localPath): pathID, iter, iterID = backup_fs.AddDir(localPath, read_stats=True) result.append('new folder was added: %s' % localPath) else: pathID, iter, iterID = backup_fs.AddFile(localPath, read_stats=True) result.append('new file was added: %s' % localPath) pathID = global_id.CanonicalID(pathID) backup_control.StartSingle(pathID=pathID, localPath=localPath) backup_fs.Calculate() backup_control.Save() control.request_update([ ('pathID', pathID), ]) result.append('backup started: %s' % pathID) return { 'result': result, }
def test_file_create_with_key_alias(self): key_id = '[email protected]_8084' key_alias = key_id.split('$')[0] customer_idurl = 'http://127.0.0.1:8084/alice.xml' path = 'animals/dog.png' parent_path = os.path.dirname(path) parentPathID, _, _, _ = backup_fs.AddDir( parent_path, read_stats=False, iter=backup_fs.fs(customer_idurl, key_alias), iterID=backup_fs.fsID(customer_idurl, key_alias), key_id=key_id, ) id_iter_iterID = backup_fs.GetIteratorsByPath( parent_path, iter=backup_fs.fs(customer_idurl, key_alias), iterID=backup_fs.fsID(customer_idurl, key_alias), ) newPathID, itemInfo, _, _ = backup_fs.PutItem( name=os.path.basename(path), parent_path_id=parentPathID, as_folder=False, iter=id_iter_iterID[1], iterID=id_iter_iterID[2], key_id=key_id, ) self.assertEqual(newPathID, itemInfo.path_id) self.assertEqual(itemInfo.name(), 'dog.png') self.assertEqual(itemInfo.key_alias(), 'share_abcd') p1, p2 = newPathID.split('/') self.assertEqual(backup_fs.fs(customer_idurl, key_alias), {'animals': { 0: int(p1), 'dog.png': int(p2) }}) self.assertEqual( backup_fs.fsID(customer_idurl, key_alias)[int(p1)]['i'].name(), 'animals') self.assertEqual( backup_fs.fsID(customer_idurl, key_alias)[int(p1)]['i'].key_id, key_id) self.assertEqual( backup_fs.fsID(customer_idurl, key_alias)[int(p1)][int(p2)].name(), 'dog.png') self.assertEqual( backup_fs.fsID(customer_idurl, key_alias)[int(p1)][int(p2)].key_id, key_id)