convert xbmc.translatePath to xbmcvfs.translatePath

This commit is contained in:
Rob Weber 2020-11-18 14:07:06 -06:00
parent a198c9448a
commit a0eb28a5f6
8 changed files with 58 additions and 57 deletions

View File

@ -25,8 +25,8 @@ def remove_auth():
if(shouldDelete): if(shouldDelete):
# delete any of the known token file types # delete any of the known token file types
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "tokens.txt")) # dropbox xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt")) # dropbox
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "google_drive.dat")) # google drive xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "google_drive.dat")) # google drive
def get_params(): def get_params():

View File

@ -7,7 +7,7 @@ from . import utils as utils
class BackupSetManager: class BackupSetManager:
jsonFile = xbmc.translatePath(utils.data_dir() + "custom_paths.json") jsonFile = xbmcvfs.translatePath(utils.data_dir() + "custom_paths.json")
paths = None paths = None
def __init__(self): def __init__(self):
@ -106,7 +106,7 @@ class AdvancedBackupEditor:
rootFolder = rootFolder + '/' rootFolder = rootFolder + '/'
# check that this path even exists # check that this path even exists
if(not xbmcvfs.exists(xbmc.translatePath(rootFolder))): if(not xbmcvfs.exists(xbmcvfs.translatePath(rootFolder))):
self.dialog.ok(utils.getString(30117), utils.getString(30118), rootFolder) self.dialog.ok(utils.getString(30117), utils.getString(30118), rootFolder)
return None return None
else: else:
@ -227,7 +227,7 @@ class AdvancedBackupEditor:
shouldContinue = self.dialog.yesno(utils.getString(30139), utils.getString(30140), utils.getString(30141)) shouldContinue = self.dialog.yesno(utils.getString(30139), utils.getString(30140), utils.getString(30141))
if(shouldContinue): if(shouldContinue):
source = xbmc.translatePath(os.path.join(utils.addon_dir(), 'resources', 'data', 'default_files.json')) source = xbmcvfs.translatePath(os.path.join(utils.addon_dir(), 'resources', 'data', 'default_files.json'))
dest = xbmc.translatePath(os.path.join(utils.data_dir(), 'custom_paths.json')) dest = xbmcvfs.translatePath(os.path.join(utils.data_dir(), 'custom_paths.json'))
xbmcvfs.copy(source, dest) xbmcvfs.copy(source, dest)

View File

@ -89,14 +89,14 @@ class DropboxAuthorizer:
def _setToken(self, token): def _setToken(self, token):
# write the token files # write the token files
token_file = open(xbmc.translatePath(utils.data_dir() + "tokens.txt"), 'w') token_file = open(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt"), 'w')
token_file.write(token) token_file.write(token)
token_file.close() token_file.close()
def _getToken(self): def _getToken(self):
# get token, if it exists # get token, if it exists
if(xbmcvfs.exists(xbmc.translatePath(utils.data_dir() + "tokens.txt"))): if(xbmcvfs.exists(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt"))):
token_file = open(xbmc.translatePath(utils.data_dir() + "tokens.txt")) token_file = open(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt"))
token = token_file.read() token = token_file.read()
token_file.close() token_file.close()
@ -105,5 +105,5 @@ class DropboxAuthorizer:
return "" return ""
def _deleteToken(self): def _deleteToken(self):
if(xbmcvfs.exists(xbmc.translatePath(utils.data_dir() + "tokens.txt"))): if(xbmcvfs.exists(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt"))):
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "tokens.txt")) xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "tokens.txt"))

View File

@ -47,7 +47,7 @@ class XbmcBackup:
skip_advanced = False # if we should check for the existance of advancedsettings in the restore skip_advanced = False # if we should check for the existance of advancedsettings in the restore
def __init__(self): def __init__(self):
self.xbmc_vfs = XBMCFileSystem(xbmc.translatePath('special://home')) self.xbmc_vfs = XBMCFileSystem(xbmcvfs.translatePath('special://home'))
self.configureRemote() self.configureRemote()
utils.log(utils.getString(30046)) utils.log(utils.getString(30046))
@ -165,7 +165,7 @@ class XbmcBackup:
# backup all the files # backup all the files
self.transferLeft = self.transferSize self.transferLeft = self.transferSize
for fileGroup in allFiles: for fileGroup in allFiles:
self.xbmc_vfs.set_root(xbmc.translatePath(fileGroup['source'])) self.xbmc_vfs.set_root(xbmcvfs.translatePath(fileGroup['source']))
self.remote_vfs.set_root(fileGroup['dest'] + fileGroup['name']) self.remote_vfs.set_root(fileGroup['dest'] + fileGroup['name'])
filesCopied = self._copyFiles(fileGroup['files'], self.xbmc_vfs, self.remote_vfs) filesCopied = self._copyFiles(fileGroup['files'], self.xbmc_vfs, self.remote_vfs)
@ -183,11 +183,11 @@ class XbmcBackup:
# send the zip file to the real remote vfs # send the zip file to the real remote vfs
zip_name = self.remote_vfs.root_path[:-1] + ".zip" zip_name = self.remote_vfs.root_path[:-1] + ".zip"
self.remote_vfs.cleanup() self.remote_vfs.cleanup()
self.xbmc_vfs.rename(xbmc.translatePath("special://temp/xbmc_backup_temp.zip"), xbmc.translatePath("special://temp/" + zip_name)) self.xbmc_vfs.rename(xbmcvfs.translatePath("special://temp/xbmc_backup_temp.zip"), xbmcvfs.translatePath("special://temp/" + zip_name))
fileManager.addFile(xbmc.translatePath("special://temp/" + zip_name)) fileManager.addFile(xbmcvfs.translatePath("special://temp/" + zip_name))
# set root to data dir home and reset remote # set root to data dir home and reset remote
self.xbmc_vfs.set_root(xbmc.translatePath("special://temp/")) self.xbmc_vfs.set_root(xbmcvfs.translatePath("special://temp/"))
self.remote_vfs = self.saved_remote_vfs self.remote_vfs = self.saved_remote_vfs
# update the amount to transfer # update the amount to transfer
@ -200,7 +200,7 @@ class XbmcBackup:
shouldContinue = xbmcgui.Dialog().ok(utils.getString(30089), utils.getString(30090), utils.getString(30091)) shouldContinue = xbmcgui.Dialog().ok(utils.getString(30089), utils.getString(30090), utils.getString(30091))
# delete the temp zip file # delete the temp zip file
self.xbmc_vfs.rmfile(xbmc.translatePath("special://temp/" + zip_name)) self.xbmc_vfs.rmfile(xbmcvfs.translatePath("special://temp/" + zip_name))
# remove old backups # remove old backups
self._rotateBackups() self._rotateBackups()
@ -220,9 +220,9 @@ class XbmcBackup:
utils.log("copying zip file: " + self.restore_point) utils.log("copying zip file: " + self.restore_point)
# set root to data dir home # set root to data dir home
self.xbmc_vfs.set_root(xbmc.translatePath("special://temp/")) self.xbmc_vfs.set_root(xbmcvfs.translatePath("special://temp/"))
if(not self.xbmc_vfs.exists(xbmc.translatePath("special://temp/" + self.restore_point))): if(not self.xbmc_vfs.exists(xbmcvfs.translatePath("special://temp/" + self.restore_point))):
# copy just this file from the remote vfs # copy just this file from the remote vfs
self.transferSize = self.remote_vfs.fileSize(self.remote_base_path + self.restore_point) self.transferSize = self.remote_vfs.fileSize(self.remote_base_path + self.restore_point)
zipFile = [] zipFile = []
@ -235,13 +235,13 @@ class XbmcBackup:
utils.log("zip file exists already") utils.log("zip file exists already")
# extract the zip file # extract the zip file
zip_vfs = ZipFileSystem(xbmc.translatePath("special://temp/" + self.restore_point), 'r') zip_vfs = ZipFileSystem(xbmcvfs.translatePath("special://temp/" + self.restore_point), 'r')
extractor = ZipExtractor() extractor = ZipExtractor()
if(not extractor.extract(zip_vfs, xbmc.translatePath("special://temp/"), self.progressBar)): if(not extractor.extract(zip_vfs, xbmcvfs.translatePath("special://temp/"), self.progressBar)):
# we had a problem extracting the archive, delete everything # we had a problem extracting the archive, delete everything
zip_vfs.cleanup() zip_vfs.cleanup()
self.xbmc_vfs.rmfile(xbmc.translatePath("special://temp/" + self.restore_point)) self.xbmc_vfs.rmfile(xbmcvfs.translatePath("special://temp/" + self.restore_point))
xbmcgui.Dialog().ok(utils.getString(30010), utils.getString(30101)) xbmcgui.Dialog().ok(utils.getString(30010), utils.getString(30101))
return return
@ -250,8 +250,8 @@ class XbmcBackup:
self.progressBar.updateProgress(0, utils.getString(30049) + "......") self.progressBar.updateProgress(0, utils.getString(30049) + "......")
# set the new remote vfs and fix xbmc path # set the new remote vfs and fix xbmc path
self.remote_vfs = XBMCFileSystem(xbmc.translatePath("special://temp/" + self.restore_point.split(".")[0] + "/")) self.remote_vfs = XBMCFileSystem(xbmcvfs.translatePath("special://temp/" + self.restore_point.split(".")[0] + "/"))
self.xbmc_vfs.set_root(xbmc.translatePath("special://home/")) self.xbmc_vfs.set_root(xbmcvfs.translatePath("special://home/"))
# for restores remote path must exist # for restores remote path must exist
if(not self.remote_vfs.exists(self.remote_vfs.root_path)): if(not self.remote_vfs.exists(self.remote_vfs.root_path)):
@ -300,7 +300,7 @@ class XbmcBackup:
# add this directory # add this directory
aDir = valFile['directories'][index] aDir = valFile['directories'][index]
self.xbmc_vfs.set_root(xbmc.translatePath(aDir['path'])) self.xbmc_vfs.set_root(xbmcvfs.translatePath(aDir['path']))
if(self.remote_vfs.exists(self.remote_vfs.root_path + aDir['name'] + '/')): if(self.remote_vfs.exists(self.remote_vfs.root_path + aDir['name'] + '/')):
# walk the directory # walk the directory
fileManager.walkTree(self.remote_vfs.root_path + aDir['name'] + '/') fileManager.walkTree(self.remote_vfs.root_path + aDir['name'] + '/')
@ -322,7 +322,7 @@ class XbmcBackup:
if(self.restore_point.split('.')[-1] == 'zip'): if(self.restore_point.split('.')[-1] == 'zip'):
# delete the zip file and the extracted directory # delete the zip file and the extracted directory
self.xbmc_vfs.rmfile(xbmc.translatePath("special://temp/" + self.restore_point)) self.xbmc_vfs.rmfile(xbmcvfs.translatePath("special://temp/" + self.restore_point))
self.xbmc_vfs.rmdir(self.remote_vfs.root_path) self.xbmc_vfs.rmdir(self.remote_vfs.root_path)
# update the guisettings information (or what we can from it) # update the guisettings information (or what we can from it)
@ -342,15 +342,15 @@ class XbmcBackup:
if(mode == self.Backup and self.remote_vfs.root_path != ''): if(mode == self.Backup and self.remote_vfs.root_path != ''):
if(utils.getSettingBool("compress_backups")): if(utils.getSettingBool("compress_backups")):
# delete old temp file # delete old temp file
if(self.xbmc_vfs.exists(xbmc.translatePath('special://temp/xbmc_backup_temp.zip'))): if(self.xbmc_vfs.exists(xbmcvfs.translatePath('special://temp/xbmc_backup_temp.zip'))):
if(not self.xbmc_vfs.rmfile(xbmc.translatePath('special://temp/xbmc_backup_temp.zip'))): if(not self.xbmc_vfs.rmfile(xbmcvfs.translatePath('special://temp/xbmc_backup_temp.zip'))):
# we had some kind of error deleting the old file # we had some kind of error deleting the old file
xbmcgui.Dialog().ok(utils.getString(30010), utils.getString(30096), utils.getString(30097)) xbmcgui.Dialog().ok(utils.getString(30010), utils.getString(30096), utils.getString(30097))
return False return False
# save the remote file system and use the zip vfs # save the remote file system and use the zip vfs
self.saved_remote_vfs = self.remote_vfs self.saved_remote_vfs = self.remote_vfs
self.remote_vfs = ZipFileSystem(xbmc.translatePath("special://temp/xbmc_backup_temp.zip"), "w") self.remote_vfs = ZipFileSystem(xbmcvfs.translatePath("special://temp/xbmc_backup_temp.zip"), "w")
self.remote_vfs.set_root(self.remote_vfs.root_path + time.strftime("%Y%m%d%H%M") + "/") self.remote_vfs.set_root(self.remote_vfs.root_path + time.strftime("%Y%m%d%H%M") + "/")
progressBarTitle = progressBarTitle + utils.getString(30023) + ": " + utils.getString(30016) progressBarTitle = progressBarTitle + utils.getString(30023) + ": " + utils.getString(30016)
@ -423,7 +423,7 @@ class XbmcBackup:
utils.log('Backup set: ' + folder_name) utils.log('Backup set: ' + folder_name)
fileManager = FileManager(self.xbmc_vfs) fileManager = FileManager(self.xbmc_vfs)
self.xbmc_vfs.set_root(xbmc.translatePath(root_path)) self.xbmc_vfs.set_root(xbmcvfs.translatePath(root_path))
for aDir in dirList: for aDir in dirList:
fileManager.addDir(aDir) fileManager.addDir(aDir)
@ -479,23 +479,23 @@ class XbmcBackup:
valDirs.append({"name": aDir['name'], "path": aDir['source']}) valDirs.append({"name": aDir['name'], "path": aDir['source']})
valInfo['directories'] = valDirs valInfo['directories'] = valDirs
vFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"), 'w') vFile = xbmcvfs.File(xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup.val"), 'w')
vFile.write(json.dumps(valInfo)) vFile.write(json.dumps(valInfo))
vFile.write("") vFile.write("")
vFile.close() vFile.close()
success = self.remote_vfs.put(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"), self.remote_vfs.root_path + "xbmcbackup.val") success = self.remote_vfs.put(xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup.val"), self.remote_vfs.root_path + "xbmcbackup.val")
# remove the validation file # remove the validation file
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val")) xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup.val"))
if(success): if(success):
# android requires a .nomedia file to not index the directory as media # android requires a .nomedia file to not index the directory as media
if(not xbmcvfs.exists(xbmc.translatePath(utils.data_dir() + ".nomedia"))): if(not xbmcvfs.exists(xbmcvfs.translatePath(utils.data_dir() + ".nomedia"))):
nmFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + ".nomedia"), 'w') nmFile = xbmcvfs.File(xbmcvfs.translatePath(utils.data_dir() + ".nomedia"), 'w')
nmFile.close() nmFile.close()
success = self.remote_vfs.put(xbmc.translatePath(utils.data_dir() + ".nomedia"), self.remote_vfs.root_path + ".nomedia") success = self.remote_vfs.put(xbmcvfs.translatePath(utils.data_dir() + ".nomedia"), self.remote_vfs.root_path + ".nomedia")
return success return success
@ -504,15 +504,15 @@ class XbmcBackup:
# copy the file and open it # copy the file and open it
if(isinstance(self.remote_vfs, DropboxFileSystem)): if(isinstance(self.remote_vfs, DropboxFileSystem)):
self.remote_vfs.get_file(path + "xbmcbackup.val", xbmc.translatePath(utils.data_dir() + "xbmcbackup_restore.val")) self.remote_vfs.get_file(path + "xbmcbackup.val", xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup_restore.val"))
else: else:
self.xbmc_vfs.put(path + "xbmcbackup.val", xbmc.translatePath(utils.data_dir() + "xbmcbackup_restore.val")) self.xbmc_vfs.put(path + "xbmcbackup.val", xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup_restore.val"))
with xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "xbmcbackup_restore.val"), 'r') as vFile: with xbmcvfs.File(xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup_restore.val"), 'r') as vFile:
jsonString = vFile.read() jsonString = vFile.read()
# delete after checking # delete after checking
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "xbmcbackup_restore.val")) xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "xbmcbackup_restore.val"))
try: try:
result = json.loads(jsonString) result = json.loads(jsonString)
@ -530,11 +530,11 @@ class XbmcBackup:
return result return result
def _createResumeBackupFile(self): def _createResumeBackupFile(self):
with xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "resume.txt"), 'w') as f: with xbmcvfs.File(xbmcvfs.translatePath(utils.data_dir() + "resume.txt"), 'w') as f:
f.write(self.restore_point) f.write(self.restore_point)
def _readBackupConfig(self, aFile): def _readBackupConfig(self, aFile):
with xbmcvfs.File(xbmc.translatePath(aFile), 'r') as f: with xbmcvfs.File(xbmcvfs.translatePath(aFile), 'r') as f:
jsonString = f.read() jsonString = f.read()
return json.loads(jsonString) return json.loads(jsonString)
@ -555,8 +555,8 @@ class FileManager:
def walk(self): def walk(self):
for aDir in self.root_dirs: for aDir in self.root_dirs:
self.addFile('-' + xbmc.translatePath(aDir['path'])) self.addFile('-' + xbmcvfs.translatePath(aDir['path']))
self.walkTree(xbmc.translatePath(aDir['path']), aDir['recurse']) self.walkTree(xbmcvfs.translatePath(aDir['path']), aDir['recurse'])
def walkTree(self, directory, recurse=True): def walkTree(self, directory, recurse=True):
if(utils.getSettingBool('verbose_logging')): if(utils.getSettingBool('verbose_logging')):
@ -571,7 +571,7 @@ class FileManager:
if(recurse): if(recurse):
# create all the subdirs first # create all the subdirs first
for aDir in dirs: for aDir in dirs:
dirPath = xbmcvfs.validatePath(xbmc.translatePath(directory + self.pathSep + aDir)) dirPath = xbmcvfs.validatePath(xbmcvfs.translatePath(directory + self.pathSep + aDir))
file_ext = aDir.split('.')[-1] file_ext = aDir.split('.')[-1]
# check if directory is excluded # check if directory is excluded
@ -591,14 +591,14 @@ class FileManager:
# copy all the files # copy all the files
for aFile in files: for aFile in files:
filePath = xbmc.translatePath(directory + self.pathSep + aFile) filePath = xbmcvfs.translatePath(directory + self.pathSep + aFile)
self.addFile(filePath) self.addFile(filePath)
def addDir(self, dirMeta): def addDir(self, dirMeta):
if(dirMeta['type'] == 'include'): if(dirMeta['type'] == 'include'):
self.root_dirs.append({'path': dirMeta['path'], 'recurse': dirMeta['recurse']}) self.root_dirs.append({'path': dirMeta['path'], 'recurse': dirMeta['recurse']})
else: else:
self.excludeFile(xbmc.translatePath(dirMeta['path'])) self.excludeFile(xbmcvfs.translatePath(dirMeta['path']))
def addFile(self, filename): def addFile(self, filename):
# write the full remote path name of this file # write the full remote path name of this file

View File

@ -11,10 +11,10 @@ class GuiSettingsManager:
def __init__(self): def __init__(self):
# first make a copy of the file # first make a copy of the file
xbmcvfs.copy(xbmc.translatePath('special://home/userdata/guisettings.xml'), xbmc.translatePath("special://home/userdata/guisettings.xml.restored")) xbmcvfs.copy(xbmcvfs.translatePath('special://home/userdata/guisettings.xml'), xbmcvfs.translatePath("special://home/userdata/guisettings.xml.restored"))
# read in the copy # read in the copy
self._readFile(xbmc.translatePath('special://home/userdata/guisettings.xml.restored')) self._readFile(xbmcvfs.translatePath('special://home/userdata/guisettings.xml.restored'))
def run(self): def run(self):
# get a list of all the settings we can manipulate via json # get a list of all the settings we can manipulate via json

View File

@ -20,7 +20,7 @@ class BackupScheduler:
def __init__(self): def __init__(self):
self.monitor = UpdateMonitor(update_method=self.settingsChanged) self.monitor = UpdateMonitor(update_method=self.settingsChanged)
self.enabled = utils.getSettingBool("enable_scheduler") self.enabled = utils.getSettingBool("enable_scheduler")
self.next_run_path = xbmc.translatePath(utils.data_dir()) + 'next_run.txt' self.next_run_path = xbmcvfs.translatePath(utils.data_dir()) + 'next_run.txt'
if(self.enabled): if(self.enabled):
@ -173,11 +173,11 @@ class BackupScheduler:
def _resumeCheck(self): def _resumeCheck(self):
shouldContinue = False shouldContinue = False
if(xbmcvfs.exists(xbmc.translatePath(utils.data_dir() + "resume.txt"))): if(xbmcvfs.exists(xbmcvfs.translatePath(utils.data_dir() + "resume.txt"))):
rFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "resume.txt"), 'r') rFile = xbmcvfs.File(xbmcvfs.translatePath(utils.data_dir() + "resume.txt"), 'r')
self.restore_point = rFile.read() self.restore_point = rFile.read()
rFile.close() rFile.close()
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "resume.txt")) xbmcvfs.delete(xbmcvfs.translatePath(utils.data_dir() + "resume.txt"))
shouldContinue = xbmcgui.Dialog().yesno(utils.getString(30042), utils.getString(30043), utils.getString(30044)) shouldContinue = xbmcgui.Dialog().yesno(utils.getString(30042), utils.getString(30043), utils.getString(30044))
return shouldContinue return shouldContinue

View File

@ -1,6 +1,7 @@
import xbmc import xbmc
import xbmcgui import xbmcgui
import xbmcaddon import xbmcaddon
import xbmcvfs
__addon_id__ = 'script.xbmcbackup' __addon_id__ = 'script.xbmcbackup'
__Addon = xbmcaddon.Addon(__addon_id__) __Addon = xbmcaddon.Addon(__addon_id__)
@ -23,7 +24,7 @@ def log(message, loglevel=xbmc.LOGDEBUG):
def showNotification(message): def showNotification(message):
xbmcgui.Dialog().notification(getString(30010), message, time=4000, icon=xbmc.translatePath(__Addon.getAddonInfo('path') + "/resources/images/icon.png")) xbmcgui.Dialog().notification(getString(30010), message, time=4000, icon=xbmcvfs.translatePath(__Addon.getAddonInfo('path') + "/resources/images/icon.png"))
def getSetting(name): def getSetting(name):

View File

@ -68,10 +68,10 @@ class XBMCFileSystem(Vfs):
return xbmcvfs.listdir(directory) return xbmcvfs.listdir(directory)
def mkdir(self, directory): def mkdir(self, directory):
return xbmcvfs.mkdir(xbmc.translatePath(directory)) return xbmcvfs.mkdir(xbmcvfs.translatePath(directory))
def put(self, source, dest): def put(self, source, dest):
return xbmcvfs.copy(xbmc.translatePath(source), xbmc.translatePath(dest)) return xbmcvfs.copy(xbmcvfs.translatePath(source), xbmcvfs.translatePath(dest))
def rmdir(self, directory): def rmdir(self, directory):
return xbmcvfs.rmdir(directory, True) return xbmcvfs.rmdir(directory, True)
@ -108,7 +108,7 @@ class ZipFileSystem(Vfs):
def put(self, source, dest): def put(self, source, dest):
aFile = xbmcvfs.File(xbmc.translatePath(source), 'r') aFile = xbmcvfs.File(xbmcvfs.translatePath(source), 'r')
self.zip.writestr(dest, aFile.readBytes()) self.zip.writestr(dest, aFile.readBytes())