|
@@ -1,6 +1,6 @@
|
1
|
1
|
#!/usr/bin/python3
|
2
|
2
|
import sys
|
3
|
|
-import utils
|
|
3
|
+import argparse
|
4
|
4
|
from PySide import QtWebKit, QtCore, QtGui
|
5
|
5
|
|
6
|
6
|
#self._app = QtGui.QApplication(sys.argv)
|
|
@@ -39,8 +39,7 @@ class WebPage2Img(object):
|
39
|
39
|
self.wxview.page().mainFrame().render(painter)
|
40
|
40
|
painter.end()
|
41
|
41
|
image.save(self._out_fname)
|
42
|
|
- #self.wxview.page().mainFrame().print_(printer)
|
43
|
|
- self.__exit()
|
|
42
|
+ self.exit()
|
44
|
43
|
|
45
|
44
|
def _pdf(self, ok):
|
46
|
45
|
print('_pdf')
|
|
@@ -51,10 +50,10 @@ class WebPage2Img(object):
|
51
|
50
|
printer.setOrientation(QtGui.QPrinter.Landscape)
|
52
|
51
|
#printer.setFullPage(True)
|
53
|
52
|
self.wxview.page().mainFrame().print_(printer)
|
54
|
|
- self.__exit()
|
|
53
|
+ self.exit()
|
55
|
54
|
|
56
|
55
|
|
57
|
|
- def __exit(self, retcode = 0):
|
|
56
|
+ def exit(self, retcode = 0):
|
58
|
57
|
print('Exiting.')
|
59
|
58
|
self._app.exit(retcode)
|
60
|
59
|
exit(retcode)
|
|
@@ -66,6 +65,24 @@ class WebPage2Img(object):
|
66
|
65
|
self.wxview.load(QtCore.QUrl(self.uri))
|
67
|
66
|
sys.exit(self._app.exec_())
|
68
|
67
|
|
69
|
|
-wp = WebPage2Img(sys.argv[1])
|
70
|
|
-#wp.png('out.png')
|
71
|
|
-wp.pdf('out.pdf')
|
|
68
|
+
|
|
69
|
+if __name__ == '__main__':
|
|
70
|
+ parser = argparse.ArgumentParser(description='Convert a webpage to an \
|
|
71
|
+image.')
|
|
72
|
+ parser.add_argument('-f', '--format', dest='fmt', metavar='pdf|png', type=str,
|
|
73
|
+ default='pdf', help='Choose output format')
|
|
74
|
+ parser.add_argument('-o', '--output', metavar='FILENAME', type=str,
|
|
75
|
+ default='out.pdf', help='Output file')
|
|
76
|
+ parser.add_argument('uri', metavar='URI', type=str)
|
|
77
|
+ args = parser.parse_args()
|
|
78
|
+
|
|
79
|
+ wp = WebPage2Img(args.uri)
|
|
80
|
+ if args.fmt.lower() == 'png':
|
|
81
|
+ wp.png(args.output)
|
|
82
|
+ elif args.fmt.lower() == 'pdf':
|
|
83
|
+ wp.pdf(args.output)
|
|
84
|
+ else:
|
|
85
|
+ print('Unknown format "%s"\n' % args.fmt)
|
|
86
|
+ parser.print_help()
|
|
87
|
+ wp.exit(1)
|
|
88
|
+
|