catch more tagparser panics

This commit is contained in:
ed 2021-09-26 03:56:30 +02:00
parent 30c3f45072
commit 0bb9154747

View file

@ -940,7 +940,12 @@ class Up2k(object):
def _tag_file(self, write_cur, entags, wark, abspath, tags=None): def _tag_file(self, write_cur, entags, wark, abspath, tags=None):
if tags is None: if tags is None:
try:
tags = self.mtag.get(abspath) tags = self.mtag.get(abspath)
except Exception as ex:
msg = "failed to read tags from {}:\n{}"
self.log(msg.format(abspath, ex), c=3)
return
if entags: if entags:
tags = {k: v for k, v in tags.items() if k in entags} tags = {k: v for k, v in tags.items() if k in entags}
@ -1880,11 +1885,16 @@ class Up2k(object):
# self.log("\n " + repr([ptop, rd, fn])) # self.log("\n " + repr([ptop, rd, fn]))
abspath = os.path.join(ptop, rd, fn) abspath = os.path.join(ptop, rd, fn)
try:
tags = self.mtag.get(abspath) tags = self.mtag.get(abspath)
ntags1 = len(tags) ntags1 = len(tags)
parsers = self._get_parsers(ptop, tags, abspath) parsers = self._get_parsers(ptop, tags, abspath)
if parsers: if parsers:
tags.update(self.mtag.get_bin(parsers, abspath)) tags.update(self.mtag.get_bin(parsers, abspath))
except Exception as ex:
msg = "failed to read tags from {}:\n{}"
self.log(msg.format(abspath, ex), c=3)
continue
with self.mutex: with self.mutex:
cur = self.cur[ptop] cur = self.cur[ptop]