summaryrefslogtreecommitdiff
path: root/src/parsers
diff options
context:
space:
mode:
authorjvoisin2018-03-20 01:20:11 +0100
committerjvoisin2018-03-20 01:20:11 +0100
commitd48dfc8e218c3e762a385f14d0c788115c2a72fa (patch)
treeaff82bc511fd7b7cf2d1f9ecf71665454558ab37 /src/parsers
parent47c5d8b4862a70ca0f4acd0f9bfd408545277a82 (diff)
PNG support and automatic import!
Diffstat (limited to 'src/parsers')
-rw-r--r--src/parsers/abstract.py5
-rw-r--r--src/parsers/png.py18
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 @@
1class AbstractParser(object): 1class 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 @@
1import subprocess
2import json
3
4import cairo
5
6from . import abstract
7
8class 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)