Compare commits

...

7 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
robweber 1559df4d4c version 1.7.1 2024-08-17 11:03:32 -05:00
Rob Weber dd2ddb50be updated changelog 2024-06-13 18:07:23 -05:00
robweber 4f00c1d983 change version 2024-04-28 10:43:35 -05:00
4 changed files with 25 additions and 12 deletions
+4 -7
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmcbackup"
name="Backup" version="1.7.0" provider-name="robweber">
name="Backup" version="1.7.2" provider-name="robweber">
<requires>
<import addon="xbmc.python" version="3.0.0"/>
<import addon="script.module.dateutil" version="2.8.0" />
@@ -24,12 +24,9 @@
<screenshot>resources/images/screenshot3.jpg</screenshot>
<screenshot>resources/images/screenshot4.jpg</screenshot>
</assets>
<news>Version 1.7.0
Can add suffix to backup folder names
translations sync
Minor UI fixes
Fixed Dropbox tokens expiring by using refresh tokens
Always recommend restart after a restore
<news>Version 1.7.2
Fix bug with gui settings restore
strptime Python bugfix
</news>
<summary lang="ar_SA">إنسخ إحتياطياً قاعده بيانات إكس بى إم سى وملفات اﻹعدادات فى حاله وقوع إنهيار مع إمكانيه اﻹسترجاع</summary>
<summary lang="bg_BG">Добавката може да създава резервни копия и възстановява базата данни и настройките на Kodi, в случай на срив или повреда на файловете.</summary>
+9 -2
View File
@@ -4,7 +4,14 @@ 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/)
## Unreleased
## [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)
### Added
@@ -13,7 +20,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
### Changed
- Dropbox Secret and App Key are trimmed on loading - thanks @rjclark99
- added additional dialog information when gathering files for a Restore. This doesn't fix the speed which these happen since that is related to the platform but does provide more info that it's working.
- added additional dialog information when gathering files for a Restore. This doesn't fix the speed which these happen since that is related to the platform but does provide more info that it's working.
### Fixed
+11 -2
View File
@@ -2,9 +2,10 @@ import xbmcgui
import xbmcvfs
import json
import pyqrcode
import time
import resources.lib.tinyurl as tinyurl
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
try:
@@ -13,6 +14,14 @@ try:
except ImportError:
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):
def __init__(self, *args, **kwargs):
@@ -145,7 +154,7 @@ class DropboxAuthorizer:
if(token.strip() != ""):
result = json.loads(token)
# 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()
+1 -1
View File
@@ -40,7 +40,7 @@ class GuiSettingsManager:
restoreCount = 0
for aSetting in restoreSettings:
# 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)
if(aSetting['type'] != 'action' and settingsDict[aSetting['id']] != aSetting['value']):
if(utils.getSettingBool('verbose_logging')):