Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Untitled #14

Merged
2 commits merged into from Mar 17, 2011
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 10 additions & 5 deletions python/pyphantomjs.py
Expand Up @@ -55,8 +55,8 @@ def argParser():
parser.add_argument('--proxy', metavar='address:port',
help='Set the network proxy'
)
parser.add_argument('-u', '--upload-file', nargs='*',
metavar='file', help='Upload 1 or more files'
parser.add_argument('--upload-file', nargs='*',
metavar='tag:file', help='Upload 1 or more files'
)
parser.add_argument('script', metavar='script.js', nargs='*',
help='The script to execute, and any args to pass to it'
Expand Down Expand Up @@ -110,7 +110,7 @@ def userAgentForUrl(self, url):
return QWebPage.userAgentForUrl(self, url)

def chooseFile(self, webframe, suggestedFile):
if self.parent.m_upload_file.get(self.m_nextFileTag):
if self.m_nextFileTag in self.parent.m_upload_file:
return self.parent.m_upload_file[self.m_nextFileTag]
return QString()

Expand All @@ -121,7 +121,7 @@ def __init__(self, args, parent = None):
# variable declarations
self.m_scriptFile = self.m_script = self.m_loadStatus = self.m_state = self.m_userAgent = QString()
self.m_page = WebPage(self)
self.m_var = {}
self.m_var = self.m_loadScript_cache = {}
# setup the values from args
self.m_script = QString.fromUtf8(args.script[0].readAll())
self.m_scriptFile = args.script[0].fileName()
Expand Down Expand Up @@ -215,6 +215,10 @@ def loadStatus(self):

@pyqtSlot(str, result=bool)
def loadScript(self, script):
if script in self.m_loadScript_cache:
self.m_page.mainFrame().evaluateJavaScript(self.m_loadScript_cache[script])
return True

scriptFile = QFile(script).fileName()
script = QFile(script)
if not script.open(QFile.ReadOnly):
Expand All @@ -228,6 +232,7 @@ def loadScript(self, script):
coffee = CSConverter(self)
script = QString.fromUtf8(coffee.convert(script))

self.m_loadScript_cache[scriptFile] = script
self.m_page.mainFrame().evaluateJavaScript(script)
return True

Expand Down Expand Up @@ -265,7 +270,7 @@ def render(self, fileName):
self.m_page.mainFrame().render(p)
p.end()
self.m_page.setViewportSize(viewportSize)
buffer.save(fileName)
return buffer.save(fileName)

@pyqtSlot('QWebElement', str)
def setFormInputFile(self, el, fileTag):
Expand Down