Compare commits

...

4 Commits

Author SHA1 Message Date
Rob Weber 6a9f65318f updated changelog 2025-12-31 14:21:59 -06:00
Rob Weber 6adceb3060 version bump 2025-12-31 14:16:09 -06:00
Rob Weber eb52649eb8 fix bug with settings restore #248 2025-12-31 14:10:23 -06:00
Rob Weber 1dcc302ddd part of #247 2025-11-05 15:10:49 -06:00
4 changed files with 24 additions and 9 deletions
+4 -5
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmcbackup" <addon id="script.xbmcbackup"
name="Backup" version="1.7.1" provider-name="robweber"> name="Backup" version="1.7.2" provider-name="robweber">
<requires> <requires>
<import addon="xbmc.python" version="3.0.0"/> <import addon="xbmc.python" version="3.0.0"/>
<import addon="script.module.dateutil" version="2.8.0" /> <import addon="script.module.dateutil" version="2.8.0" />
@@ -24,10 +24,9 @@
<screenshot>resources/images/screenshot3.jpg</screenshot> <screenshot>resources/images/screenshot3.jpg</screenshot>
<screenshot>resources/images/screenshot4.jpg</screenshot> <screenshot>resources/images/screenshot4.jpg</screenshot>
</assets> </assets>
<news>Version 1.7.1 <news>Version 1.7.2
trim spaces around Dropbox key/secret entry Fix bug with gui settings restore
fix error with zip file restores strptime Python bugfix
added additional information when gathering files
</news> </news>
<summary lang="ar_SA">إنسخ إحتياطياً قاعده بيانات إكس بى إم سى وملفات اﻹعدادات فى حاله وقوع إنهيار مع إمكانيه اﻹسترجاع</summary> <summary lang="ar_SA">إنسخ إحتياطياً قاعده بيانات إكس بى إم سى وملفات اﻹعدادات فى حاله وقوع إنهيار مع إمكانيه اﻹسترجاع</summary>
<summary lang="bg_BG">Добавката може да създава резервни копия и възстановява базата данни и настройките на Kodi, в случай на срив или повреда на файловете.</summary> <summary lang="bg_BG">Добавката може да създава резервни копия и възстановява базата данни и настройките на Kodi, в случай на срив или повреда на файловете.</summary>
+7
View File
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
## [Version 1.7.2](https://github.com/robweber/xbmcbackup/compare/matrix-1.7.1...robweber:matrix-1.7.2)
### Fixed
- fixed a bug with the GUI settings restore, the settings key was not identified properly. Thanks @alexhass
- implemented [suggested fix](https://kodi.wiki/view/Python_Problems#datetime.strptime) for strptime Python bug
## [Version 1.7.1](https://github.com/robweber/xbmcbackup/compare/matrix-1.7.0...robweber:matrix-1.7.1) ## [Version 1.7.1](https://github.com/robweber/xbmcbackup/compare/matrix-1.7.0...robweber:matrix-1.7.1)
### Added ### Added
+11 -2
View File
@@ -2,9 +2,10 @@ import xbmcgui
import xbmcvfs import xbmcvfs
import json import json
import pyqrcode import pyqrcode
import time
import resources.lib.tinyurl as tinyurl import resources.lib.tinyurl as tinyurl
import resources.lib.utils as utils import resources.lib.utils as utils
from datetime import datetime import datetime
# don't die on import error yet, these might not even get used # don't die on import error yet, these might not even get used
try: try:
@@ -13,6 +14,14 @@ try:
except ImportError: except ImportError:
pass pass
# fix for datetime.strptime bug https://kodi.wiki/view/Python_Problems#datetime.strptime
class proxydt(datetime.datetime):
@classmethod
def strptime(cls, date_string, format):
return datetime.datetime(*(time.strptime(date_string, format)[:6]))
datetime.datetime = proxydt
class QRCode(xbmcgui.WindowXMLDialog): class QRCode(xbmcgui.WindowXMLDialog):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@@ -145,7 +154,7 @@ class DropboxAuthorizer:
if(token.strip() != ""): if(token.strip() != ""):
result = json.loads(token) result = json.loads(token)
# convert expiration back to a datetime object # convert expiration back to a datetime object
result['expiration'] = datetime.strptime(result['expiration'], "%Y-%m-%d %H:%M:%S.%f") result['expiration'] = datetime.datetime.strptime(result['expiration'], "%Y-%m-%d %H:%M:%S.%f")
token_file.close() token_file.close()
+1 -1
View File
@@ -40,7 +40,7 @@ class GuiSettingsManager:
restoreCount = 0 restoreCount = 0
for aSetting in restoreSettings: for aSetting in restoreSettings:
# Ensure key exists before referencing # Ensure key exists before referencing
if(aSetting['id'] in settingsDict.values()): if(aSetting['id'] in settingsDict.keys()):
# only update a setting if its different than the current (action types have no value) # only update a setting if its different than the current (action types have no value)
if(aSetting['type'] != 'action' and settingsDict[aSetting['id']] != aSetting['value']): if(aSetting['type'] != 'action' and settingsDict[aSetting['id']] != aSetting['value']):
if(utils.getSettingBool('verbose_logging')): if(utils.getSettingBool('verbose_logging')):