Mercurial > hgrepos > Python > apps > py-cutils
comparison cutils/treesum.py @ 340:cfa544fbb9f9
treesum: allow parsing of files again where sizes are printed with grouping with standard separators out of "., '_"
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 31 Mar 2025 14:51:32 +0200 |
| parents | 9c7a03199092 |
| children | 728ad9c639f2 |
comparison
equal
deleted
inserted
replaced
| 339:9c7a03199092 | 340:cfa544fbb9f9 |
|---|---|
| 1641 """ | 1641 """ |
| 1642 | 1642 |
| 1643 PATTERN0 = re.compile(br"\A[ \t]*\r?\n\Z") # empty lines | 1643 PATTERN0 = re.compile(br"\A[ \t]*\r?\n\Z") # empty lines |
| 1644 PATTERN1 = re.compile(br"\A(VERSION|FSENCODING|FLAGS|TIMESTAMP|ISOTIMESTAMP|CRC32)[ \t]*=[ \t]*([^ \t]+)[ \t]*\r?\n\Z") # noqa: E501 line too long | 1644 PATTERN1 = re.compile(br"\A(VERSION|FSENCODING|FLAGS|TIMESTAMP|ISOTIMESTAMP|CRC32)[ \t]*=[ \t]*([^ \t]+)[ \t]*\r?\n\Z") # noqa: E501 line too long |
| 1645 PATTERN2 = re.compile(br"\A(ROOT|COMMENT|ERROR|GENERATOR|FNMATCH|ACCEPT-TREESUM)[ \t]*\((.*)\)[ \t]*\r?\n\Z") # noqa: E501 line too long | 1645 PATTERN2 = re.compile(br"\A(ROOT|COMMENT|ERROR|GENERATOR|FNMATCH|ACCEPT-TREESUM)[ \t]*\((.*)\)[ \t]*\r?\n\Z") # noqa: E501 line too long |
| 1646 PATTERN3 = re.compile(br"\ASIZE[ \t]*\((.*)\)([ \t]*=[ \t]*(\d+))?[ \t]*\r?\n\Z") # noqa: E501 line too long | 1646 PATTERN3 = re.compile(br"\ASIZE[ \t]*\((.*)\)([ \t]*=[ \t]*([0-9., '_]*[0-9]))?[ \t]*\r?\n\Z") # noqa: E501 line too long |
| 1647 PATTERN4 = re.compile(br"\A([A-Za-z0-9_-]+)[ \t]*\((.*)\)([ \t]*=[ \t]*([A-Za-z0-9=+/]+)?(,(\d+)?)?)?[ \t]*\r?\n\Z") # noqa: E501 line too long | 1647 PATTERN4 = re.compile(br"\A([A-Za-z0-9_-]+)[ \t]*\((.*)\)([ \t]*=[ \t]*([A-Za-z0-9=+/]+)?(,([0-9., '_]*[0-9])?)?)?[ \t]*\r?\n\Z") # noqa: E501 line too long |
| 1648 | 1648 |
| 1649 def __init__(self, _fp, _filename, _own_fp): | 1649 def __init__(self, _fp, _filename, _own_fp): |
| 1650 self._fp = _fp | 1650 self._fp = _fp |
| 1651 self._own_fp = _own_fp | 1651 self._own_fp = _own_fp |
| 1652 self._filename = _filename | 1652 self._filename = _filename |
| 1781 mo = self.PATTERN3.search(line) | 1781 mo = self.PATTERN3.search(line) |
| 1782 if mo: | 1782 if mo: |
| 1783 self._update_crc(line) | 1783 self._update_crc(line) |
| 1784 if mo.group(2): | 1784 if mo.group(2): |
| 1785 return ("SIZE", mo.group(1), | 1785 return ("SIZE", mo.group(1), |
| 1786 int(util.n(mo.group(3)), 10)) | 1786 int(util.n(mo.group(3)) |
| 1787 .translate(None, "., '_"), | |
| 1788 10)) | |
| 1787 else: | 1789 else: |
| 1788 return ("SIZE", mo.group(1), None) | 1790 return ("SIZE", mo.group(1), None) |
| 1789 else: | 1791 else: |
| 1790 mo = self.PATTERN4.search(line) | 1792 mo = self.PATTERN4.search(line) |
| 1791 if mo: | 1793 if mo: |
| 1802 digest = base64.b64decode(mo.group(4)) | 1804 digest = base64.b64decode(mo.group(4)) |
| 1803 else: | 1805 else: |
| 1804 digest = None | 1806 digest = None |
| 1805 if mo.group(5): | 1807 if mo.group(5): |
| 1806 if mo.group(6): | 1808 if mo.group(6): |
| 1807 size = int(util.n(mo.group(6)), 10) | 1809 size = int(util.n(mo.group(6)) |
| 1810 .translate(None, "., '_"), | |
| 1811 10) | |
| 1808 else: | 1812 else: |
| 1809 size = None | 1813 size = None |
| 1810 else: | 1814 else: |
| 1811 size = None | 1815 size = None |
| 1812 return (algo_name, mo.group(2), digest, size) | 1816 return (algo_name, mo.group(2), digest, size) |
