diff options
| author | jvoisin | 2018-03-20 01:20:11 +0100 |
|---|---|---|
| committer | jvoisin | 2018-03-20 01:20:11 +0100 |
| commit | d48dfc8e218c3e762a385f14d0c788115c2a72fa (patch) | |
| tree | aff82bc511fd7b7cf2d1f9ecf71665454558ab37 /src/parsers | |
| parent | 47c5d8b4862a70ca0f4acd0f9bfd408545277a82 (diff) | |
PNG support and automatic import!
Diffstat (limited to 'src/parsers')
| -rw-r--r-- | src/parsers/abstract.py | 5 | ||||
| -rw-r--r-- | src/parsers/png.py | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/parsers/abstract.py b/src/parsers/abstract.py index 80bb812..c2d282f 100644 --- a/src/parsers/abstract.py +++ b/src/parsers/abstract.py | |||
| @@ -1,9 +1,10 @@ | |||
| 1 | class AbstractParser(object): | 1 | class AbstractParser(object): |
| 2 | meta_list = set() | ||
| 3 | mimetypes = set() | ||
| 4 | |||
| 2 | def __init__(self, filename: str): | 5 | def __init__(self, filename: str): |
| 3 | self.filename = filename | 6 | self.filename = filename |
| 4 | self.output_filename = filename + '.cleaned' | 7 | self.output_filename = filename + '.cleaned' |
| 5 | self.meta_list = set() | ||
| 6 | self.mimetypes = set() | ||
| 7 | 8 | ||
| 8 | def get_meta(self): | 9 | def get_meta(self): |
| 9 | raise NotImplementedError | 10 | raise NotImplementedError |
diff --git a/src/parsers/png.py b/src/parsers/png.py new file mode 100644 index 0000000..3c0a507 --- /dev/null +++ b/src/parsers/png.py | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | import subprocess | ||
| 2 | import json | ||
| 3 | |||
| 4 | import cairo | ||
| 5 | |||
| 6 | from . import abstract | ||
| 7 | |||
| 8 | class PNGParser(abstract.AbstractParser): | ||
| 9 | mimetypes = {'image/png', } | ||
| 10 | meta_list = set() | ||
| 11 | |||
| 12 | def get_meta(self): | ||
| 13 | out = subprocess.check_output(['exiftool', '-json', self.filename]) | ||
| 14 | return json.loads(out)[0] | ||
| 15 | |||
| 16 | def remove_all(self): | ||
| 17 | surface = cairo.ImageSurface.create_from_png(self.filename) | ||
| 18 | surface.write_to_png(self.output_filename) | ||
