jvoisin
156e81fb4c
Check that cleaning twice doesn't break the file
2018-10-02 16:05:51 +02:00
jvoisin
9578e4b4ee
Silence a bit the testsuite
2018-10-02 15:26:13 +02:00
jvoisin
e342671ead
Remove dangling references in MS Office's [Content_types].xml
2018-09-30 19:53:18 +02:00
jvoisin
719cdf20fa
Second pass of minor formatting
2018-09-24 20:15:07 +02:00
jvoisin
2e243355f5
Fix some minor formatting issues
2018-09-24 19:50:24 +02:00
jvoisin
174d4a0ac0
Implement rsid stripping for office files
...
MS Office XML rsid is a "unique identifier used to track the editing session
when the physical character representing this section mark was last formatted."
See the following links for details:
- https://msdn.microsoft.com/en-us/library/office/documentformat.openxml.wordprocessing.previoussectionproperties.rsidrpr.aspx
- https://blogs.msdn.microsoft.com/brian_jones/2006/12/11/whats-up-with-all-those-rsids/ .
2018-09-24 18:03:59 +02:00
jvoisin
9826de3526
Add a test for zip ordering
2018-09-20 14:04:46 +02:00
jvoisin
ab71c29a28
Make pyflakes happy
2018-09-20 01:19:22 +02:00
jvoisin
3d2842802c
Split the tests
2018-09-20 01:13:59 +02:00
Yoann Lamouroux
0a2a398c9c
trivial modification of all shebang.
...
`/usr/bin/python3` -> `/usr/bin/env python3`
It's always better to trust the environment defined path to bin/python, as
virtualenv become the way to go.
2018-09-12 14:58:27 +02:00
jvoisin
2e9adab86a
Improve a cli test resilience
2018-09-06 11:32:29 +02:00
Daniel Kahn Gillmor
f3cef319b9
Unknown Members: make policy use an Enum
...
Closes #60
Note: this changeset also ensures that clean.cleaned.docx is removed
up after the pytest is over.
2018-09-05 18:59:33 -04:00
jvoisin
3649c0ccaf
Remove short version of dangerous/advanced options
2018-09-05 17:48:14 +02:00
jvoisin
46bb1b83ea
Improve the previous commit
2018-09-05 17:26:09 +02:00
Daniel Kahn Gillmor
10d60bd398
add --unknown-members argument to mat2
...
This allows the user to make use of parser.unknown_member_policy for
archive formats.
At the suggestion of @jvoisin, it also prints a scary warning if the
user explicitly chooses 'keep'.
2018-09-04 18:28:04 -04:00
dkg
e2634f7a50
Logging cleanup
2018-09-01 05:14:32 -07:00
jvoisin
b5a9520a60
Add a cli-related test
2018-07-30 22:54:41 +02:00
jvoisin
a1257c538b
Add some tests about pathological files
2018-07-30 22:36:36 +02:00
jvoisin
5a7c7f35f7
Remove print
from libmat, and use the logging
module instead
...
This should close #28
2018-07-10 21:30:38 +02:00
jvoisin
d5861e4653
Implement a check for dependencies in mat2
...
Example use:
```
$ mat2 -c
Dependencies required for MAT2 0.1.3:
- Cairo: yes
- Exiftool: yes
- GdkPixbuf from PyGobject: yes
- Mutagen: yes
- Poppler from PyGobject: yes
- PyGobject: yes
```
This should close #35
2018-07-10 21:24:26 +02:00
jvoisin
bd357b85f8
Remove a useless option that was never implemented anyway
2018-07-09 00:13:16 +02:00
jvoisin
f49aa5cab7
Achieve 100% coverage!
2018-07-08 22:27:37 +02:00
jvoisin
52a2c800b7
Bump coverage again
2018-07-08 21:50:52 +02:00
jvoisin
ad3e7ccee8
Bump coverage for office files and fix some related crashes
2018-07-08 21:35:45 +02:00
jvoisin
3cd4f9111f
Bump coverage for torrent handling
2018-07-08 15:13:03 +02:00
jvoisin
b5fcddd6a6
Simplify how torrent files are handled
...
- Rework the testsuite wrt. torrent
- fail at parser's instantiation on corrupted torrent,
instead of during `get_meta` or `remove_all` call
2018-07-08 13:49:11 +02:00
jvoisin
9f631a1bb1
Bump a bit the coverage
2018-07-07 18:02:53 +02:00
jvoisin
3d80f97524
Simplify BMP handling
2018-07-06 00:49:17 +02:00
jvoisin
53271495f7
Add support for .txt files
2018-07-06 00:42:09 +02:00
jvoisin
bee56a57ce
Remove docx revisions
2018-07-01 23:16:14 +02:00
jvoisin
02f7605ac1
MAT2 is now cleaning revisions from odt files!
2018-07-01 21:09:20 +02:00
jvoisin
80fc4ffb40
Remove the thumbnails from libreoffice files
2018-07-01 17:29:05 +02:00
jvoisin
74f2d50433
Split the testsuite a bit and add more tests
2018-06-22 21:16:55 +02:00
jvoisin
b4ef0c9622
Improve reliability against corrupted image files
2018-06-22 20:38:29 +02:00
jvoisin
5b38bd7ccd
Improve the reliability of the office parser
2018-06-21 23:18:59 +02:00
jvoisin
4600ce3490
Improve a bit the coverage
2018-06-10 20:20:45 +02:00
jvoisin
8c7979aae3
Add some tests for non-supported embedded fileformats
2018-06-10 20:19:35 +02:00
jvoisin
87bdcd1a95
Improve a bit our coverage wrt. torrent files handling
2018-06-10 00:56:55 +02:00
jvoisin
e81ce6cd1a
Fix and add a test for explicitly non-supported formats
2018-06-10 00:28:43 +02:00
jvoisin
6a832a4104
Prevent exiftool-based parameter-injection
2018-06-06 23:50:25 +02:00
jvoisin
6a1b0b31f0
Add more typing and use mypy in the CI
2018-06-04 23:20:30 +02:00
jvoisin
8cf9aeeb67
Rename mat2.py to mat2
2018-05-21 22:49:40 +02:00
jvoisin
38fae60b8b
Rename some files to simplify packaging
...
- the `src` folder is now `libmat2`
- the `main.py` script is now `mat2.py`
2018-05-18 23:52:40 +02:00
jvoisin
0354c3b7e3
Add a test about unsupported files
2018-05-16 22:10:47 +02:00
jvoisin
be6d32afa8
Some arguments are mutually exclusives
2018-05-16 00:07:04 +02:00
jvoisin
c037e265c6
Add a --version
option
2018-05-14 22:44:31 +02:00
jvoisin
b02d72887a
Test for faulty files, and document how MAT2 is behaving wrt. them
2018-05-06 21:58:31 +02:00
jvoisin
09930391c4
Clean up after the testsuite
2018-04-30 23:51:59 +02:00
jvoisin
23bc7e8f5f
Rework the way we're outputing files
2018-04-30 23:46:37 +02:00
jvoisin
d2b2a54a72
MAT2's cli now uses meaningful return codes
...
- Simplify the multiprocessing by using a Pool
- Use some functional (♥) constructions to exit
with a return code
- Add some tests to prove that we're doing things
that are working correctly
2018-04-29 22:59:23 +02:00