mat2 issueshttps://0xacab.org/jvoisin/mat2/-/issues2024-01-04T12:25:26Zhttps://0xacab.org/jvoisin/mat2/-/issues/195Add a way to disable the sandbox in the testsuite2024-01-04T12:25:26ZjvoisinAdd a way to disable the sandbox in the testsuiteAs reported on the mailing list:
> The Portage package manager is already running a sandbox, and double sandboxing results in runtime error.
>
> Could you add an environment variable to conditionally skip such tests?As reported on the mailing list:
> The Portage package manager is already running a sandbox, and double sandboxing results in runtime error.
>
> Could you add an environment variable to conditionally skip such tests?https://0xacab.org/jvoisin/mat2/-/issues/194Non-utf8 PDF can't be lightweight-cleaned2023-09-07T14:51:11ZjvoisinNon-utf8 PDF can't be lightweight-cleanedA user reported privately that the following file can't be cleaned: [fail_b_올해_상반기_한국_입국_탈북민_99명-향후_입국_추이_지켜봐야____RFA_자유아시아방송_Safari.pdf](/uploads/b35f7f486813a9b232d71323810b4b5b/fail_b_올해_상반기_한국_입국_탈북민_99명-향후_입국_추이_지켜봐야____RFA_자유아시아방송_...A user reported privately that the following file can't be cleaned: [fail_b_올해_상반기_한국_입국_탈북민_99명-향후_입국_추이_지켜봐야____RFA_자유아시아방송_Safari.pdf](/uploads/b35f7f486813a9b232d71323810b4b5b/fail_b_올해_상반기_한국_입국_탈북민_99명-향후_입국_추이_지켜봐야____RFA_자유아시아방송_Safari.pdf)
```console
$ mat2 ./mat2 -L ./fail\ b\ 올해\ 상반기\ 한국\ 입국\ 탈북민\ 99명-향후\ 입국\ 추이\ 지켜봐야”\ —\ RFA\ 자유아시아방송\ Safari.pdf
[-] ./fail b 올해 상반기 한국 입국 탈북민 99명-향후 입국 추이 지켜봐야” — RFA 자유아시아방송 Safari.pdf can't be cleaned: input string not valid UTF-8
[255]
$
```
It seems that cairo/poppler do not like CJK stuff, sigh.https://0xacab.org/jvoisin/mat2/-/issues/193Debian: autopkgtest regression with ffmpeg 6.02023-08-02T20:04:08ZgeorgDebian: autopkgtest regression with ffmpeg 6.0mat2's autopkgtests fail with ffmpeg 6.0:
https://ci.debian.net/data/autopkgtest/testing/amd64/m/mat2/36194920/log.gz
```
126s =================================== FAILURES ===================================
126s _______________________...mat2's autopkgtests fail with ffmpeg 6.0:
https://ci.debian.net/data/autopkgtest/testing/amd64/m/mat2/36194920/log.gz
```
126s =================================== FAILURES ===================================
126s _______________________ TestCleaning.test_all_parametred _______________________
126s
126s self = <tests.test_libmat2.TestCleaning testMethod=test_all_parametred>
126s
126s def test_all_parametred(self):
126s for case in self.data:
126s with self.subTest(case=case):
126s if 'ffmpeg' in case:
126s try:
126s video._get_ffmpeg_path()
126s except RuntimeError:
126s raise unittest.SkipTest
126s
126s print('[+] Testing %s' % case['name'])
126s target = './tests/data/clean.' + case['name']
126s shutil.copy('./tests/data/dirty.' + case['name'], target)
126s p1 = case['parser'](target)
126s
126s for k, v in p1.get_meta().items():
126s if k not in case['meta']:
126s continue
126s if isinstance(v, dict):
126s for _k, _v in v.items():
126s if _k in case['meta'][k]:
126s self.assertEqual(_v, case['meta'][k][_k])
126s else:
126s self.assertEqual(v, case['meta'][k])
126s
126s p1.lightweight_cleaning = True
126s self.assertTrue(p1.remove_all())
126s
126s p2 = case['parser'](p1.output_filename)
126s meta = p2.get_meta()
126s if meta:
126s for k, v in p2.get_meta().items():
126s > self.assertIn(k, case['expected_meta'], '"%s" is not in "%s" (%s)' % (k, case['expected_meta'], case['name']))
126s E AssertionError: 'CompressorName' not found in {'AverageBitrate': 465641, 'BufferSize': 0, 'CompatibleBrands': ['isom', 'iso2', 'avc1', 'mp41'], 'ColorProfiles': 'nclx', 'ColorPrimaries': 'BT.709', 'ColorRepresentation': 'nclx 1 1 1', 'CompressorID': 'avc1', 'GraphicsMode': 'srcCopy', 'HandlerDescription': 'SoundHandler', 'HandlerType': 'Metadata', 'HandlerVendorID': 'Apple', 'MajorBrand': 'Base Media v1 [IS0 14496-12:2003]', 'MatrixCoefficients': 'BT.709', 'MaxBitrate': 465641, 'MediaDataOffset': 48, 'MediaDataSize': 379872, 'MediaHeaderVersion': 0, 'MinorVersion': '0.2.0', 'MovieDataOffset': 48, 'MovieHeaderVersion': 0, 'NextTrackID': 3, 'PreferredRate': 1, 'Rotation': 0, 'TimeScale': 1000, 'TrackHeaderVersion': 0, 'TrackID': 1, 'TrackLayer': 0, 'TransferCharacteristics': 'BT.709'} : "CompressorName" is not in "{'AverageBitrate': 465641, 'BufferSize': 0, 'CompatibleBrands': ['isom', 'iso2', 'avc1', 'mp41'], 'ColorProfiles': 'nclx', 'ColorPrimaries': 'BT.709', 'ColorRepresentation': 'nclx 1 1 1', 'CompressorID': 'avc1', 'GraphicsMode': 'srcCopy', 'HandlerDescription': 'SoundHandler', 'HandlerType': 'Metadata', 'HandlerVendorID': 'Apple', 'MajorBrand': 'Base Media v1 [IS0 14496-12:2003]', 'MatrixCoefficients': 'BT.709', 'MaxBitrate': 465641, 'MediaDataOffset': 48, 'MediaDataSize': 379872, 'MediaHeaderVersion': 0, 'MinorVersion': '0.2.0', 'MovieDataOffset': 48, 'MovieHeaderVersion': 0, 'NextTrackID': 3, 'PreferredRate': 1, 'Rotation': 0, 'TimeScale': 1000, 'TrackHeaderVersion': 0, 'TrackID': 1, 'TrackLayer': 0, 'TransferCharacteristics': 'BT.709'}" (mp4)
126s
126s tests/test_libmat2.py:557: AssertionError
```
Reported in Debian via https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042432.https://0xacab.org/jvoisin/mat2/-/issues/192Include man page in PyPi package2023-07-11T20:04:27ZanelkiInclude man page in PyPi packageAdd `docs/mat2.1` to the tarball uploaded to PyPi to ensure packagers can install it.Add `docs/mat2.1` to the tarball uploaded to PyPi to ensure packagers can install it.https://0xacab.org/jvoisin/mat2/-/issues/191CI: jobs might fail due to "fatal: detected dubious ownership in repository a...2023-03-20T15:15:20ZgeorgCI: jobs might fail due to "fatal: detected dubious ownership in repository at '/builds/jvoisin/mat2'"Besides others, https://0xacab.org/jvoisin/mat2/-/jobs/376679 failed due to this error.
That's due an change in upstream git, which is fixed in upstream GitLab, see https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/3538 for d...Besides others, https://0xacab.org/jvoisin/mat2/-/jobs/376679 failed due to this error.
That's due an change in upstream git, which is fixed in upstream GitLab, see https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/3538 for details. However, the fix is merged, but not yet released.georggeorghttps://0xacab.org/jvoisin/mat2/-/issues/190CI: reduce code duplication2023-03-19T18:31:42ZgeorgCI: reduce code duplicationgeorggeorghttps://0xacab.org/jvoisin/mat2/-/issues/189Datetime fails2023-03-15T19:15:44ZMistress ChiefDatetime failsHey there! It's a wonderful project. I liked it.
Here's a small issue with dates:
https://0xacab.org/jvoisin/mat2/-/blob/master/libmat2/archive.py#L433
```python
if member.date_time != (1980, 1, 1, 0, 0, 0):
metadata['date_time'] ...Hey there! It's a wonderful project. I liked it.
Here's a small issue with dates:
https://0xacab.org/jvoisin/mat2/-/blob/master/libmat2/archive.py#L433
```python
if member.date_time != (1980, 1, 1, 0, 0, 0):
metadata['date_time'] = str(datetime.datetime(*member.date_time))
```
I just put the `try-except` block with some arbitrary value.https://0xacab.org/jvoisin/mat2/-/issues/188mat2 0.13.3 is unusable with TypeError2023-03-07T17:45:26ZGu1nn3zzmat2 0.13.3 is unusable with TypeErrorWhen trying to run mat2 on:
```
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ python3 --version
Python 3.7.3
```
I get this traceback :
```python
Traceback (most rec...When trying to run mat2 on:
```
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ python3 --version
Python 3.7.3
```
I get this traceback :
```python
Traceback (most recent call last):
File "./mat2", line 4, in <module>
__import__('pkg_resources').run_script('mat2==0.13.3', 'mat2')
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 666, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1446, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python3.7/dist-packages/mat2-0.13.3-py3.7.egg/EGG-INFO/scripts/mat2", line 14, in <module>
from libmat2 import parser_factory, UNSUPPORTED_EXTENSIONS
File "/usr/local/lib/python3.7/dist-packages/mat2-0.13.3-py3.7.egg/libmat2/parser_factory.py", line 45, in <module>
def get_parser(filename: str) -> tuple[Optional[T], Optional[str]]:
TypeError: 'type' object is not subscriptable
```
Which reminds me of https://0xacab.org/jvoisin/mat2/-/issues/184
I guess it's the same kind of issue.https://0xacab.org/jvoisin/mat2/-/issues/187Test more versions of Python2023-03-19T17:05:02ZjvoisinTest more versions of PythonIt would be nice to have the CI run on [all the currently supported python versions]( https://devguide.python.org/versions/), on a single OS, no need to test all the versions on Fedora/OSX/TempleOS/Gentoo/Arch/…
Unfortunately, my attemp...It would be nice to have the CI run on [all the currently supported python versions]( https://devguide.python.org/versions/), on a single OS, no need to test all the versions on Fedora/OSX/TempleOS/Gentoo/Arch/…
Unfortunately, my attempts so far haven't really been conclusive.georggeorghttps://0xacab.org/jvoisin/mat2/-/issues/186pycario install error on Android Termux app2023-01-31T17:35:02ZMegamindpycario install error on Android Termux appI don't know if this is a problem with Termux or mat2 but just in case I'll open an issue. I have been struggling to install mat2 on the Termux app for a while, this is the error I get:
<details><summary>pip install mat2</summary>
Colle...I don't know if this is a problem with Termux or mat2 but just in case I'll open an issue. I have been struggling to install mat2 on the Termux app for a while, this is the error I get:
<details><summary>pip install mat2</summary>
Collecting mat2
Downloading mat2-0.13.1-py3-none-any.whl (38 kB)
Collecting PyGObject
Downloading PyGObject-3.42.2.tar.gz (719 kB)
━━━━━━━━━━ 719.5/719.5 1.6 MB/s eta 0:00:00
kB
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [45 lines of output]
Collecting setuptools
Downloading setuptools-66.1.1-py3-none-any.whl (1.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 1.8 MB/s eta 0:00:00
Collecting wheel
Downloading wheel-0.38.4-py3-none-any.whl (36 kB)
Collecting pycairo
Downloading pycairo-1.23.0.tar.gz (344 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 344.6/344.6 kB 4.9 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: pycairo
Building wheel for pycairo (pyproject.toml): started
Building wheel for pycairo (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Building wheel for pycairo (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [15 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-311
creating build/lib.linux-aarch64-cpython-311/cairo
copying cairo/__init__.py -> build/lib.linux-aarch64-cpython-311/cairo
copying cairo/__init__.pyi -> build/lib.linux-aarch64-cpython-311/cairo
copying cairo/py.typed -> build/lib.linux-aarch64-cpython-311/cairo
running build_ext
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo' found
Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pycairo
Failed to build pycairo
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
</details>jvoisinjvoisinhttps://0xacab.org/jvoisin/mat2/-/issues/185How to uninstall ? Uninstall ERROR.2023-01-22T19:14:59ZgaojicainiaoHow to uninstall ? Uninstall ERROR.pip3 uninstall mat2
```
Found existing installation: mat2 0.13.1
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 167, in exc_logging_wrapper
statu...pip3 uninstall mat2
```
Found existing installation: mat2 0.13.1
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 167, in exc_logging_wrapper
status = run_func(*args)
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", line 97, in run
uninstall_pathset = req.uninstall(
File "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 637, in uninstall
uninstalled_pathset = UninstallPathSet.from_dist(dist)
File "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", line 554, in from_dist
for script in dist.iterdir("scripts"):
File "/usr/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py", line 156, in iterdir
if not self._dist.isdir(name):
File "/usr/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2816, in __getattr__
return getattr(self._provider, attr)
AttributeError: 'PathMetadata' object has no attribute 'isdir'
```jvoisinjvoisinhttps://0xacab.org/jvoisin/mat2/-/issues/184mat2-0.13.1:Traceback......TypeError......2023-03-07T11:46:50Zgaojicainiaomat2-0.13.1:Traceback......TypeError......mat2-0.13.1 unusable. I do not understand the following output at all.
```
Traceback (most recent call last):
File "/usr/local/bin/mat2", line 4, in <module>
__import__('pkg_resources').run_script('mat2==0.13.1', 'mat2')
File "/...mat2-0.13.1 unusable. I do not understand the following output at all.
```
Traceback (most recent call last):
File "/usr/local/bin/mat2", line 4, in <module>
__import__('pkg_resources').run_script('mat2==0.13.1', 'mat2')
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 650, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1446, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python3.8/site-packages/mat2-0.13.1-py3.8.egg/EGG-INFO/scripts/mat2", line 13, in <module>
from libmat2 import parser_factory, UNSUPPORTED_EXTENSIONS
File "/usr/local/lib/python3.8/site-packages/mat2-0.13.1-py3.8.egg/libmat2/__init__.py", line 7, in <module>
from . import exiftool, video
File "/usr/local/lib/python3.8/site-packages/mat2-0.13.1-py3.8.egg/libmat2/exiftool.py", line 9, in <module>
from . import abstract
File "/usr/local/lib/python3.8/site-packages/mat2-0.13.1-py3.8.egg/libmat2/abstract.py", line 7, in <module>
class AbstractParser(abc.ABC):
File "/usr/local/lib/python3.8/site-packages/mat2-0.13.1-py3.8.egg/libmat2/abstract.py", line 36, in AbstractParser
def get_meta(self) -> dict[str, Union[str, dict]]:
TypeError: 'type' object is not subscriptable
```jvoisinjvoisinhttps://0xacab.org/jvoisin/mat2/-/issues/183The image size drops to 25%2023-01-07T15:50:13Zgijexig chnlogThe image size drops to 25%I just tested your program on some .jpg files and in two out of three it dropped the file size form about 4 MB to about 1 MB. Is it normal? Both files this happened to them were taken with a camera. But I tested on an smaller image I hav...I just tested your program on some .jpg files and in two out of three it dropped the file size form about 4 MB to about 1 MB. Is it normal? Both files this happened to them were taken with a camera. But I tested on an smaller image I have downloaded (about 170 KB) and for that it even increase its size a little bit.jvoisinjvoisinhttps://0xacab.org/jvoisin/mat2/-/issues/181Skip errors instead of exiting program2022-12-31T11:06:53ZMegamindSkip errors instead of exiting programI have came across a few instances (#180) where the program would throw an error for one attribute, but would otherwise be able to clean the many other ones. When this happens the program just exits. This can be a bit annoying, so I sugg...I have came across a few instances (#180) where the program would throw an error for one attribute, but would otherwise be able to clean the many other ones. When this happens the program just exits. This can be a bit annoying, so I suggest remove all possible metadata attributes but leave out and notify the user about ERRORs. This way all the possible metadata could be removed.2.0 - Eaglehttps://0xacab.org/jvoisin/mat2/-/issues/180Excel .xlsx errors2022-12-25T17:06:07ZMegamindExcel .xlsx errorsHi! I encountered the `element xl/drawings/_rels/drawing1.xml.rels's format (None) isn't supported` error in one of my spreadsheets. I found a public document that has this (and even more) errors to replicate. I have attached this public...Hi! I encountered the `element xl/drawings/_rels/drawing1.xml.rels's format (None) isn't supported` error in one of my spreadsheets. I found a public document that has this (and even more) errors to replicate. I have attached this public document and the URL sources for it as well. Thank you for all the work, rely on this software a lot.
```
DEBUG: Cleaning tornado_chart.xlsx…
ERROR: In file tornado_chart.xlsx, element xl/charts/_rels/chart1.xml.rels's format (None) isn't supported
ERROR: In file tornado_chart.xlsx, element xl/charts/colors1.xml's format (text/xml) isn't supported
ERROR: In file tornado_chart.xlsx, element xl/charts/style1.xml's format (text/xml) isn't supported
ERROR: In file tornado_chart.xlsx, element xl/drawings/_rels/drawing1.xml.rels's format (None) isn't supported
``
Source: https://www.automateexcel.com/charts/templates-free-downloads Direct link: https://www.automateexcel.com/blockedfolder/charts/tornado_chart.xlsx
[tornado_chart.xlsx](/uploads/baaec295ec6ac59f47c2beb14579fe21/tornado_chart.xlsx)1.0 - Ponyjvoisinjvoisinhttps://0xacab.org/jvoisin/mat2/-/issues/179support for MKV ?2022-11-29T17:07:03Za beta-testersupport for MKV ?it looks like mat2 can not remove metadata from MKV files (or its included mp4 files)it looks like mat2 can not remove metadata from MKV files (or its included mp4 files)https://0xacab.org/jvoisin/mat2/-/issues/178libimage-exiftool-perl >= 12.45+dfsg-1: makes test fail2022-10-09T19:52:16Zgeorglibimage-exiftool-perl >= 12.45+dfsg-1: makes test fail```
autopkgtest [13:17:08]: test command1: MAT2_GLOBAL_PATH_TESTSUITE= pytest-3
autopkgtest [13:17:08]: test command1: [-----------------------
============================= test session starts ==============================
platform lin...```
autopkgtest [13:17:08]: test command1: MAT2_GLOBAL_PATH_TESTSUITE= pytest-3
autopkgtest [13:17:08]: test command1: [-----------------------
============================= test session starts ==============================
platform linux -- Python 3.10.7, pytest-7.1.2, pluggy-1.0.0+repack
rootdir: /tmp/autopkgtest-lxc.bay8oxam/downtmp/build.7US/src
collected 121 items
tests/test_climat2.py ......................... [ 20%]
tests/test_corrupted_files.py .......................................... [ 55%]
[ 55%]
tests/test_deep_cleaning.py ..... [ 59%]
tests/test_libmat2.py .................................F.......... [ 95%]
tests/test_lightweight_cleaning.py .. [ 97%]
tests/test_policy.py ... [100%]
=================================== FAILURES ===================================
_______________________ TestCleaning.test_all_parametred _______________________
self = <tests.test_libmat2.TestCleaning testMethod=test_all_parametred>
def test_all_parametred(self):
for case in self.data:
with self.subTest(case=case):
if 'ffmpeg' in case:
try:
video._get_ffmpeg_path()
except RuntimeError:
raise unittest.SkipTest
print('[+] Testing %s' % case['name'])
target = './tests/data/clean.' + case['name']
shutil.copy('./tests/data/dirty.' + case['name'], target)
p1 = case['parser'](target)
for k, v in p1.get_meta().items():
if k not in case['meta']:
continue
if isinstance(v, dict):
for _k, _v in v.items():
if _k in case['meta'][k]:
self.assertEqual(_v, case['meta'][k][_k])
else:
self.assertEqual(v, case['meta'][k])
p1.lightweight_cleaning = True
self.assertTrue(p1.remove_all())
p2 = case['parser'](p1.output_filename)
meta = p2.get_meta()
if meta:
for k, v in p2.get_meta().items():
> self.assertIn(k, case['expected_meta'], '"%s" is not in "%s" (%s)' % (k, case['expected_meta'], case['name']))
E AssertionError: 'ColorProfiles' not found in {'AverageBitrate': 465641, 'BufferSize': 0, 'CompatibleBrands': ['isom', 'iso2', 'avc1', 'mp41'], 'ColorRepresentation': 'nclx 1 1 1', 'CompressorID': 'avc1', 'GraphicsMode': 'srcCopy', 'HandlerDescription': 'SoundHandler', 'HandlerType': 'Metadata', 'HandlerVendorID': 'Apple', 'MajorBrand': 'Base Media v1 [IS0 14496-12:2003]', 'MaxBitrate': 465641, 'MediaDataOffset': 48, 'MediaDataSize': 379872, 'MediaHeaderVersion': 0, 'MinorVersion': '0.2.0', 'MovieDataOffset': 48, 'MovieHeaderVersion': 0, 'NextTrackID': 3, 'PreferredRate': 1, 'Rotation': 0, 'TimeScale': 1000, 'TrackHeaderVersion': 0, 'TrackID': 1, 'TrackLayer': 0} : "ColorProfiles" is not in "{'AverageBitrate': 465641, 'BufferSize': 0, 'CompatibleBrands': ['isom', 'iso2', 'avc1', 'mp41'], 'ColorRepresentation': 'nclx 1 1 1', 'CompressorID': 'avc1', 'GraphicsMode': 'srcCopy', 'HandlerDescription': 'SoundHandler', 'HandlerType': 'Metadata', 'HandlerVendorID': 'Apple', 'MajorBrand': 'Base Media v1 [IS0 14496-12:2003]', 'MaxBitrate': 465641, 'MediaDataOffset': 48, 'MediaDataSize': 379872, 'MediaHeaderVersion': 0, 'MinorVersion': '0.2.0', 'MovieDataOffset': 48, 'MovieHeaderVersion': 0, 'NextTrackID': 3, 'PreferredRate': 1, 'Rotation': 0, 'TimeScale': 1000, 'TrackHeaderVersion': 0, 'TrackID': 1, 'TrackLayer': 0}" (mp4)
tests/test_libmat2.py:552: AssertionError
----------------------------- Captured stdout call -----------------------------
[+] Testing pdf
[+] Testing png
[+] Testing jpg
[+] Testing wav
[+] Testing aiff
[+] Testing mp3
[+] Testing ogg
[+] Testing flac
[+] Testing docx
[+] Testing odt
[+] Testing tiff
[+] Testing bmp
[+] Testing torrent
[+] Testing odf
[+] Testing odg
[+] Testing txt
[+] Testing gif
[+] Testing css
[+] Testing svg
[+] Testing ppm
[+] Testing avi
[+] Testing mp4
----------------------------- Captured stderr call -----------------------------
Warning: [minor] Can't delete IFD0 from TIFF - ./tests/data/clean.tiff
=============================== warnings summary ===============================
libmat2/pdf.py:11
/tmp/autopkgtest-lxc.bay8oxam/downtmp/build.7US/src/libmat2/pdf.py:11: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.version import LooseVersion
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_libmat2.py::TestCleaning::test_all_parametred - AssertionEr...
============= 1 failed, 120 passed, 1 warning in 60.21s (0:01:00) ==============
autopkgtest [13:18:09]: test command1: -----------------------]
autopkgtest [13:18:09]: test command1: - - - - - - - - - - results - - - - - - - - - -
command1 FAIL non-zero exit status 1
autopkgtest [13:18:09]: @@@@@@@@@@@@@@@@@@@@ summary
command1 FAIL non-zero exit status 1
```
Log: https://ci.debian.net/data/autopkgtest/unstable/amd64/m/mat2/26606134/log.gz
As we've been there before, I'm wondering if it makes sense to relax this test.
Ref #136
Ref #162https://0xacab.org/jvoisin/mat2/-/issues/177App translations supported by Tor Project moving from Transifex to weblate2022-09-28T18:33:05ZintrigeriApp translations supported by Tor Project moving from Transifex to weblateFor details, see https://gitlab.tails.boum.org/tails/tails/-/issues/19150For details, see https://gitlab.tails.boum.org/tails/tails/-/issues/19150https://0xacab.org/jvoisin/mat2/-/issues/176Add support for Nautilus 432023-07-13T06:20:27ZjvoisinAdd support for Nautilus 43As said on the [mailing list](https://lists.autistici.org/message/20220912.221557.187e40a4.en.html):
> Just wanted to let you know that due to Nautilus API changes in the
upcoming 43 release scheduled for September 21, I had to change
n...As said on the [mailing list](https://lists.autistici.org/message/20220912.221557.187e40a4.en.html):
> Just wanted to let you know that due to Nautilus API changes in the
upcoming 43 release scheduled for September 21, I had to change
nautilus-python’s API as well. It looks like you will be mainly
affected by the removal of `LocationWidgetProvider`, which probably
needs to be replaced by a string of GTK dialogues. Hopefully, the
migration guide will help you. Feel free to e-mail me or ask on
Nautilus’s Matrix chat if you have any questions.
> - GNOME Schedule: https://wiki.gnome.org/FortyThree
> - GtkDialog docs: https://docs.gtk.org/gtk4/class.Dialog.html
> - Migration guide: https://gnome.pages.gitlab.gnome.org/nautilus-python/nautilus-python-migrating-to-4.html
> - Nautilus’s chat: https://matrix.to/#/#nautilus:gnome.orghttps://0xacab.org/jvoisin/mat2/-/issues/175Request to make mat2 installation easy for non technical Windows users and In...2022-08-16T13:01:41ZANISH M CODERequest to make mat2 installation easy for non technical Windows users and Installation docs for windows users.Hi , mat2 is mentioned as os independent in pypi , However while installing mat2 from pip in windows , it asks for Visual studio build tools. I installed Visual studio build tools in 2022 but still getting build error. The error log is a...Hi , mat2 is mentioned as os independent in pypi , However while installing mat2 from pip in windows , it asks for Visual studio build tools. I installed Visual studio build tools in 2022 but still getting build error. The error log is attached here. I am using python 3.10.6
```
error: subprocess-exited-with-error
Building wheel for PyGObject (pyproject.toml) did not run successfully.
exit code: 1
[41 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\pygtkcompat
copying pygtkcompat\generictreemodel.py -> build\lib.win-amd64-cpython-310\pygtkcompat
copying pygtkcompat\pygtkcompat.py -> build\lib.win-amd64-cpython-310\pygtkcompat
copying pygtkcompat\__init__.py -> build\lib.win-amd64-cpython-310\pygtkcompat
creating build\lib.win-amd64-cpython-310\gi
copying gi\docstring.py -> build\lib.win-amd64-cpython-310\gi
copying gi\importer.py -> build\lib.win-amd64-cpython-310\gi
copying gi\module.py -> build\lib.win-amd64-cpython-310\gi
copying gi\pygtkcompat.py -> build\lib.win-amd64-cpython-310\gi
copying gi\types.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_constants.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_error.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_gtktemplate.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_option.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_ossighelper.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_propertyhelper.py -> build\lib.win-amd64-cpython-310\gi
copying gi\_signalhelper.py -> build\lib.win-amd64-cpython-310\gi
copying gi\__init__.py -> build\lib.win-amd64-cpython-310\gi
creating build\lib.win-amd64-cpython-310\gi\repository
copying gi\repository\__init__.py -> build\lib.win-amd64-cpython-310\gi\repository
creating build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\Gdk.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\GdkPixbuf.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\GIMarshallingTests.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\Gio.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\GLib.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\GObject.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\Gtk.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\keysyms.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\Pango.py -> build\lib.win-amd64-cpython-310\gi\overrides
copying gi\overrides\__init__.py -> build\lib.win-amd64-cpython-310\gi\overrides
running build_ext
pycairo: trying include directory: 'C:\\Users\\Ukraine\\AppData\\Local\\Temp\\pip-build-env-3f8eggr8\\overlay\\Lib\\site-packages\\cairo\\include'
pycairo: found 'C:\\Users\\Ukraine\\AppData\\Local\\Temp\\pip-build-env-3f8eggr8\\overlay\\Lib\\site-packages\\cairo\\include\\py3cairo.h'
building 'gi._gi' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for PyGObject
ERROR: Could not build wheels for PyGObject, which is required to install pyproject.toml-based projects
```