diff options
| author | Igor Skochinsky <skochinsky@gmail.com> | 2017-04-03 15:13:46 +0200 |
|---|---|---|
| committer | Amaury Pouly <amaury.pouly@gmail.com> | 2017-04-25 11:24:24 +1000 |
| commit | 03dd4b92be7dcd5c8ab06da3810887060e06abd5 (patch) | |
| tree | d18b5e7748a08f75891e832e1687154490fd5b36 /utils/nwztools/database/gen_db.py | |
| parent | f1c8d63a762acdcb29f30d17617e531fdb555af4 (diff) | |
| download | rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.zip rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.tar.gz rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.tar.bz2 rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.tar.xz | |
nwztools/database: misc improvements
* make gen_db.py work on Windows/Python 2
- use hashlib module instead of md5sum, also don't rely on / for file path
matching
- don't use 'file' for a variable name
* fix parse_nvp_header.sh for older kernels
pre-emmc kernel sources use a slightly different #define format; adjust
regexp to catch it.
* add nwz-x1000 series NVP layout (from icx1087_nvp.h)
some new tags have no description, alas the driver doesn't have
them :/
* minor fixes to nvp/README
fixed typos/wording
Change-Id: I77d8c2704be2f2316e32aadcfd362df7102360d4
Diffstat (limited to 'utils/nwztools/database/gen_db.py')
| -rwxr-xr-x | utils/nwztools/database/gen_db.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/nwztools/database/gen_db.py b/utils/nwztools/database/gen_db.py index 8b7d1cb..de78d05 100755 --- a/utils/nwztools/database/gen_db.py +++ b/utils/nwztools/database/gen_db.py @@ -3,6 +3,7 @@ import glob import os import re import subprocess +import hashlib # parse models.txt g_models = [] @@ -35,14 +36,14 @@ g_hash_nvp = dict() # hash -> nvp g_nvp_hash = dict() # codename -> hash HASH_SIZE=6 map_files = glob.glob('nvp/nw*.txt') -for line in subprocess.run(["md5sum"] + map_files, stdout = subprocess.PIPE).stdout.decode("utf-8").split("\n"): - if len(line.rstrip()) == 0: - continue - hash, file = line.rstrip().split() - codename = re.search('nvp/(.*)\.txt', file).group(1) +for f in map_files: + h = hashlib.md5() + h.update(open(f, "rb").read()) + hash = h.hexdigest() + codename = re.search('(nw.*)\.txt', f).group(1) # sanity check if not (codename in g_series_codename): - print("Warning: file %s does not have a match series in series.txt" % file) + print("Warning: file %s does not have a match series in series.txt" % f) hash = hash[:HASH_SIZE] # only keep one file if not (hash in g_hash_nvp): |