summaryrefslogtreecommitdiff
path: root/plugin_loader/utilities.py
diff options
context:
space:
mode:
authorJonas Dellinger <jonas@dellinger.dev>2022-05-13 19:14:47 +0200
committerJonas Dellinger <jonas@dellinger.dev>2022-05-13 19:14:47 +0200
commit74438a31458af8bddd08d90eacc6d63677bab844 (patch)
treea7bfc044941f65c7f9971c5386c463eac31be768 /plugin_loader/utilities.py
parent945db5de4788feefebc845817752472419051640 (diff)
downloaddecky-loader-74438a31458af8bddd08d90eacc6d63677bab844.tar.gz
decky-loader-74438a31458af8bddd08d90eacc6d63677bab844.zip
Work on react frontend loader
Diffstat (limited to 'plugin_loader/utilities.py')
-rw-r--r--plugin_loader/utilities.py106
1 files changed, 0 insertions, 106 deletions
diff --git a/plugin_loader/utilities.py b/plugin_loader/utilities.py
deleted file mode 100644
index 39f9ca55..00000000
--- a/plugin_loader/utilities.py
+++ /dev/null
@@ -1,106 +0,0 @@
-from aiohttp import ClientSession
-from injector import inject_to_tab
-import uuid
-
-class Utilities:
- def __init__(self, context) -> None:
- self.context = context
- self.util_methods = {
- "ping": self.ping,
- "http_request": self.http_request,
- "confirm_plugin_install": self.confirm_plugin_install,
- "execute_in_tab": self.execute_in_tab,
- "inject_css_into_tab": self.inject_css_into_tab,
- "remove_css_from_tab": self.remove_css_from_tab
- }
-
- async def confirm_plugin_install(self, request_id):
- return await self.context.plugin_browser.confirm_plugin_install(request_id)
-
- async def http_request(self, method="", url="", **kwargs):
- async with ClientSession() as web:
- async with web.request(method, url, **kwargs) as res:
- return {
- "status": res.status,
- "headers": dict(res.headers),
- "body": await res.text()
- }
-
- async def ping(self, **kwargs):
- return "pong"
-
- async def execute_in_tab(self, tab, run_async, code):
- try:
- result = await inject_to_tab(tab, code, run_async)
- if "exceptionDetails" in result["result"]:
- return {
- "success": False,
- "result": result["result"]
- }
-
- return {
- "success": True,
- "result" : result["result"]["result"].get("value")
- }
- except Exception as e:
- return {
- "success": False,
- "result": e
- }
-
- async def inject_css_into_tab(self, tab, style):
- try:
- css_id = str(uuid.uuid4())
-
- result = await inject_to_tab(tab,
- f"""
- (function() {{
- const style = document.createElement('style');
- style.id = "{css_id}";
- document.head.append(style);
- style.textContent = `{style}`;
- }})()
- """, False)
-
- if "exceptionDetails" in result["result"]:
- return {
- "success": False,
- "result": result["result"]
- }
-
- return {
- "success": True,
- "result" : css_id
- }
- except Exception as e:
- return {
- "success": False,
- "result": e
- }
-
- async def remove_css_from_tab(self, tab, css_id):
- try:
- result = await inject_to_tab(tab,
- f"""
- (function() {{
- let style = document.getElementById("{css_id}");
-
- if (style.nodeName.toLowerCase() == 'style')
- style.parentNode.removeChild(style);
- }})()
- """, False)
-
- if "exceptionDetails" in result["result"]:
- return {
- "success": False,
- "result": result
- }
-
- return {
- "success": True
- }
- except Exception as e:
- return {
- "success": False,
- "result": e
- }