diff --git a/python/INSTALL b/python/INSTALL index 13e53f86..db0d6927 100644 --- a/python/INSTALL +++ b/python/INSTALL @@ -4,6 +4,8 @@ DEPENDENCIES * PyQt4 >= 4.8.0 * Qt >= 4.7.0 +* python-argparse == (Python 2.6) + -> Windows ------- You can download the required programs here. diff --git a/python/phantom.py b/python/phantom.py index ea0f2f61..b848ae76 100644 --- a/python/phantom.py +++ b/python/phantom.py @@ -19,17 +19,17 @@ import sys +from PyQt4.QtCore import pyqtProperty, pyqtSlot, QObject, \ + QFile, qCritical +from PyQt4.QtGui import QApplication +from PyQt4.QtNetwork import QNetworkProxy, QNetworkProxyFactory + from utils import version_major, version_minor, version_patch from plugincontroller import Bunch, do_action from csconverter import CSConverter from webpage import WebPage from networkaccessmanager import NetworkAccessManager -from PyQt4.QtCore import pyqtProperty, pyqtSlot, QObject, \ - QFile, qCritical -from PyQt4.QtGui import QApplication -from PyQt4.QtNetwork import QNetworkProxy, QNetworkProxyFactory - class Phantom(QObject): def __init__(self, args, parent=None): diff --git a/python/plugincontroller.py b/python/plugincontroller.py index 41c5dacb..45afd45b 100644 --- a/python/plugincontroller.py +++ b/python/plugincontroller.py @@ -21,6 +21,7 @@ from glob import glob from collections import defaultdict from os.path import dirname, split, splitext + plugins = defaultdict(list) hook_count = {} diff --git a/python/pyphantomjs.py b/python/pyphantomjs.py index 8c6e8d74..3e7a5b0a 100644 --- a/python/pyphantomjs.py +++ b/python/pyphantomjs.py @@ -23,21 +23,23 @@ import sip sip.setapi('QString', 2) sip.setapi('QVariant', 2) -import os, sys, resources +import os +import sys import codecs +from PyQt4.QtCore import qInstallMsgHandler +from PyQt4.QtGui import QIcon, QApplication + from plugincontroller import Bunch, do_action # load plugins if running script directly if __name__ == '__main__': from plugincontroller import load_plugins load_plugins() +import resources from phantom import Phantom from utils import argParser, MessageHandler, version -from PyQt4.QtCore import qInstallMsgHandler -from PyQt4.QtGui import QIcon, QApplication - # make keyboard interrupt quit program import signal signal.signal(signal.SIGINT, signal.SIG_DFL) diff --git a/python/utils.py b/python/utils.py index 5f4485cd..357f6479 100644 --- a/python/utils.py +++ b/python/utils.py @@ -19,12 +19,12 @@ import sys import argparse - from unicodedata import normalize +from PyQt4.QtCore import QDateTime, Qt, QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg + from plugincontroller import Bunch, do_action -from PyQt4.QtCore import QDateTime, Qt, QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg version_major, version_minor, version_patch = (1, 2, 0) version = '%d.%d.%d' % (version_major, version_minor, version_patch) diff --git a/python/webpage.py b/python/webpage.py index a197cd02..2b6b12e3 100644 --- a/python/webpage.py +++ b/python/webpage.py @@ -29,6 +29,7 @@ from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest from plugincontroller import Bunch, do_action + # Different defaults. # OSX: 72, X11: 75(?), Windows: 96 pdf_dpi = 72 @@ -48,12 +49,12 @@ class CustomPage(QWebPage): return False def javaScriptAlert(self, originatingFrame, msg): - self.parent.emitAlert(msg) + self.parent.javaScriptAlertSent.emit(msg) def javaScriptConsoleMessage(self, message, lineNumber, sourceID): if sourceID: message = '%s:%d %s' % (sourceID, lineNumber, message) - self.parent.emitConsoleMessage(message) + self.parent.javaScriptConsoleMessageSent.emit(message) def userAgentForUrl(self, url): return self.m_userAgent @@ -62,6 +63,10 @@ class CustomPage(QWebPage): class WebPage(QObject): + javaScriptAlertSent = pyqtSignal(str) + javaScriptConsoleMessageSent = pyqtSignal(str) + loadStatusChanged = pyqtSignal(str) + def __init__(self, parent=None): QObject.__init__(self, parent) @@ -106,15 +111,6 @@ class WebPage(QObject): if 'userAgent' in defaults: self.m_webPage.m_userAgent = defaults['userAgent'] - javaScriptAlertSent = pyqtSignal(str) - def emitAlert(self, msg): - self.javaScriptAlertSent.emit(msg) - - javaScriptConsoleMessageSent = pyqtSignal(str) - def emitConsoleMessage(self, msg): - self.javaScriptConsoleMessageSent.emit(msg) - - loadStatusChanged = pyqtSignal(str) def finish(self, ok): status = 'success' if ok else 'fail' self.loadStatusChanged.emit(status)