diff --git a/app/mindmap/buffer.py b/app/mindmap/buffer.py index 8b37078..3315992 100644 --- a/app/mindmap/buffer.py +++ b/app/mindmap/buffer.py @@ -22,7 +22,7 @@ from PyQt5.QtCore import QUrl, QTimer from PyQt5.QtGui import QColor from core.browser import BrowserBuffer -from core.utils import touch +from core.utils import touch, string_to_base64 import os import base64 @@ -51,8 +51,7 @@ class AppBuffer(BrowserBuffer): if os.path.exists(self.url): with open(self.url, "r") as f: - base64_string = str(base64.b64encode(f.read().encode("utf-8")), "utf-8") - self.buffer_widget.execute_js("open_file('{}');".format(base64_string)) + self.buffer_widget.execute_js("open_file('{}');".format(string_to_base64(f.read()))) else: self.buffer_widget.eval_js("edit_root_node();") diff --git a/core/browser.py b/core/browser.py index 46f3bcf..89e5090 100644 --- a/core/browser.py +++ b/core/browser.py @@ -24,7 +24,7 @@ from PyQt5.QtCore import QUrl, Qt, QEvent, QPointF, QEventLoop, QVariant, QTimer from PyQt5.QtNetwork import QNetworkCookie from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage, QWebEngineContextMenuData, QWebEngineProfile, QWebEngineSettings from PyQt5.QtWidgets import QApplication, QWidget -from core.utils import touch, is_port_in_use +from core.utils import touch, is_port_in_use, string_to_base64 from core.buffer import Buffer from urllib.parse import urlparse, parse_qs, urlunparse, urlencode import os @@ -291,7 +291,7 @@ class BrowserView(QWebEngineView): return self.execute_js(self.get_focus_text_js) def set_focus_text(self, new_text): - self.set_focus_text_js = self.set_focus_text_raw.replace("%1", str(base64.b64encode(new_text.encode("utf-8")), "utf-8")); + self.set_focus_text_js = self.set_focus_text_raw.replace("%1", string_to_base64(new_text)); self.eval_js(self.set_focus_text_js) def clear_focus(self): diff --git a/core/utils.py b/core/utils.py index fc4c27d..5d6fb23 100644 --- a/core/utils.py +++ b/core/utils.py @@ -23,6 +23,7 @@ from PyQt5 import QtCore import functools import os import socket +import base64 class PostGui(QtCore.QObject): @@ -77,3 +78,6 @@ def is_port_in_use(port): import socket with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: return s.connect_ex(('localhost', port)) == 0 + +def string_to_base64(text): + return str(base64.b64encode(text.encode("utf-8")), "utf-8")