Compare commits
2 Commits
2a01cec73b
...
990cf8efb1
Author | SHA1 | Date |
---|---|---|
Fierelier | 990cf8efb1 | |
Fierelier | f3425dd93f |
20
BirdyNet.py
20
BirdyNet.py
|
@ -27,9 +27,10 @@ from qtpy.QtMultimedia import QSound
|
|||
import configparser
|
||||
import json
|
||||
import time
|
||||
browserWindows = []
|
||||
|
||||
import html
|
||||
import threading
|
||||
os.chdir(sp)
|
||||
|
||||
distro = os.path.splitext(s.rsplit(os.path.sep)[-1])[0]
|
||||
version = {
|
||||
"major": 0,
|
||||
|
@ -40,6 +41,9 @@ version = {
|
|||
versionString = ".".join(map(str,[version["major"],version["minor"]]))
|
||||
versionStringExt = ".".join(map(str,[version["major"],version["minor"],version["patch"]])) + " " + version["stage"]
|
||||
|
||||
browserWindows = []
|
||||
browserWindowsLock = threading.Lock()
|
||||
|
||||
def runCode(str, lcs = False, description = "loose-code"):
|
||||
if lcs == False: lcs = {}
|
||||
code = compile(str,description,"exec")
|
||||
|
@ -130,8 +134,10 @@ class browserWindow(QMainWindow):
|
|||
self.cResizeElements()
|
||||
|
||||
def closeEvent(self,event):
|
||||
browserWindowsLock.acquire()
|
||||
browserWindows.remove(self)
|
||||
event.accept()
|
||||
self.destroy()
|
||||
browserWindowsLock.release()
|
||||
|
||||
def cNavigate(self,event = None):
|
||||
try:
|
||||
|
@ -139,7 +145,7 @@ class browserWindow(QMainWindow):
|
|||
self.cStatusBar.showMessage("Downloading...")
|
||||
self.update()
|
||||
start = time.time()
|
||||
response = downloadPage(self.cUrlBar.text(),{"User-Agent": self.cUserAgent})
|
||||
response = downloadPage(self.cUrlBar.text(),[("User-Agent",self.cUserAgent)])
|
||||
self.cUrlBar.setText(response["url"])
|
||||
end = time.time()
|
||||
print("Downloading page: " +str(end - start))
|
||||
|
@ -158,13 +164,15 @@ class browserWindow(QMainWindow):
|
|||
self.update()
|
||||
#print(prettyJson(response["headers"]))
|
||||
except Exception as e:
|
||||
self.cDoc.cRenderHtml(str(e))
|
||||
self.cDoc.cRenderHtml(html.escape(str(e)))
|
||||
raise
|
||||
|
||||
def cNewWindow(self):
|
||||
w = browserWindow()
|
||||
browserWindowsLock.acquire()
|
||||
browserWindows.append(w)
|
||||
w.show()
|
||||
browserWindowsLock.release()
|
||||
|
||||
def main():
|
||||
# load program default addons
|
||||
|
@ -196,7 +204,9 @@ def main():
|
|||
app.setWindowIcon(QtGui.QIcon("assets/BirdyNet-XP.ico"))
|
||||
except Exception as e:
|
||||
print("Could not set window icon: " +print(e))
|
||||
browserWindowsLock.acquire()
|
||||
browserWindows.append(browserWindow())
|
||||
browserWindowsLock.release()
|
||||
sys.exit(app.exec_())
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
global HTMLParser
|
||||
from html.parser import HTMLParser
|
||||
|
||||
global html
|
||||
import html
|
||||
import html.parser
|
||||
|
||||
global browserDoc
|
||||
class browserDoc(QTextBrowser):
|
||||
|
@ -19,9 +16,9 @@ class browserDoc(QTextBrowser):
|
|||
self.setStyleSheet("QTextBrowser { " +style+ " }")
|
||||
self.anchorClicked.connect(self.cAnchorClicked)
|
||||
|
||||
class cHtmlParser(HTMLParser):
|
||||
class cHtmlParser(html.parser.HTMLParser):
|
||||
def __init__(self):
|
||||
HTMLParser.__init__(self)
|
||||
html.parser.HTMLParser.__init__(self)
|
||||
self.output = ""
|
||||
self.voidElements = ["area","base","br","col","hr","img","input","link","meta","param","command","keygen","source"]
|
||||
self.blackList = ["img","script","style"]
|
||||
|
|
Loading…
Reference in New Issue