mirror of
https://github.com/robweber/xbmcbackup.git
synced 2024-11-15 04:45:49 +01:00
Merge pull request #48 from robweber/scripting_updates
Scripting Updates
This commit is contained in:
commit
3a25c1c4eb
43
default.py
43
default.py
@ -1,21 +1,37 @@
|
|||||||
|
import urlparse
|
||||||
import xbmcgui
|
import xbmcgui
|
||||||
import resources.lib.utils as utils
|
import resources.lib.utils as utils
|
||||||
from resources.lib.backup import XbmcBackup
|
from resources.lib.backup import XbmcBackup
|
||||||
|
|
||||||
|
def get_params():
|
||||||
|
param = {}
|
||||||
|
|
||||||
|
if(len(sys.argv) > 1):
|
||||||
|
for i in sys.argv:
|
||||||
|
args = i
|
||||||
|
if(args.startswith('?')):
|
||||||
|
args = args[1:]
|
||||||
|
param.update(dict(urlparse.parse_qsl(args)))
|
||||||
|
|
||||||
|
return param
|
||||||
|
|
||||||
#the program mode
|
#the program mode
|
||||||
mode = -1
|
mode = -1
|
||||||
|
params = get_params()
|
||||||
|
|
||||||
#check if mode was passed in as an argument
|
|
||||||
if(len(sys.argv) > 1):
|
if("mode" in params):
|
||||||
if(sys.argv[1].lower() == 'backup'):
|
if(params['mode'] == 'backup'):
|
||||||
mode = 0
|
mode = 0
|
||||||
elif(sys.argv[1].lower() == 'restore'):
|
elif(params['mode'] == 'restore'):
|
||||||
mode = 1
|
mode = 1
|
||||||
|
|
||||||
|
#if mode wasn't passed in as arg, get from user
|
||||||
if(mode == -1):
|
if(mode == -1):
|
||||||
#figure out if this is a backup or a restore from the user
|
#figure out if this is a backup or a restore from the user
|
||||||
mode = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30023),[utils.getString(30016),utils.getString(30017)])
|
mode = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30023),[utils.getString(30016),utils.getString(30017)])
|
||||||
|
|
||||||
|
#check if program should be run
|
||||||
if(mode != -1):
|
if(mode != -1):
|
||||||
#run the profile backup
|
#run the profile backup
|
||||||
backup = XbmcBackup()
|
backup = XbmcBackup()
|
||||||
@ -23,14 +39,29 @@ if(mode != -1):
|
|||||||
if(backup.remoteConfigured()):
|
if(backup.remoteConfigured()):
|
||||||
|
|
||||||
if(mode == backup.Restore):
|
if(mode == backup.Restore):
|
||||||
#allow user to select the backup to restore from
|
#get list of valid restore points
|
||||||
restorePoints = backup.listBackups()
|
restorePoints = backup.listBackups()
|
||||||
pointNames = []
|
pointNames = []
|
||||||
|
folderNames = []
|
||||||
|
|
||||||
for aDir in restorePoints:
|
for aDir in restorePoints:
|
||||||
pointNames.append(aDir[1])
|
pointNames.append(aDir[1])
|
||||||
|
folderNames.append(aDir[0])
|
||||||
|
|
||||||
selectedRestore = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30021),pointNames)
|
selectedRestore = -1
|
||||||
|
|
||||||
|
if("archive" in params):
|
||||||
|
#check that the user give archive exists
|
||||||
|
if(params['archive'] in folderNames):
|
||||||
|
#set the index
|
||||||
|
selectedRestore = folderNames.index(params['archive'])
|
||||||
|
utils.log(str(selectedRestore) + " : " + params['archive'])
|
||||||
|
else:
|
||||||
|
utils.showNotification(utils.getString(30045))
|
||||||
|
utils.log(params['archive'] + ' is not a valid restore point')
|
||||||
|
else:
|
||||||
|
#allow user to select the backup to restore from
|
||||||
|
selectedRestore = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30021),pointNames)
|
||||||
|
|
||||||
if(selectedRestore != -1):
|
if(selectedRestore != -1):
|
||||||
backup.selectRestore(restorePoints[selectedRestore][0])
|
backup.selectRestore(restorePoints[selectedRestore][0])
|
||||||
|
@ -90,6 +90,10 @@ class XbmcBackup:
|
|||||||
self.skip_advanced = True
|
self.skip_advanced = True
|
||||||
|
|
||||||
def run(self,mode=-1,progressOverride=False):
|
def run(self,mode=-1,progressOverride=False):
|
||||||
|
#set windows setting to true
|
||||||
|
window = xbmcgui.Window(10000)
|
||||||
|
window.setProperty(utils.__addon_id__ + ".running","true")
|
||||||
|
|
||||||
#append backup folder name
|
#append backup folder name
|
||||||
progressBarTitle = utils.getString(30010) + " - "
|
progressBarTitle = utils.getString(30010) + " - "
|
||||||
if(mode == self.Backup and self.remote_vfs.root_path != ''):
|
if(mode == self.Backup and self.remote_vfs.root_path != ''):
|
||||||
@ -323,6 +327,9 @@ class XbmcBackup:
|
|||||||
if(self.progressBar != None):
|
if(self.progressBar != None):
|
||||||
self.progressBar.close()
|
self.progressBar.close()
|
||||||
|
|
||||||
|
#reset the window setting
|
||||||
|
window.setProperty(utils.__addon_id__ + ".running","")
|
||||||
|
|
||||||
def backupFiles(self,fileList,source,dest):
|
def backupFiles(self,fileList,source,dest):
|
||||||
utils.log("Writing files to: " + dest.root_path)
|
utils.log("Writing files to: " + dest.root_path)
|
||||||
utils.log("Source: " + source.root_path)
|
utils.log("Source: " + source.root_path)
|
||||||
|
Loading…
Reference in New Issue
Block a user