mirror of https://github.com/vitalif/phantomjs
commit
fc16c4e978
|
@ -4,6 +4,8 @@ DEPENDENCIES
|
||||||
* PyQt4 >= 4.8.0
|
* PyQt4 >= 4.8.0
|
||||||
* Qt >= 4.7.0
|
* Qt >= 4.7.0
|
||||||
|
|
||||||
|
* python-argparse == (Python 2.6)
|
||||||
|
|
||||||
-> Windows
|
-> Windows
|
||||||
-------
|
-------
|
||||||
You can download the required programs here.
|
You can download the required programs here.
|
||||||
|
|
|
@ -19,17 +19,17 @@
|
||||||
|
|
||||||
import sys
|
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 utils import version_major, version_minor, version_patch
|
||||||
from plugincontroller import Bunch, do_action
|
from plugincontroller import Bunch, do_action
|
||||||
from csconverter import CSConverter
|
from csconverter import CSConverter
|
||||||
from webpage import WebPage
|
from webpage import WebPage
|
||||||
from networkaccessmanager import NetworkAccessManager
|
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):
|
class Phantom(QObject):
|
||||||
def __init__(self, args, parent=None):
|
def __init__(self, args, parent=None):
|
||||||
|
|
|
@ -21,6 +21,7 @@ from glob import glob
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from os.path import dirname, split, splitext
|
from os.path import dirname, split, splitext
|
||||||
|
|
||||||
|
|
||||||
plugins = defaultdict(list)
|
plugins = defaultdict(list)
|
||||||
hook_count = {}
|
hook_count = {}
|
||||||
|
|
||||||
|
|
|
@ -23,21 +23,23 @@ import sip
|
||||||
sip.setapi('QString', 2)
|
sip.setapi('QString', 2)
|
||||||
sip.setapi('QVariant', 2)
|
sip.setapi('QVariant', 2)
|
||||||
|
|
||||||
import os, sys, resources
|
import os
|
||||||
|
import sys
|
||||||
import codecs
|
import codecs
|
||||||
|
|
||||||
|
from PyQt4.QtCore import qInstallMsgHandler
|
||||||
|
from PyQt4.QtGui import QIcon, QApplication
|
||||||
|
|
||||||
from plugincontroller import Bunch, do_action
|
from plugincontroller import Bunch, do_action
|
||||||
# load plugins if running script directly
|
# load plugins if running script directly
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
from plugincontroller import load_plugins
|
from plugincontroller import load_plugins
|
||||||
load_plugins()
|
load_plugins()
|
||||||
|
|
||||||
|
import resources
|
||||||
from phantom import Phantom
|
from phantom import Phantom
|
||||||
from utils import argParser, MessageHandler, version
|
from utils import argParser, MessageHandler, version
|
||||||
|
|
||||||
from PyQt4.QtCore import qInstallMsgHandler
|
|
||||||
from PyQt4.QtGui import QIcon, QApplication
|
|
||||||
|
|
||||||
# make keyboard interrupt quit program
|
# make keyboard interrupt quit program
|
||||||
import signal
|
import signal
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from unicodedata import normalize
|
from unicodedata import normalize
|
||||||
|
|
||||||
|
from PyQt4.QtCore import QDateTime, Qt, QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg
|
||||||
|
|
||||||
from plugincontroller import Bunch, do_action
|
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_major, version_minor, version_patch = (1, 2, 0)
|
||||||
version = '%d.%d.%d' % (version_major, version_minor, version_patch)
|
version = '%d.%d.%d' % (version_major, version_minor, version_patch)
|
||||||
|
|
|
@ -29,6 +29,7 @@ from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest
|
||||||
|
|
||||||
from plugincontroller import Bunch, do_action
|
from plugincontroller import Bunch, do_action
|
||||||
|
|
||||||
|
|
||||||
# Different defaults.
|
# Different defaults.
|
||||||
# OSX: 72, X11: 75(?), Windows: 96
|
# OSX: 72, X11: 75(?), Windows: 96
|
||||||
pdf_dpi = 72
|
pdf_dpi = 72
|
||||||
|
@ -48,12 +49,12 @@ class CustomPage(QWebPage):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def javaScriptAlert(self, originatingFrame, msg):
|
def javaScriptAlert(self, originatingFrame, msg):
|
||||||
self.parent.emitAlert(msg)
|
self.parent.javaScriptAlertSent.emit(msg)
|
||||||
|
|
||||||
def javaScriptConsoleMessage(self, message, lineNumber, sourceID):
|
def javaScriptConsoleMessage(self, message, lineNumber, sourceID):
|
||||||
if sourceID:
|
if sourceID:
|
||||||
message = '%s:%d %s' % (sourceID, lineNumber, message)
|
message = '%s:%d %s' % (sourceID, lineNumber, message)
|
||||||
self.parent.emitConsoleMessage(message)
|
self.parent.javaScriptConsoleMessageSent.emit(message)
|
||||||
|
|
||||||
def userAgentForUrl(self, url):
|
def userAgentForUrl(self, url):
|
||||||
return self.m_userAgent
|
return self.m_userAgent
|
||||||
|
@ -62,6 +63,10 @@ class CustomPage(QWebPage):
|
||||||
|
|
||||||
|
|
||||||
class WebPage(QObject):
|
class WebPage(QObject):
|
||||||
|
javaScriptAlertSent = pyqtSignal(str)
|
||||||
|
javaScriptConsoleMessageSent = pyqtSignal(str)
|
||||||
|
loadStatusChanged = pyqtSignal(str)
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QObject.__init__(self, parent)
|
QObject.__init__(self, parent)
|
||||||
|
|
||||||
|
@ -106,15 +111,6 @@ class WebPage(QObject):
|
||||||
if 'userAgent' in defaults:
|
if 'userAgent' in defaults:
|
||||||
self.m_webPage.m_userAgent = defaults['userAgent']
|
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):
|
def finish(self, ok):
|
||||||
status = 'success' if ok else 'fail'
|
status = 'success' if ok else 'fail'
|
||||||
self.loadStatusChanged.emit(status)
|
self.loadStatusChanged.emit(status)
|
||||||
|
|
Loading…
Reference in New Issue