Example #1
0
class CSConverter(QObject):
    _instance = None
    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super(CSConverter, cls).__new__(cls, *args, **kwargs)
        return cls._instance

    def __init__(self):
        super(CSConverter, self).__init__(QApplication.instance())

        self.m_webPage = QWebPage(self)

        with QPyFile(':/resources/coffee-script.js') as f:
            self.m_webPage.mainFrame().evaluateJavaScript(f.readAll())
            self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)

    def convert(self, script):
        self.setProperty('source', script)
        result = self.m_webPage.mainFrame().evaluateJavaScript('''try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }
                                                               ''')
        return result
Example #2
0
    def __init__(self,
                 log,
                 confirm_callback=None,
                 prompt_callback=None,
                 user_agent=USER_AGENT,
                 enable_developer_tools=False,
                 parent=None):
        QWebPage.__init__(self, parent)

        self.log = log
        self.user_agent = user_agent if user_agent else USER_AGENT
        self.confirm_callback = confirm_callback
        self.prompt_callback = prompt_callback
        self.setForwardUnsupportedContent(True)
        self.unsupportedContent.connect(self.on_unsupported_content)
        settings = self.settings()
        if enable_developer_tools:
            settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        QWebSettings.enablePersistentStorage(
            os.path.join(cache_dir(), 'webkit-persistence'))
        QWebSettings.setMaximumPagesInCache(0)
        self.bridge_name = 'b' + uuid.uuid4().get_hex()
        self.mainFrame().javaScriptWindowObjectCleared.connect(
            self.add_window_objects)
        self.dom_loaded = False
Example #3
0
class CSConverter(QObject):
    _instance = None

    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super(CSConverter,
                                  cls).__new__(cls, *args, **kwargs)
        return cls._instance

    def __init__(self):
        super(CSConverter, self).__init__(QApplication.instance())

        self.m_webPage = QWebPage(self)

        with QPyFile(':/resources/coffee-script.js') as f:
            script = f.readAll()

        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject(
            'converter', self)

    def convert(self, script):
        self.setProperty('source', script)
        result = self.m_webPage.mainFrame().evaluateJavaScript('''try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }
                                                               ''')
        return result
Example #4
0
	def brow(self):
		app1 = QtGui.QApplication(sys.argv)
		grid = QGridLayout()
		browser = QWebView()
		global browser
		url_input = UrlInput(browser)
		requests_table = RequestsTable()

		manager = Manager(requests_table)
		page = QWebPage()
		page.setNetworkAccessManager(manager)
		browser.setPage(page)

		js_eval = JavaScriptEvaluator(page)
		# action_box = ActionInputBox(page)

		grid.addWidget(url_input, 1, 0)
		# grid.addWidget(action_box, 2, 0)
		grid.addWidget(browser, 3, 0)
		# grid.addWidget(requests_table, 4, 0)
		# grid.addWidget(js_eval, 5, 0)

		main_frame = QWidget()
		main_frame.setLayout(grid)
		main_frame.show()
		sys.exit(app.exec_())
Example #5
0
class CSConverter(QObject):
    def __init__(self, parent=None):
        QObject.__init__(self, parent)
        self.m_webPage = QWebPage(self)

        converter = QFile(':/resources/coffee-script.js')
        if not converter.open(QFile.ReadOnly):
            sys.exit('CoffeeScript compiler is not available!')

        script = str(converter.readAll())
        converter.close()
        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)

    def convert(self, script):
        self.setProperty('source', script)
        result = self.m_webPage.mainFrame().evaluateJavaScript('''try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }''')
        if result[0] is False:
            qWarning(result[1])
            return ''
        return result[1]
Example #6
0
 def __init__(self, cb, dump_file):
     self.app = QApplication(sys.argv)
     QWebPage.__init__(self)
     self.mainFrame().loadFinished.connect(self._loadFinished)
     self.cb = cb
     self.html_dump = dump_file
     self.settings().setAttribute(QWebSettings.AutoLoadImages, False)
Example #7
0
class CSConverter(QObject):
    def __init__(self, parent=None):
        QObject.__init__(self, parent)
        self.m_webPage = QWebPage(self)

        converter = QFile(":/resources/coffee-script.js")
        if not converter.open(QFile.ReadOnly):
            sys.exit("CoffeeScript compiler is not available!")

        script = str(converter.readAll())
        converter.close()
        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject("converter", self)

    def convert(self, script):
        self.setProperty("source", script)
        result = self.m_webPage.mainFrame().evaluateJavaScript(
            """try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }
                                                               """
        )
        return result
Example #8
0
 def __init__(self, url):
     self.app = QApplication(sys.argv)
     QWebPage.__init__(self)
     self.loadFinished.connect(self.on_page_load)
     time.sleep(5)
     self.mainFrame().load(QUrl(url))
     self.app.exec_()
Example #9
0
    def __init__(self, opts, log):
        self.log = log
        QWebPage.__init__(self)
        settings = self.settings()
        settings.setFontSize(QWebSettings.DefaultFontSize,
                             opts.pdf_default_font_size)
        settings.setFontSize(QWebSettings.DefaultFixedFontSize,
                             opts.pdf_mono_font_size)
        settings.setFontSize(QWebSettings.MinimumLogicalFontSize, 8)
        settings.setFontSize(QWebSettings.MinimumFontSize, 8)

        std = {
            'serif': opts.pdf_serif_family,
            'sans': opts.pdf_sans_family,
            'mono': opts.pdf_mono_family
        }.get(opts.pdf_standard_font, opts.pdf_serif_family)
        if std:
            settings.setFontFamily(QWebSettings.StandardFont, std)
        if opts.pdf_serif_family:
            settings.setFontFamily(QWebSettings.SerifFont,
                                   opts.pdf_serif_family)
        if opts.pdf_sans_family:
            settings.setFontFamily(QWebSettings.SansSerifFont,
                                   opts.pdf_sans_family)
        if opts.pdf_mono_family:
            settings.setFontFamily(QWebSettings.FixedFont,
                                   opts.pdf_mono_family)
        self.longjs_counter = 0
Example #10
0
class CSConverter(QObject):
    def __init__(self, parent):
        QObject.__init__(self, parent)
        self.m_webPage = QWebPage(self)

        converter = QFile(":/resources/coffee-script.js")
        if not converter.open(QFile.ReadOnly):
            sys.exit("CoffeeScript compiler is not available!")

        script = str(converter.readAll())
        converter.close()
        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject("converter", self)

    def convert(self, script):
        self.setProperty("source", script)
        result = self.m_webPage.mainFrame().evaluateJavaScript(
            """try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }
                                                               """
        )
        return result

    @staticmethod
    def instance():
        global CSConverterInstance

        # We need only one instance of the CSConverter for our whole life
        if CSConverterInstance is None:
            CSConverterInstance = CSConverter(QCoreApplication.instance())

        return CSConverterInstance
Example #11
0
    def __init__(self, parent=None):
        QObject.__init__(self, parent)

        self.webPage = QWebPage(self)
        self.mainFrame = self.webPage.mainFrame()

        self.webPage.loadFinished.connect(self.render)
Example #12
0
class CSConverter(QObject):
    _instance = None
    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super(CSConverter, cls).__new__(cls, *args, **kwargs)
        return cls._instance

    def __init__(self):
        QObject.__init__(self, QApplication.instance())
        self.m_webPage = QWebPage(self)

        converter = QFile(':/resources/coffee-script.js')
        if not converter.open(QFile.ReadOnly):
            sys.exit('CoffeeScript compiler is not available!')
        script = str(converter.readAll())
        converter.close()

        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)

    def convert(self, script):
        self.setProperty('source', script)
        result = self.m_webPage.mainFrame().evaluateJavaScript('''try {
                                                                      [true, this.CoffeeScript.compile(converter.source)];
                                                                  } catch (error) {
                                                                      [false, error.message];
                                                                  }
                                                               ''')
        return result
Example #13
0
    def __init__(
        self,
        log,
        confirm_callback=None,
        prompt_callback=None,
        user_agent=USER_AGENT,
        enable_developer_tools=False,
        parent=None,
    ):
        QWebPage.__init__(self, parent)

        self.log = log
        self.user_agent = user_agent if user_agent else USER_AGENT
        self.confirm_callback = confirm_callback
        self.prompt_callback = prompt_callback
        self.setForwardUnsupportedContent(True)
        self.unsupportedContent.connect(self.on_unsupported_content)
        settings = self.settings()
        if enable_developer_tools:
            settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        QWebSettings.enablePersistentStorage(os.path.join(cache_dir(), "webkit-persistence"))
        QWebSettings.setMaximumPagesInCache(0)
        self.bridge_name = "b" + uuid.uuid4().get_hex()
        self.mainFrame().javaScriptWindowObjectCleared.connect(self.add_window_objects)
        self.dom_loaded = False
Example #14
0
 def findText(self, q, flags):
     if self.hyphenatable:
         q = unicode(q)
         hyphenated_q = self.javascript(
             'hyphenate_text(%s, "%s")' % (json.dumps(q, ensure_ascii=False), self.loaded_lang), typ='string')
         if QWebPage.findText(self, hyphenated_q, flags):
             return True
     return QWebPage.findText(self, q, flags)
Example #15
0
    def __init__(self):
        super(CSConverter, self).__init__(QApplication.instance())

        self.m_webPage = QWebPage(self)

        with QPyFile(':/resources/coffee-script.js') as f:
            self.m_webPage.mainFrame().evaluateJavaScript(f.readAll())
            self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)
Example #16
0
	def __init__(self, url, app):
		global _cookieJar, cookie
		self._url = url
		self._app = app
		QWebPage.__init__(self)
		self.networkAccessManager().setCookieJar(_cookieJar)
		_cookieJar.setCookiesFromUrl(QNetworkCookie.parseCookies(_cookie), QUrl(url))
		self.bind()
Example #17
0
 def javaScriptAlert(self, frame, msg):
     # TODO ugly workaround for webkit not recognizing url changed done by
     #   javascript
     if unicode(msg).startswith('navigate:'):
         url = unicode(msg).replace('navigate:', '')
         self.emit(SIGNAL("linkClicked(const QUrl &)"), QUrl(url))
     else:
         QWebPage.javaScriptAlert(self, frame, msg)
Example #18
0
 def findText(self, q, flags):
     if self.hyphenatable:
         q = unicode(q)
         hyphenated_q = self.javascript(
             'hyphenate_text(%s, "%s")' % (json.dumps(q, ensure_ascii=False), self.loaded_lang), typ='string')
         if QWebPage.findText(self, hyphenated_q, flags):
             return True
     return QWebPage.findText(self, q, flags)
Example #19
0
 def __init__(self):
     self.log = default_log
     QWebPage.__init__(self)
     self.js = None
     self.evaljs = self.mainFrame().evaluateJavaScript
     self.bridge_value = None
     nam = self.networkAccessManager()
     nam.setNetworkAccessible(nam.NotAccessible)
     self.setLinkDelegationPolicy(self.DelegateAllLinks)
Example #20
0
 def __init__(self):
     self.log = default_log
     QWebPage.__init__(self)
     self.js = None
     self.evaljs = self.mainFrame().evaluateJavaScript
     self.bridge_value = None
     nam = self.networkAccessManager()
     nam.setNetworkAccessible(nam.NotAccessible)
     self.setLinkDelegationPolicy(self.DelegateAllLinks)
Example #21
0
    def __init__(self, parent=None):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())

        self.m_uploadFile = ''

        do_action('CustomPageInit')
Example #22
0
 def __init__(self, log):
     self.log = log
     QWebPage.__init__(self)
     self.js = None
     self.evaljs = self.mainFrame().evaluateJavaScript
     self.bridge_value = None
     nam = self.networkAccessManager()
     nam.setNetworkAccessible(nam.NotAccessible)
     self.longjs_counter = 0
 def __init__(self, parent=None):
     global f
     f = open(filename, "a")
     f.write("WebPage init...\n")
     f.close()
     QWebPage.__init__(self, parent)
     f = open(filename, "a")
     f.write("WebPage init completed.\n")
     f.close()
Example #24
0
 def __init__(self, url):
     self.app = qtg.QApplication(sys.argv)
     qwp.__init__(self)
     signal.signal(signal.SIGINT, signal.SIG_DFL)
     self.connect(self,
                  qtc.SIGNAL('loadFinished(bool)'),
                  self._finished_loading)
     self.mainFrame().load(qtc.QUrl(url))
     self.app.exec_()
Example #25
0
 def __init__(self, log):
     self.log = log
     QWebPage.__init__(self)
     self.js = None
     self.evaljs = self.mainFrame().evaluateJavaScript
     self.bridge_value = None
     nam = self.networkAccessManager()
     nam.setNetworkAccessible(nam.NotAccessible)
     self.longjs_counter = 0
Example #26
0
    def __init__(self, parent=None):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())

        self.m_uploadFile = ''

        do_action('CustomPageInit', Bunch(locals()))
Example #27
0
    def __init__(self, parent = None):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_nextFileTag = QString()
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())

        if self.parent.m_verbose:
            self.connect(self.currentFrame(), SIGNAL('urlChanged(const QUrl&)'), self.handleFrameUrlChanged)
            self.connect(self, SIGNAL('linkClicked(const QUrl&)'), self.handleLinkClicked)
Example #28
0
File: ws_qt.py Project: dyxj/wsPrj
 def __init__(self, url, eoi, click):
     self.app = QApplication(sys.argv)
     QWebPage.__init__(self)
     qurl = QUrl(url)
     # element of interest & click bool
     self.eoi = eoi
     self.click = click
     self.mainFrame().load(qurl)
     self.on_webView_loadFinished()
     self.app.exec()
 def __init__(self, path):
     print("init")
     self.path = path
     self.webpage = QWebPage()
     self.webpage.connect(self.webpage, SIGNAL("loadStarted()"),
                          self.loading)
     self.webpage.connect(self.webpage, SIGNAL("loadFinished(bool)"),
                          self.loaded)
     self.__loading = False
     self.__loaded = False
Example #30
0
    def __init__(self, url):
        self.app = QApplication(sys.argv)  # finding the application not
        # initialinzing it otherwise it must have anathor self argument
        QWebPage.__init__(self)       # initialinzing the q webpage
        self.loadFinished.connect(self.on_page_load)
        self.mainFrame().load(QUrl(url))
        self.app.exec_()

	def on_page_load(self):
		self.app.quit()  # run until the page loads after loading we are done
Example #31
0
    def __init__(self, parent = None):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_nextFileTag = ''
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())

        if self.parent.m_verbose:
            self.currentFrame().urlChanged.connect(self.handleFrameUrlChanged)
            self.linkClicked.connect(self.handleLinkClicked)
Example #32
0
    def __init__(self, parent):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())
        self.m_scrollPosition = QPoint()

        self.m_uploadFile = ''

        do_action('CustomPageInit')
Example #33
0
 def __init__(self, url):        
 """
 Set up the Qt application and connect signal handler.
 """
      self.app = QApplication(sys.argv)
      QWebPage.__init__(self)
      signal.signal(signal.SIGINT, signal.SIG_DFL)
      self.connect(self, SIGNAL('loadFinished(bool)'), self._finished_loading)
      self.mainFrame().load(QUrl(url))
      self.app.exec_()
Example #34
0
    def __init__(self, parent):
        """Copies the properties from the parent (WebkitRenderer) object,
        creates the required instances of QWebPage, QWebView and QMainWindow
        and registers some Slots.
        """
        QObject.__init__(self)

        # Copy properties from parent
        for key, value in parent.__dict__.items():
            setattr(self, key, value)

        # Create and connect required PyQt4 objects
        self._page = QWebPage()
        self._view = QWebView()
        self._view.setPage(self._page)
        self._window = QMainWindow()
        self._window.setCentralWidget(self._view)

        # Import QWebSettings
        for key, value in self.qWebSettings.iteritems():
            self._page.settings().setAttribute(key, value)

        # Connect required event listeners
        self.connect(
            self._page, SIGNAL("loadFinished(bool)"),
            self._on_load_finished
        )
        self.connect(
            self._page, SIGNAL("loadStarted()"),
            self._on_load_started
        )
        self.connect(
            self._page.networkAccessManager(),
            SIGNAL("sslErrors(QNetworkReply *,const QList<QSslError>&)"),
            self._on_ssl_errors
        )
        self.connect(
            self._page.networkAccessManager(),
            SIGNAL("finished(QNetworkReply *)"), self._on_each_reply
        )

        # The way we will use this, it seems to be unesseccary to have
        # Scrollbars enabled.
        self._page.mainFrame().setScrollBarPolicy(
            Qt.Horizontal, Qt.ScrollBarAlwaysOff
        )
        self._page.mainFrame().setScrollBarPolicy(
            Qt.Vertical, Qt.ScrollBarAlwaysOff
        )
        self._page.settings().setUserStyleSheetUrl(
            QUrl("data:text/css,html,body{overflow-y:hidden !important;}")
        )

        # Show this widget
        self._window.show()
Example #35
0
class Thumbnailer(QObject):
    finished = pyqtSignal()

    def __init__(self, parent=None):
        QObject.__init__(self, parent)

        self.webPage = QWebPage(self)
        self.mainFrame = self.webPage.mainFrame()

        self.webPage.loadFinished.connect(self.render)

    def load(self, url):
        qurl = QUrl(url)
        self.webPage.mainFrame().load(qurl)

    def render(self):
        self.webPage.setViewportSize(self.webPage.mainFrame().contentsSize())
        image = QImage(self.webPage.viewportSize(), QImage.Format_ARGB32)

        painter = QPainter()
        painter.begin(image)
        self.webPage.mainFrame().render(painter)
        painter.end()

        image.save('thumbnail.png')
        self.finished.emit()
Example #36
0
    def __init__(self, shortcuts, parent=None, debug_javascript=False):
        QWebPage.__init__(self, parent)
        self.setObjectName("py_bridge")
        self.in_paged_mode = False
        # Use this to pass arbitrary JSON encodable objects between python and
        # javascript. In python get/set the value as: self.bridge_value. In
        # javascript, get/set the value as: py_bridge.value
        self.bridge_value = None
        self.first_load = True

        self.debug_javascript = debug_javascript
        self.anchor_positions = {}
        self.index_anchors = set()
        self.current_language = None
        self.loaded_javascript = False
        self.js_loader = JavaScriptLoader(
                    dynamic_coffeescript=self.debug_javascript)
        self.in_fullscreen_mode = False

        self.setLinkDelegationPolicy(self.DelegateAllLinks)
        self.scroll_marks = []
        self.shortcuts = shortcuts
        pal = self.palette()
        pal.setBrush(QPalette.Background, QColor(0xee, 0xee, 0xee))
        self.setPalette(pal)
        self.page_position = PagePosition(self)

        settings = self.settings()

        # Fonts
        load_builtin_fonts()
        self.all_viewer_plugins = tuple(all_viewer_plugins())
        for pl in self.all_viewer_plugins:
            pl.load_fonts()
        opts = config().parse()
        self.set_font_settings(opts)

        # Security
        settings.setAttribute(QWebSettings.JavaEnabled, False)
        settings.setAttribute(QWebSettings.PluginsEnabled, False)
        settings.setAttribute(QWebSettings.JavascriptCanOpenWindows, False)
        settings.setAttribute(QWebSettings.JavascriptCanAccessClipboard, False)

        # Miscellaneous
        settings.setAttribute(QWebSettings.LinksIncludedInFocusChain, True)
        settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        self.set_user_stylesheet(opts)
        self.misc_config(opts)

        # Load javascript
        self.mainFrame().javaScriptWindowObjectCleared.connect(
                self.add_window_objects)

        self.turn_off_internal_scrollbars()
Example #37
0
    def documentation_load_finished(self, ok):
        url = self.ui.webView.url()
        url_path = str(url.path())
        url_fragment = str(url.fragment()).replace('library.zip.appfuncs.', 'appfuncs.')
        #ExeStdOut(url_path, url_fragment)
        #print ("url", url_path)
        #print ("fragment", url_fragment)
        if url_path.endswith("docs/appfuncs.html"):
            #print (self.controller.function_docs, os.path.isfile(self.controller.function_docs))
            #with open(self.controller.function_docs) as fid:
            #    doc_html = str(fid.read(), 'utf-8')
            doc_html = self.html_source()
            if url_fragment.endswith(".run"):
                url_fragment = url_fragment[:-4]


            start_tag = '<dt id="%s">' % url_fragment
            end_tag = '<dt id='

            scriptFunction_name = url_fragment.split(".")[-2]
            try:
                method_html = start_tag + doc_html.split(start_tag)[1].split(end_tag)[0]
                for a, b in [('<tt class="descname">run</tt>', '<tt class="descname">%s</tt>' % scriptFunction_name),
                    ('href="_modules', 'href="source.html?#_modules'),
                    #('href="#appfuncs', 'href="doc.html?#appfuncs'),
                    #('</th>', '</th></tr>\n<tr>'),
                    ("Parameters :", "Parameters:"),
                    ("Return :", "Return:"),
                    ]:
                    method_html = method_html.replace(a, b)
            except IndexError:
                method_html = "Documentation not found"
            self.doc_contents = method_html




        elif url_path.endswith("docs/source.html"):
            source_html_path, self.anchor = str(url.fragment()).split("#")

            with open("%s/%s" % (os.path.dirname(self.controller.function_docs), source_html_path)) as fid:
                source_html = to_str(fid.read())
            source_html = source_html.replace('<a class="viewcode-back" href="../../../ScriptFunctions.html', '<a class="viewcode-back" href="appfuncs.html')
            from PyQt4.QtWebKit import QWebPage
            p = QWebPage()
            f = p.mainFrame()
            f.setHtml(source_html)
            self.doc_contents = f.findFirstElement('div.body').toInnerXml()


            if self.anchor:
                self.ui.webView.page().mainFrame().scrollToAnchor(self.anchor)
        with open(self.doc_path + "tmp.html", 'w') as fid:
            fid.write(self.html_source())
Example #38
0
 def __init__(self, url):
     # self.app = QApplication.instance()
     # if self.app is None:
     self.app = QApplication(sys.argv)
     QWebPage.__init__(self)
     self.loadFinished.connect(self.on_page_load)
     print("Loading")
     self.mainFrame().load(QUrl(url))
     print("Executing")
     self.app.exec_()
     print("Executed")
Example #39
0
    def __init__(self, parent = None):
        QObject.__init__(self, parent)
        self.m_webPage = QWebPage(self)

        converter = QFile(':/resources/coffee-script.js')
        converter.open(QFile.ReadOnly)

        script = QString.fromUtf8(converter.readAll())
        converter.close()
        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)
Example #40
0
    def __init__(self, shortcuts, parent=None, debug_javascript=False):
        QWebPage.__init__(self, parent)
        self.setObjectName("py_bridge")
        self.in_paged_mode = False
        # Use this to pass arbitrary JSON encodable objects between python and
        # javascript. In python get/set the value as: self.bridge_value. In
        # javascript, get/set the value as: py_bridge.value
        self.bridge_value = None
        self.first_load = True

        self.debug_javascript = debug_javascript
        self.anchor_positions = {}
        self.index_anchors = set()
        self.current_language = None
        self.loaded_javascript = False
        self.js_loader = JavaScriptLoader(
                    dynamic_coffeescript=self.debug_javascript)
        self.in_fullscreen_mode = False

        self.setLinkDelegationPolicy(self.DelegateAllLinks)
        self.scroll_marks = []
        self.shortcuts = shortcuts
        pal = self.palette()
        pal.setBrush(QPalette.Background, QColor(0xee, 0xee, 0xee))
        self.setPalette(pal)
        self.page_position = PagePosition(self)

        settings = self.settings()

        # Fonts
        self.all_viewer_plugins = tuple(all_viewer_plugins())
        for pl in self.all_viewer_plugins:
            pl.load_fonts()
        opts = config().parse()
        self.set_font_settings(opts)

        # Security
        settings.setAttribute(QWebSettings.JavaEnabled, False)
        settings.setAttribute(QWebSettings.PluginsEnabled, False)
        settings.setAttribute(QWebSettings.JavascriptCanOpenWindows, False)
        settings.setAttribute(QWebSettings.JavascriptCanAccessClipboard, False)

        # Miscellaneous
        settings.setAttribute(QWebSettings.LinksIncludedInFocusChain, True)
        settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        self.set_user_stylesheet(opts)
        self.misc_config(opts)

        # Load javascript
        self.mainFrame().javaScriptWindowObjectCleared.connect(
                self.add_window_objects)

        self.turn_off_internal_scrollbars()
Example #41
0
    def __init__(self, parent=None):
        QWebPage.__init__(self, parent)

        self.parent = parent
        self.m_nextFileTag = ""
        self.m_userAgent = QWebPage.userAgentForUrl(self, QUrl())

        if self.parent.m_verbose:
            self.currentFrame().urlChanged.connect(self.handleFrameUrlChanged)
            self.linkClicked.connect(self.handleLinkClicked)

        do_action("WebPageInit", Bunch(locals()))
 def __init__(self, urls, cb):
     self.app = QApplication(sys.argv)
     QWebPage.__init__(self)
     s = self.settings()
     s.setAttribute(QWebSettings.AutoLoadImages, False)
     s.setAttribute(QWebSettings.LinksIncludedInFocusChain, False)
     s.clearMemoryCaches()
     self.loadFinished.connect(self._loadFinished)
     self.urls = urls
     self.cb = cb
     self.crawl()
     self.app.exec_()
 def importBookmarks(self):
     """
     Public method to import bookmarks.
     """
     supportedFormats = QStringList() \
         << self.trUtf8("XBEL bookmarks").append(" (*.xbel *.xml)") \
         << self.trUtf8("HTML Netscape bookmarks").append(" (*.html *.htm)")
     
     fileName = KQFileDialog.getOpenFileName(\
         None,
         self.trUtf8("Import Bookmarks"),
         QString(),
         supportedFormats.join(";;"),
         None)
     if fileName.isEmpty():
         return
     
     reader = XbelReader()
     importRootNode = None
     if fileName.endsWith(".html"):
         inFile = QFile(fileName)
         inFile.open(QIODevice.ReadOnly)
         if inFile.openMode == QIODevice.NotOpen:
             KQMessageBox.warning(None,
                 self.trUtf8("Import Bookmarks"),
                 self.trUtf8("""Error opening bookmarks file <b>%1</b>.""")\
                     .arg(fileName))
             return
         
         webpage = QWebPage()
         webpage.mainFrame().setHtml(QString(inFile.readAll()))
         result = webpage.mainFrame().evaluateJavaScript(extract_js).toByteArray()
         buffer_ = QBuffer(result)
         buffer_.open(QIODevice.ReadOnly)
         importRootNode = reader.read(buffer_)
     else:
         importRootNode = reader.read(fileName)
     
     if reader.error() != QXmlStreamReader.NoError:
         KQMessageBox.warning(None,
             self.trUtf8("Import Bookmarks"),
             self.trUtf8("""Error when importing bookmarks on line %1, column %2:\n"""
                         """%3""")\
                 .arg(reader.lineNumber())\
                 .arg(reader.columnNumber())\
                 .arg(reader.errorString()))
         return
     
     importRootNode.setType(BookmarkNode.Folder)
     importRootNode.title = self.trUtf8("Imported %1")\
         .arg(QDate.currentDate().toString(Qt.SystemLocaleShortDate))
     self.addBookmark(self.menu(), importRootNode)
Example #44
0
    def __init__(self, parent=None):
        QObject.__init__(self, parent)
        self.m_webPage = QWebPage(self)

        converter = QFile(':/resources/coffee-script.js')
        if not converter.open(QFile.ReadOnly):
            sys.exit('CoffeeScript compiler is not available!')

        script = str(converter.readAll())
        converter.close()
        self.m_webPage.mainFrame().evaluateJavaScript(script)
        self.m_webPage.mainFrame().addToJavaScriptWindowObject(
            'converter', self)
Example #45
0
 def __init__(self, argv):
     self.app = app = QApplication(argv)
     self.browser = QWebView()
     requests_table = RequestsTable()
     manager = KontenaManager(self, requests_table)
     page = QWebPage()
     page.setNetworkAccessManager(manager)
     self.browser.setPage(page)
     grid = QGridLayout()
     grid.addWidget(self.browser, 0, 0)
     # grid.addWidget(requests_table, 4, 0)
     self.window = QWidget()
     self.window.setLayout(grid)
Example #46
0
    def __init__(self, source, target, width):
        self.width = int(width)
        self.target = target
        #self.app = QApplication(sys.argv)
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        self.qwPage = QWebPage()

        size = QSize()
        size.setWidth(int(width))
        self.qwPage.setViewportSize(size)

        self.qwPage.connect(self.qwPage, SIGNAL("loadFinished(bool)"),
                            self.onLoadFinished)
        self.qwPage.mainFrame().load(QUrl(source))
Example #47
0
    def __init__(self):

        self.application = app

        wp = QWebPage()
        wp.setForwardUnsupportedContent(True)
        wp.loadFinished.connect(self._on_load_finished)
        wp.loadStarted.connect(self._on_load_started)
        self.webpage = wp
        self.webframe = wp.mainFrame()
        self.headers = []
        self._load_timeout = -1
        self._load_success = False
        self.setSettings()
Example #48
0
    def __init__(self):

        self.application = app
        self.logger = Logger.getLogger()

        wp = QWebPage()
        wp.setForwardUnsupportedContent(True)
        wp.loadFinished.connect(self._on_load_finished)
        wp.loadStarted.connect(self._on_load_started)
        self.webpage = wp
        self.webframe = wp.mainFrame()
        self.headers = []
        self._load_timeout = -1
        self._load_success = False
        self.setSettings()
Example #49
0
    def __init__(self, url, app):
        global _cookieJar, cookie
        self._url = url
        self._app = app
        QWebPage.__init__(self)
        self.networkAccessManager().setCookieJar(_cookieJar)
        _cookieJar.setCookiesFromUrl(QNetworkCookie.parseCookies(_cookie), QUrl(url))
        self.bind()
        self._app.exec_()

        self.user_agent_for_url = user_agent
        self.js_alert = alert
        self.js_prompt = alert
        self.js_confirm = alert
        self.js_console_message = console_message
Example #50
0
    def __init__(self, url: str):
        self.app = QApplication(sys.argv)
        QWebPage.__init__(self)
        # noinspection PyUnresolvedReferences
        self.loadFinished.connect(self.on_page_load)
        self._error = None

        # Setup timeout
        timeout_value = 10  # seconds
        self.timeout_timer = QTimer()
        self.timeout_timer.timeout.connect(self._request_timed_out)
        self.timeout_timer.start(timeout_value * 1000)  # Start the timer

        # load the page, timer running
        self.mainFrame().load(QUrl(url))
        self.app.exec_()
 def load_species_names_list(self):
     if os.path.isfile('%s/species_names.json' % run_name):
         print "Loading cached species names..."
         sn = cjson.decode(open('%s/species_names.json' % run_name).read())
         self.allSpecies = sn['allSpecies']
         self.species1Names = sn['species1Names']
         self.species2Names = sn['species2Names']
     else:
         print "Fetching species names..."
         self.webpage = QWebPage()
         self.webpage.loadFinished.connect(self.process_organism_list)
         self.webpage.mainFrame().load(
             QUrl('http://roundup.hms.harvard.edu/retrieve/'))
         while self.allSpecies == None:
             time.sleep(.05)
             appInstance.processEvents()
 def __init__(self, parent = None):
     """
     Constructor
     
     @param parent parent widget of this window (QWidget)
     """
     QWebPage.__init__(self, parent)
     
     self.__lastRequest = None
     self.__lastRequestType = QWebPage.NavigationTypeOther
     
     self.__proxy = NetworkAccessManagerProxy(self)
     self.__proxy.setWebPage(self)
     self.__proxy.setPrimaryNetworkAccessManager(
         Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
     self.setNetworkAccessManager(self.__proxy)
Example #53
0
    def find(self, forwards=True):
        text = unicode(self.search_text.text()).strip()
        flags = QWebPage.FindFlags(0) if forwards else QWebPage.FindBackward
        d = self.dest_list
        if d.count() == 1:
            flags |= QWebPage.FindWrapsAroundDocument
        if not self.view.findText(text, flags) and text:
            if d.count() == 1:
                return error_dialog(self,
                                    _('No match found'),
                                    _('No match found for: %s') % text,
                                    show=True)

            delta = 1 if forwards else -1
            current = unicode(d.currentItem().data(Qt.DisplayRole).toString())
            next_index = (d.currentRow() + delta) % d.count()
            next = unicode(d.item(next_index).data(Qt.DisplayRole).toString())
            msg = '<p>' + _(
                'No matches for %(text)s found in the current file [%(current)s].'
                ' Do you want to search in the %(which)s file [%(next)s]?')
            msg = msg % dict(text=text,
                             current=current,
                             next=next,
                             which=_('next') if forwards else _('previous'))
            if question_dialog(self, _('No match found'), msg):
                self.pending_search = self.find_next if forwards else self.find_previous
                d.setCurrentRow(next_index)
Example #54
0
    def __init__(self, parent):
        """
        Copies the properties from the parent (WebkitRenderer) object,
        creates the required instances of QWebPage, QWebView and QMainWindow
        and registers some Slots.
        """
        QObject.__init__(self)

        # Copy properties from parent
        for key, value in parent.__dict__.items():
            setattr(self, key, value)

        # Create and connect required PyQt4 objects
        self._page = QWebPage()
        self._view = QWebView()
        self._view.setPage(self._page)
        self._window = QMainWindow()
        self._window.setCentralWidget(self._view)

        # Import QWebSettings
        for key, value in self.qWebSettings.iteritems():
            self._page.settings().setAttribute(key, value)

        # Connect required event listeners
        self.connect(self._page, SIGNAL("loadFinished(bool)"), self._on_load_finished)
        self.connect(self._page, SIGNAL("loadStarted()"), self._on_load_started)
        self.connect(self._page.networkAccessManager(), SIGNAL("sslErrors(QNetworkReply *,const QList<QSslError>&)"), self._on_ssl_errors)

        # The way we will use this, it seems to be unesseccary to have Scrollbars enabled
        self._page.mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)
        self._page.mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)
        self._page.settings().setUserStyleSheetUrl(QUrl("data:text/css,html,body{overflow-y:hidden !important;}"))
        
        # Show this widget
        self._window.show()
Example #55
0
	def __init__(self, browser, parent):
		"Inicia una página web, el padre debe ser el widget que lo contiene"
		QWebPage.__init__(self, parent)
		
		self.__browser = browser
				
		# variables para crear frame
		self.__get_frame_condition = Condition(Lock())
		self.__get_frame_result = None 
		self.connect(self, QtCore.SIGNAL('get_frame_signal(QWebFrame *)'),
			self, QtCore.SLOT('__get_frame_slot(QWebFrame *)') )
		
		self.__main_frame = None
		self.__user_agent = None
		
		self.disable_alert = False
		"Hace que se deshabilite el alert de javascript"
Example #56
0
    def __init__(self):
        super(CSConverter, self).__init__(QApplication.instance())

        self.m_webPage = QWebPage(self)

        with QPyFile(':/resources/coffee-script.js') as f:
            self.m_webPage.mainFrame().evaluateJavaScript(f.readAll())
            self.m_webPage.mainFrame().addToJavaScriptWindowObject('converter', self)
Example #57
0
    def __init__(self, autojq=True, timeoutsec=120):
        QWebPage.__init__(self)
        self.autojq = autojq
        self.timeoutsec = timeoutsec

        self.loop = QEventLoop()
        self.waiter = Waiter()

        # фиксенные кеш и менеджер
        self.cache = Cache()
        self.manager = Manager()

        self.cache.setCacheDirectory(CACHE_PATH)
        self.manager.setCache(self.cache)
        self.setNetworkAccessManager(self.manager)

        log.info('init(): autojq: %s, timeoutsec: %s, cache: %s' % colorize((autojq, timeoutsec, CACHE_PATH)))