Browse Source

Adding argparse

Yann Weber 7 years ago
parent
commit
0379f5e89c
2 changed files with 25 additions and 52 deletions
  1. 0
    44
      test1.py
  2. 25
    8
      webpage2img.py

+ 0
- 44
test1.py View File

@@ -1,44 +0,0 @@
1
-#!/usr/bin/python3
2
-import sys
3
-from PySide import QtWebKit, QtCore, QtGui
4
-
5
-#page = QtWebKit.QWebPage()
6
-#page.mainFrame().load(url)
7
-
8
-app = QtGui.QApplication(sys.argv)
9
-
10
-printer = QtGui.QPrinter()
11
-printer.setOutputFileName('out.pdf')
12
-printer.setOutputFormat(QtGui.QPrinter.PdfFormat)
13
-printer.setPageSize(QtGui.QPrinter.A4)
14
-printer.setOrientation(QtGui.QPrinter.Landscape)        
15
-printer.setFullPage(True)
16
-
17
-image = QtGui.QImage(1024,768, QtGui.QImage.Format_ARGB32)
18
-
19
-view = QtWebKit.QWebView()
20
-
21
-def out(ok):
22
-    print('out')
23
-    view.page().setViewportSize(view.page().currentFrame().contentsSize())
24
-    image = QtGui.QImage(view.page().viewportSize(),QtGui.QImage.Format_ARGB32)
25
-    painter = QtGui.QPainter(image)
26
-    view.page().mainFrame().render(painter)
27
-    painter.end()
28
-    image.save('out.png')
29
-    view.page().mainFrame().print_(printer)
30
-    print('adios')
31
-    app.exit()
32
-
33
-view.loadFinished.connect(out)
34
-view.load(QtCore.QUrl('http://www.gnu.org'))
35
-print("load")
36
-
37
-#image = QtGui.QImage(1024,768, QtGui.QImage.Format_ARGB32)
38
-#view.render(image)
39
-#image.save('out.png')
40
-view.page().mainFrame().print_(printer)
41
-#view.render(printer)
42
-
43
-#view.show()
44
-sys.exit(app.exec_())

+ 25
- 8
webpage2img.py View File

@@ -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
+        

Loading…
Cancel
Save