Skip to content

Commit cd2bce9

Browse files
authored
Merge pull request #4612 from curzon01/development
decode-config.py: Fix `@v` filename template (#4609)
2 parents 280df94 + 20a4b1b commit cd2bce9

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

Diff for: tools/decode-config.py

+18-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
3-
VER = '2.1.0013'
3+
VER = '2.1.0014'
44

55
"""
66
decode-config.py - Backup/Restore Sonoff-Tasmota configuration data
@@ -1178,14 +1178,7 @@ def MakeFilename(filename, filetype, configmapping):
11781178
if device_hostname is None:
11791179
device_hostname = ''
11801180

1181-
filename = filename.replace('@v', config_version)
1182-
filename = filename.replace('@f', config_friendlyname )
1183-
filename = filename.replace('@h', config_hostname )
1184-
filename = filename.replace('@H', device_hostname )
1185-
1186-
11871181
dirname = basename = ext = ''
1188-
name = filename
11891182

11901183
# split file parts
11911184
dirname = os.path.normpath(os.path.dirname(filename))
@@ -1217,6 +1210,11 @@ def MakeFilename(filename, filetype, configmapping):
12171210
except:
12181211
pass
12191212

1213+
filename = filename.replace('@v', config_version)
1214+
filename = filename.replace('@f', config_friendlyname )
1215+
filename = filename.replace('@h', config_hostname )
1216+
filename = filename.replace('@H', device_hostname )
1217+
12201218
return filename
12211219

12221220

@@ -2371,7 +2369,6 @@ def Backup(backupfile, backupfileformat, encode_cfg, decode_cfg, configmapping):
23712369
config data mapppings
23722370
"""
23732371

2374-
backupfileformat = args.backupfileformat
23752372
name, ext = os.path.splitext(backupfile)
23762373
if ext.lower() == '.'+FileType.BIN.lower():
23772374
backupfileformat = FileType.BIN
@@ -2434,12 +2431,14 @@ def Backup(backupfile, backupfileformat, encode_cfg, decode_cfg, configmapping):
24342431
message("Backup successful from {} '{}' to file '{}' ({} format)".format(srctype, src, backup_filename, fileformat), typ=LogType.INFO)
24352432

24362433

2437-
def Restore(restorefile, encode_cfg, decode_cfg, configmapping):
2434+
def Restore(restorefile, backupfileformat, encode_cfg, decode_cfg, configmapping):
24382435
"""
24392436
Restore from file
24402437
24412438
@param encode_cfg:
24422439
binary config data (encrypted)
2440+
@param backupfileformat:
2441+
Backup file format
24432442
@param decode_cfg:
24442443
binary config data (decrypted)
24452444
@param configmapping:
@@ -2448,7 +2447,14 @@ def Restore(restorefile, encode_cfg, decode_cfg, configmapping):
24482447

24492448
new_encode_cfg = None
24502449

2451-
restorefilename = MakeFilename(restorefile, None, configmapping)
2450+
restorefileformat = None
2451+
if backupfileformat.lower() == 'bin':
2452+
restorefileformat = FileType.BIN
2453+
elif backupfileformat.lower() == 'dmp':
2454+
restorefileformat = FileType.DMP
2455+
elif backupfileformat.lower() == 'json':
2456+
restorefileformat = FileType.JSON
2457+
restorefilename = MakeFilename(restorefile, restorefileformat, configmapping)
24522458
filetype = GetFileType(restorefilename)
24532459

24542460
if filetype == FileType.DMP:
@@ -2817,7 +2823,7 @@ def ParseArgs():
28172823

28182824
# restore from file
28192825
if args.restorefile is not None:
2820-
Restore(args.restorefile, encode_cfg, decode_cfg, configmapping)
2826+
Restore(args.restorefile, args.backupfileformat, encode_cfg, decode_cfg, configmapping)
28212827

28222828
# json screen output
28232829
if (args.backupfile is None and args.restorefile is None) or args.output:

0 commit comments

Comments
 (0)