mirror of
https://github.com/robweber/xbmcbackup.git
synced 2025-06-23 19:14:33 +02:00
@ -17,6 +17,8 @@
|
||||
<string id="30025">Remote Path Type</string>
|
||||
<string id="30026">Backups to keep (0 for all)</string>
|
||||
<string id="30027">Dropbox</string>
|
||||
<string id="30028">Dropbox Key</string>
|
||||
<string id="30029">Dropbox Secret</string>
|
||||
|
||||
<string id="30030">User Addons</string>
|
||||
<string id="30031">Addon Data</string>
|
||||
@ -37,6 +39,8 @@
|
||||
<string id="30054">Removing backup</string>
|
||||
<string id="30056">Check log for Dropbox authorize URL</string>
|
||||
<string id="30057">Click OK when authorized</string>
|
||||
<string id="30058">Dropbox Developer Code Needed</string>
|
||||
<string id="30059">Visit https://www.dropbox.com/developers</string>
|
||||
|
||||
<string id="30060">Enable Scheduler</string>
|
||||
<string id="30061">Schedule</string>
|
||||
@ -54,4 +58,5 @@
|
||||
<string id="30073">Every Week</string>
|
||||
<string id="30074">First Day of Month</string>
|
||||
<string id="30075">Custom Schedule</string>
|
||||
<string id="30076">Shutdown After Backup</string>
|
||||
</strings>
|
||||
|
@ -5,8 +5,8 @@ import xbmcgui
|
||||
import sys
|
||||
from dropbox import client, rest, session
|
||||
|
||||
APP_KEY = 'f5wlmek6aoriqax'
|
||||
APP_SECRET = 'b1461sje1kxgzet'
|
||||
APP_KEY = utils.getSetting('dropbox_key')
|
||||
APP_SECRET = utils.getSetting('dropbox_secret')
|
||||
|
||||
class Vfs:
|
||||
root_path = None
|
||||
@ -64,6 +64,10 @@ class DropboxFileSystem(Vfs):
|
||||
client = None
|
||||
|
||||
def __init__(self):
|
||||
if(APP_KEY == '' or APP_SECRET == ''):
|
||||
xbmcgui.Dialog().ok(utils.getString(30010),utils.getString(30058),utils.getString(30059))
|
||||
return
|
||||
|
||||
user_token_key,user_token_secret = self.getToken()
|
||||
|
||||
sess = session.DropboxSession(APP_KEY,APP_SECRET,"app_folder")
|
||||
@ -84,7 +88,13 @@ class DropboxFileSystem(Vfs):
|
||||
sess.set_token(user_token_key,user_token_secret)
|
||||
|
||||
self.client = client.DropboxClient(sess)
|
||||
utils.log(str(self.client.account_info()))
|
||||
|
||||
try:
|
||||
utils.log(str(self.client.account_info()))
|
||||
except:
|
||||
#this didn't work, delete the token file
|
||||
self.deleteToken()
|
||||
|
||||
|
||||
def listdir(self,directory):
|
||||
if(self.client != None and self.exists(directory)):
|
||||
@ -150,6 +160,7 @@ class DropboxFileSystem(Vfs):
|
||||
out.close()
|
||||
else:
|
||||
return False
|
||||
|
||||
def setToken(self,key,secret):
|
||||
#write the token files
|
||||
token_file = open(xbmc.translatePath(utils.data_dir() + "tokens.txt"),'w')
|
||||
@ -166,6 +177,10 @@ class DropboxFileSystem(Vfs):
|
||||
return [key,secret]
|
||||
else:
|
||||
return ["",""]
|
||||
|
||||
def deleteToken(self):
|
||||
if(xbmcvfs.exists(xbmc.translatePath(utils.data_dir() + "tokens.txt"))):
|
||||
xbmcvfs.delete(xbmc.translatePath(utils.data_dir() + "tokens.txt"))
|
||||
|
||||
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
<setting id="remote_selection" type="enum" lvalues="30018|30019|30027" default="0" label="30025"/>
|
||||
<setting id="remote_path_2" type="text" label="30024" default="" visible="eq(-1,1)" />
|
||||
<setting id="remote_path" type="folder" label="30020" visible="eq(-2,0)" />
|
||||
<setting id="dropbox_key" type="text" label="30028" visible="eq(-3,2)" default="" />
|
||||
<setting id="dropbox_secret" type="text" label="30029" visible="eq(-4,2)" default="" />
|
||||
<setting id="backup_rotation" type="number" label="30026" default="0" />
|
||||
<setting id="run_silent" type="bool" label="30022" default="false" />
|
||||
</category>
|
||||
@ -22,5 +24,6 @@
|
||||
<setting id="schedule_time" type="labelenum" label="30062" values="00:00|01:00|02:00|03:00|04:00|05:00|06:00|07:00|08:00|09:00|10:00|11:00|12:00|13:00|14:00|15:00|16:00|17:00|18:00|19:00|20:00|21:00|22:00|23:00" default="00:00" visible="!eq(-1,3)" enable="eq(-2,true)"/>
|
||||
<setting id="day_of_week" type="enum" label="30063" lvalues="30065|30066|30067|30068|30069|30070|30071" default="0" visible="eq(-2,1)" enable="eq(-3,true)"/>
|
||||
<setting id="cron_schedule" type="text" label="30064" default="0 0 * * *" visible="eq(-3,3)" enable="eq(-4,true)"/>
|
||||
<setting id="cron_shutdown" type="bool" label="30076" default="false" enable="eq(-5,true)" />
|
||||
</category>
|
||||
</settings>
|
||||
|
Reference in New Issue
Block a user