예제 #1
0
파일: control.py 프로젝트: whix/QZoneHelper
    def __init__(self, networkAccessManager, uin, gtk, config):
        super(Control, self).__init__()

        self.errorLogPath = "error.txt"
        self.workFinished = True
        self.__config = config
        self.config = config.get(uin)
        self.uin = uin
        self.gtk = gtk
        self.page = QtWebKit.QWebPage()
        self.webFrame = self.page.mainFrame()
        self.running = False
        self.networkAccessManager = networkAccessManager
        #        self.networkAccessManager = QtNetwork.QNetworkAccessManager(self)
        #        self.cookieJar = cookieJar
        #        self.networkAccessManager.setCookieJar(self.cookieJar)
        self.existFeeds = []
        self.doLike = self.config.get("doLike", 1)  # 是否点赞
        self.doComment = self.config.get("doComment", 1)  # 是否评论
        self.doTime = 10  # 此时间内的动态将进行操作
        self.interval = 1
        self.commentContentList = self.config.get("commentContentList",
                                                  self.defaultCommentList)
        #        self.moveToThread(self)
        self.doSignal.connect(self.getNewFeeds)
        self.restartSignal.connect(self.restart)
예제 #2
0
def loadPage(url):
    page = QtWebKit.QWebPage()
    loop = QtCore.QEventLoop()  # Create event loop
    page.mainFrame().loadFinished.connect(
        loop.quit)  # Connect loadFinished to loop quit
    page.mainFrame().load(QtCore.QUrl(url))
    loop.exec_()  # Run event loop, it will end on loadFinished
    return page.mainFrame().toHtml()
예제 #3
0
파일: snippet.py 프로젝트: szabo92/gistable
    def __init__(self, url, dest):
        QObject.__init__(self)
        self.dest = dest
        self.page = QtWebKit.QWebPage(self)
        self.mainFrame = self.page.mainFrame()
        self.mainFrame.load(QUrl(url))

        self.connect(self.page, SIGNAL("loadProgress(int)"), self.loadProgress)

        self.connect(self.page, SIGNAL("loadFinished(bool)"), self.renderPDF)
예제 #4
0
    def __init__(self):
        super(FrameCapture, self).__init__()

        self._percent = 0
        self._page = QtWebKit.QWebPage()
        self._page.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical,
                                                  QtCore.Qt.ScrollBarAlwaysOff)
        self._page.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal,
                                                  QtCore.Qt.ScrollBarAlwaysOff)
        self._page.loadProgress.connect(self.printProgress)
        self._page.loadFinished.connect(self.saveResult)
예제 #5
0
파일: webkitplayer.py 프로젝트: jkunle/paul
    def check_available(self):
        """
        Check the availability of the media player.

        :return: boolean. True if available
        """
        web = QtWebKit.QWebPage()
        # This script should return '[object HTMLVideoElement]' if the html5 video is available in webkit. Otherwise it
        # should return '[object HTMLUnknownElement]'
        return web.mainFrame().evaluateJavaScript(
            "Object.prototype.toString.call(document.createElement('video'));"
        ) == '[object HTMLVideoElement]'
예제 #6
0
파일: RWebKit.py 프로젝트: Tamh/ryouko
 def __init__(self, parent=None):
     QtWebKit.QWebView.__init__(self, parent)
     page = RWebPage(self)
     self.setPage(page)
     self.systemOpenView = RSystemOpenView(self)
     self.systemOpenView.hide()
     self.userAgent = QtWebKit.QWebPage().userAgentForUrl(
         QtCore.QUrl("about:blank"))
     self.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
     self.settings().setAttribute(
         QtWebKit.QWebSettings.PrivateBrowsingEnabled, True)
     self.page().linkClicked.connect(self.openLink)
예제 #7
0
파일: capty.py 프로젝트: cash2one/zx
    def capture(self):
        """Captures url as an image to the file specified"""
        self.wb = QtWebKit.QWebPage()
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal,
                                               QtCore.Qt.ScrollBarAlwaysOff)
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical,
                                               QtCore.Qt.ScrollBarAlwaysOff)

        self.wb.loadFinished.connect(self.loadFinishedSlot)
        self.wb.mainFrame().initialLayoutCompleted.connect(
            self.initialLayoutSlot)

        self.wb.mainFrame().load(QtCore.QUrl(self.url))
예제 #8
0
 def __init__(self, url='', filename='kde.png'):
     super(Capturer, self).__init__()
     self.url = url
     self.filename = filename
     self.saw_initial_layout = False
     self.saw_document_complete = False
     self.wb = QtWebKit.QWebPage()
     self.wb.loadFinished.connect(self.loadFinishedSlot)
     self.wb.mainFrame().initialLayoutCompleted.connect(
         self.initialLayoutSlot)
     self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal,
                                            QtCore.Qt.ScrollBarAlwaysOff)
     self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical,
                                            QtCore.Qt.ScrollBarAlwaysOff)
예제 #9
0
    def capture(self):
        """Captures url as an image to the file specified"""
        self.wb = QtWebKit.QWebPage()
        self.network_manager = QtNetwork.QNetworkAccessManager()
        self.network_manager.sslErrors.connect(self.on_ssl_errors)
        self.wb.setNetworkAccessManager(self.network_manager)
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal,
                                               QtCore.Qt.ScrollBarAlwaysOff)
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical,
                                               QtCore.Qt.ScrollBarAlwaysOff)

        self.wb.loadFinished.connect(self.loadFinishedSlot)
        self.wb.mainFrame().initialLayoutCompleted.connect(
            self.initialLayoutSlot)

        self.wb.mainFrame().load(QtCore.QUrl(self.url))
예제 #10
0
    def capture(self, html_str):

        logger.info('1')
        self.wb = QtWebKit.QWebPage()
        self.wb.loadFinished.connect(self.loadFinishedSlot)
        self.wb.mainFrame().initialLayoutCompleted.connect(
            self.initialLayoutSlot)
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal,
                                               QtCore.Qt.ScrollBarAlwaysOff)
        self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical,
                                               QtCore.Qt.ScrollBarAlwaysOff)
        logger.info('2')
        self.wb.mainFrame().setHtml(html_str)
        logger.info('3')
        # self.ready_trigger.connect(self.loop.exit)
        # self.loop.exec_()
        while not (self.saw_initial_layout and self.saw_document_complete):
            self.loop.processEvents()
            logger.info('4')
        self.saw_initial_layout = False
        self.saw_document_complete = False
        logger.info('5')
        self.wb.setViewportSize(self.wb.mainFrame().contentsSize())
        img = QtGui.QImage(self.wb.viewportSize(), QtGui.QImage.Format_ARGB32)
        painter = QtGui.QPainter(img)
        self.wb.mainFrame().render(painter)
        painter.end()
        logger.info('6')

        data = QtCore.QByteArray()
        buf = QtCore.QBuffer(data)
        img.save(buf, 'PNG')
        logger.info('7')
        file_like = cStringIO.StringIO(data.data())
        pil_img = Image.open(file_like)
        tempfile_io = StringIO.StringIO()
        pil_img.save(tempfile_io, format='PNG')
        logger.info('8')
        tb_image = ThebloqImage()
        tb_image.file = InMemoryUploadedFile(tempfile_io, None,
                                             'order_point_img.png',
                                             'image/png', tempfile_io.len,
                                             None)
        tb_image.save()
        logger.info('9')
        return tb_image
예제 #11
0
def get_code(url, size=(640, 480), title="Google authentication"):
    """Open a QT webkit window and return the access code."""
    app = QtGui.QApplication([])
    dialog = QtGui.QDialog()
    dialog.setWindowTitle(title)
    dialog.resize(*size)
    webview = QtWebKit.QWebView()
    webpage = QtWebKit.QWebPage()
    webview.setPage(webpage)
    webpage.loadFinished.connect(
        lambda: _on_qt_page_load_finished(dialog, webview))
    webview.setUrl(QtCore.QUrl.fromEncoded(url))
    layout = QtGui.QGridLayout()
    layout.addWidget(webview)
    dialog.setLayout(layout)
    dialog.authorization_code = None
    dialog.show()
    app.exec_()
    return dialog.authorization_code
예제 #12
0
    def SetupUI(self):
        uic.loadUi('res/tab.ui',self)
        self.WEB_page = QtWebKit.QWebPage(self.Message_Webkit)
        
        self.groupBox_ConnStat.hide()
        self.Message_Webkit.setPage(self.WEB_page)
        self.WEB_page.connect(self.WEB_page, QtCore.SIGNAL("linkClicked(QUrl)"), self.WEB_LinkClicked )
        self.WEB_page.setLinkDelegationPolicy(self.WEB_page.DelegateAllLinks)
        self.Message_Webkit.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        
        self.connect(self.Message_Webkit, QtCore.SIGNAL('customContextMenuRequested ( const QPoint & )'), lambda p: self.Message_Webkit_MenuRequested(p,self.Message_Webkit))
        
        self.Input.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.connect(self.Input, QtCore.SIGNAL('customContextMenuRequested ( const QPoint & )'), lambda p: self.Input_MenuRequested(p,self.Input))
        #QtWebKit.QWebPage().OpenImageInNewWindow
        #QtWebKit.QWebPage().OpenLink
        #QtWebKit.QWebView().
        '''
            QWebView *view = QWebView(NULL);
            view->page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
            /* Другие значения аргумента - QWebPage::DontDelegateLinks
            и QWebPage::DelegateExternalLink. QWebPage::DelegateAllLinks
            заставляет вместо того, чтобы открывать ссылки выдавать
            сигнал linkClicked(QUrl) */
            connect(view,SIGNAL(linkClicked(QUrl)),this,SLOT(openLink(QUrl)));
        '''
        self.font_Input = QtGui.QFont()
        self.font_Input.setFamily("Droid Sans")
        self.font_Input.setPointSize(14)
        self.Input.setFont(self.font_Input)
        
        self.WEB_page.mainFrame().setHtml(WebKitStyle.Build())
        self.groupBox_OnConnected.hide()
        self.groupBox_captcha.hide()
        self.connect(self.Button_Connect, QtCore.SIGNAL("clicked()"), self.conn_Start_parr )
 
        self.connect(self.ButtonSend, QtCore.SIGNAL("clicked()"),self.SendMessage)
        self.connect(self.Button_CaptchaOK, QtCore.SIGNAL("clicked()"), self.SendCaptcha)
        self.connect(self.Button_Disconnect, QtCore.SIGNAL("clicked()"), self.conn_Stop)
        self.connect(self.ButtonClear, QtCore.SIGNAL("clicked()"), self.MessagesClear)
        
        def SwitchMiniStyle(b):
            if b:
                self.groupBox_OnConnected.hide()
                self.widget_Bottom.hide()
            else:
                if self.isConnected: self.groupBox_OnConnected.show()
                self.widget_Bottom.show()
                
        self.connect(G['chat_win'], QtCore.SIGNAL("SwitchMiniStyle(bool)"),SwitchMiniStyle)
        
        def _SetMessageLen():
            msg_len = self.Input.toPlainText().length()
            if msg_len:
                if self.checkBox_Name.isChecked():
                    msg_len += self.lineEdit_Name.text().length()
                if msg_len > 255:
                    self.ButtonSend.setText('Send (%s) Too long!!' % (msg_len))
                else:
                    self.ButtonSend.setText('Send (%s)' % (msg_len))
                
            else:
                self.ButtonSend.setText('Send')
                
        self.connect(self.Input, QtCore.SIGNAL("textChanged()"), _SetMessageLen)
        self.lineEdit_Captcha.installEventFilter(self)
        self.Input.installEventFilter(self)
        self.installEventFilter(self)