Ejemplo n.º 1
0
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,
    }
Ejemplo n.º 2
0
 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)