summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-11-14 00:40:37 +0300
committerGitHub <noreply@github.com>2023-11-13 23:40:37 +0200
commit5a633fdd8284dd1a2b6f3c95806f033ef4a4becf (patch)
treeb89f3660d3b8918484e6bc153003a84b95207045 /plugin
parent8ce4a7679e9f0abb67e85822fefe08237ec9d82e (diff)
downloaddecky-loader-5a633fdd8284dd1a2b6f3c95806f033ef4a4becf.tar.gz
decky-loader-5a633fdd8284dd1a2b6f3c95806f033ef4a4becf.zip
* fix: get rid of title view jank on latest beta * Count the number of installs for each plugin (#557) * Bump aiohttp from 3.8.4 to 3.8.5 in /backend (#558) * fix: include Decky version in request for index.js This avoids the If-Modified-Since logic in aiohttp and ensures Steam doesn't cache old JS, even if the timestamps are normalized. * fix: clean up shellcheck warnings in act runner script * fix: gitignore settings/ * fix: ensure state directories exist when running without the installer * feat: determine root directory correctly when running from in-tree * fix: fix typo in CI script * refactor: build a proper Python package with poetry * refactor: move decky_plugin under the poetry structure There's no need to special case it anymore, just treat it like any other Python module. * sandboxed_plugin: better fix, attempt 2 --------- Co-authored-by: AAGaming <aagaming@riseup.net> Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'plugin')
-rw-r--r--plugin/decky_plugin.py209
-rw-r--r--plugin/decky_plugin.pyi173
2 files changed, 0 insertions, 382 deletions
diff --git a/plugin/decky_plugin.py b/plugin/decky_plugin.py
deleted file mode 100644
index 35b872a0..00000000
--- a/plugin/decky_plugin.py
+++ /dev/null
@@ -1,209 +0,0 @@
-"""
-This module exposes various constants and helpers useful for decky plugins.
-
-* Plugin's settings and configurations should be stored under `DECKY_PLUGIN_SETTINGS_DIR`.
-* Plugin's runtime data should be stored under `DECKY_PLUGIN_RUNTIME_DIR`.
-* Plugin's persistent log files should be stored under `DECKY_PLUGIN_LOG_DIR`.
-
-Avoid writing outside of `DECKY_HOME`, storing under the suggested paths is strongly recommended.
-
-Some basic migration helpers are available: `migrate_any`, `migrate_settings`, `migrate_runtime`, `migrate_logs`.
-
-A logging facility `logger` is available which writes to the recommended location.
-"""
-
-__version__ = '0.1.0'
-
-import os
-import subprocess
-import logging
-import time
-
-"""
-Constants
-"""
-
-HOME: str = os.getenv("HOME", default="")
-"""
-The home directory of the effective user running the process.
-Environment variable: `HOME`.
-If `root` was specified in the plugin's flags it will be `/root` otherwise the user whose home decky resides in.
-e.g.: `/home/deck`
-"""
-
-USER: str = os.getenv("USER", default="")
-"""
-The effective username running the process.
-Environment variable: `USER`.
-It would be `root` if `root` was specified in the plugin's flags otherwise the user whose home decky resides in.
-e.g.: `deck`
-"""
-
-DECKY_VERSION: str = os.getenv("DECKY_VERSION", default="")
-"""
-The version of the decky loader.
-Environment variable: `DECKY_VERSION`.
-e.g.: `v2.5.0-pre1`
-"""
-
-DECKY_USER: str = os.getenv("DECKY_USER", default="")
-"""
-The user whose home decky resides in.
-Environment variable: `DECKY_USER`.
-e.g.: `deck`
-"""
-
-DECKY_USER_HOME: str = os.getenv("DECKY_USER_HOME", default="")
-"""
-The home of the user where decky resides in.
-Environment variable: `DECKY_USER_HOME`.
-e.g.: `/home/deck`
-"""
-
-DECKY_HOME: str = os.getenv("DECKY_HOME", default="")
-"""
-The root of the decky folder.
-Environment variable: `DECKY_HOME`.
-e.g.: `/home/deck/homebrew`
-"""
-
-DECKY_PLUGIN_SETTINGS_DIR: str = os.getenv(
- "DECKY_PLUGIN_SETTINGS_DIR", default="")
-"""
-The recommended path in which to store configuration files (created automatically).
-Environment variable: `DECKY_PLUGIN_SETTINGS_DIR`.
-e.g.: `/home/deck/homebrew/settings/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_RUNTIME_DIR: str = os.getenv(
- "DECKY_PLUGIN_RUNTIME_DIR", default="")
-"""
-The recommended path in which to store runtime data (created automatically).
-Environment variable: `DECKY_PLUGIN_RUNTIME_DIR`.
-e.g.: `/home/deck/homebrew/data/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_LOG_DIR: str = os.getenv("DECKY_PLUGIN_LOG_DIR", default="")
-"""
-The recommended path in which to store persistent logs (created automatically).
-Environment variable: `DECKY_PLUGIN_LOG_DIR`.
-e.g.: `/home/deck/homebrew/logs/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_DIR: str = os.getenv("DECKY_PLUGIN_DIR", default="")
-"""
-The root of the plugin's directory.
-Environment variable: `DECKY_PLUGIN_DIR`.
-e.g.: `/home/deck/homebrew/plugins/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_NAME: str = os.getenv("DECKY_PLUGIN_NAME", default="")
-"""
-The name of the plugin as specified in the 'plugin.json'.
-Environment variable: `DECKY_PLUGIN_NAME`.
-e.g.: `Example Plugin`
-"""
-
-DECKY_PLUGIN_VERSION: str = os.getenv("DECKY_PLUGIN_VERSION", default="")
-"""
-The version of the plugin as specified in the 'package.json'.
-Environment variable: `DECKY_PLUGIN_VERSION`.
-e.g.: `0.0.1`
-"""
-
-DECKY_PLUGIN_AUTHOR: str = os.getenv("DECKY_PLUGIN_AUTHOR", default="")
-"""
-The author of the plugin as specified in the 'plugin.json'.
-Environment variable: `DECKY_PLUGIN_AUTHOR`.
-e.g.: `John Doe`
-"""
-
-__cur_time = time.strftime("%Y-%m-%d %H.%M.%S")
-DECKY_PLUGIN_LOG: str = os.path.join(DECKY_PLUGIN_LOG_DIR, f"{__cur_time}.log")
-"""
-The path to the plugin's main logfile.
-Environment variable: `DECKY_PLUGIN_LOG`.
-e.g.: `/home/deck/homebrew/logs/decky-plugin-template/plugin.log`
-"""
-
-"""
-Migration helpers
-"""
-
-
-def migrate_any(target_dir: str, *files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories to a new location and remove old locations.
- Specified files will be migrated to `target_dir`.
- Specified directories will have their contents recursively migrated to `target_dir`.
-
- Returns the mapping of old -> new location.
- """
- file_map: dict[str, str] = {}
- for f in files_or_directories:
- if not os.path.exists(f):
- file_map[f] = ""
- continue
- if os.path.isdir(f):
- src_dir = f
- src_file = "."
- file_map[f] = target_dir
- else:
- src_dir = os.path.dirname(f)
- src_file = os.path.basename(f)
- file_map[f] = os.path.join(target_dir, src_file)
- subprocess.run(["sh", "-c", "mkdir -p \"$3\"; tar -cf - -C \"$1\" \"$2\" | tar -xf - -C \"$3\" && rm -rf \"$4\"",
- "_", src_dir, src_file, target_dir, f])
- return file_map
-
-
-def migrate_settings(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin settings to the recommended location and remove old locations.
- Specified files will be migrated to `DECKY_PLUGIN_SETTINGS_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_SETTINGS_DIR`.
-
- Returns the mapping of old -> new location.
- """
- return migrate_any(DECKY_PLUGIN_SETTINGS_DIR, *files_or_directories)
-
-
-def migrate_runtime(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin runtime data to the recommended location and remove old locations
- Specified files will be migrated to `DECKY_PLUGIN_RUNTIME_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_RUNTIME_DIR`.
-
- Returns the mapping of old -> new location.
- """
- return migrate_any(DECKY_PLUGIN_RUNTIME_DIR, *files_or_directories)
-
-
-def migrate_logs(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin logs to the recommended location and remove old locations.
- Specified files will be migrated to `DECKY_PLUGIN_LOG_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_LOG_DIR`.
-
- Returns the mapping of old -> new location.
- """
- return migrate_any(DECKY_PLUGIN_LOG_DIR, *files_or_directories)
-
-
-"""
-Logging
-"""
-
-try:
- for x in [entry.name for entry in sorted(os.scandir(DECKY_PLUGIN_LOG_DIR),key=lambda x: x.stat().st_mtime, reverse=True) if entry.name.endswith(".log")][4:]:
- os.unlink(os.path.join(DECKY_PLUGIN_LOG_DIR, x))
-except Exception as e:
- print(f"Failed to delete old logs: {str(e)}")
-
-logging.basicConfig(filename=DECKY_PLUGIN_LOG,
- format='[%(asctime)s][%(levelname)s]: %(message)s',
- force=True)
-logger: logging.Logger = logging.getLogger()
-"""The main plugin logger writing to `DECKY_PLUGIN_LOG`."""
-
-logger.setLevel(logging.INFO)
diff --git a/plugin/decky_plugin.pyi b/plugin/decky_plugin.pyi
deleted file mode 100644
index b311a55a..00000000
--- a/plugin/decky_plugin.pyi
+++ /dev/null
@@ -1,173 +0,0 @@
-"""
-This module exposes various constants and helpers useful for decky plugins.
-
-* Plugin's settings and configurations should be stored under `DECKY_PLUGIN_SETTINGS_DIR`.
-* Plugin's runtime data should be stored under `DECKY_PLUGIN_RUNTIME_DIR`.
-* Plugin's persistent log files should be stored under `DECKY_PLUGIN_LOG_DIR`.
-
-Avoid writing outside of `DECKY_HOME`, storing under the suggested paths is strongly recommended.
-
-Some basic migration helpers are available: `migrate_any`, `migrate_settings`, `migrate_runtime`, `migrate_logs`.
-
-A logging facility `logger` is available which writes to the recommended location.
-"""
-
-__version__ = '0.1.0'
-
-import logging
-
-"""
-Constants
-"""
-
-HOME: str
-"""
-The home directory of the effective user running the process.
-Environment variable: `HOME`.
-If `root` was specified in the plugin's flags it will be `/root` otherwise the user whose home decky resides in.
-e.g.: `/home/deck`
-"""
-
-USER: str
-"""
-The effective username running the process.
-Environment variable: `USER`.
-It would be `root` if `root` was specified in the plugin's flags otherwise the user whose home decky resides in.
-e.g.: `deck`
-"""
-
-DECKY_VERSION: str
-"""
-The version of the decky loader.
-Environment variable: `DECKY_VERSION`.
-e.g.: `v2.5.0-pre1`
-"""
-
-DECKY_USER: str
-"""
-The user whose home decky resides in.
-Environment variable: `DECKY_USER`.
-e.g.: `deck`
-"""
-
-DECKY_USER_HOME: str
-"""
-The home of the user where decky resides in.
-Environment variable: `DECKY_USER_HOME`.
-e.g.: `/home/deck`
-"""
-
-DECKY_HOME: str
-"""
-The root of the decky folder.
-Environment variable: `DECKY_HOME`.
-e.g.: `/home/deck/homebrew`
-"""
-
-DECKY_PLUGIN_SETTINGS_DIR: str
-"""
-The recommended path in which to store configuration files (created automatically).
-Environment variable: `DECKY_PLUGIN_SETTINGS_DIR`.
-e.g.: `/home/deck/homebrew/settings/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_RUNTIME_DIR: str
-"""
-The recommended path in which to store runtime data (created automatically).
-Environment variable: `DECKY_PLUGIN_RUNTIME_DIR`.
-e.g.: `/home/deck/homebrew/data/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_LOG_DIR: str
-"""
-The recommended path in which to store persistent logs (created automatically).
-Environment variable: `DECKY_PLUGIN_LOG_DIR`.
-e.g.: `/home/deck/homebrew/logs/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_DIR: str
-"""
-The root of the plugin's directory.
-Environment variable: `DECKY_PLUGIN_DIR`.
-e.g.: `/home/deck/homebrew/plugins/decky-plugin-template`
-"""
-
-DECKY_PLUGIN_NAME: str
-"""
-The name of the plugin as specified in the 'plugin.json'.
-Environment variable: `DECKY_PLUGIN_NAME`.
-e.g.: `Example Plugin`
-"""
-
-DECKY_PLUGIN_VERSION: str
-"""
-The version of the plugin as specified in the 'package.json'.
-Environment variable: `DECKY_PLUGIN_VERSION`.
-e.g.: `0.0.1`
-"""
-
-DECKY_PLUGIN_AUTHOR: str
-"""
-The author of the plugin as specified in the 'plugin.json'.
-Environment variable: `DECKY_PLUGIN_AUTHOR`.
-e.g.: `John Doe`
-"""
-
-DECKY_PLUGIN_LOG: str
-"""
-The path to the plugin's main logfile.
-Environment variable: `DECKY_PLUGIN_LOG`.
-e.g.: `/home/deck/homebrew/logs/decky-plugin-template/plugin.log`
-"""
-
-"""
-Migration helpers
-"""
-
-
-def migrate_any(target_dir: str, *files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories to a new location and remove old locations.
- Specified files will be migrated to `target_dir`.
- Specified directories will have their contents recursively migrated to `target_dir`.
-
- Returns the mapping of old -> new location.
- """
-
-
-def migrate_settings(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin settings to the recommended location and remove old locations.
- Specified files will be migrated to `DECKY_PLUGIN_SETTINGS_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_SETTINGS_DIR`.
-
- Returns the mapping of old -> new location.
- """
-
-
-def migrate_runtime(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin runtime data to the recommended location and remove old locations
- Specified files will be migrated to `DECKY_PLUGIN_RUNTIME_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_RUNTIME_DIR`.
-
- Returns the mapping of old -> new location.
- """
-
-
-def migrate_logs(*files_or_directories: str) -> dict[str, str]:
- """
- Migrate files and directories relating to plugin logs to the recommended location and remove old locations.
- Specified files will be migrated to `DECKY_PLUGIN_LOG_DIR`.
- Specified directories will have their contents recursively migrated to `DECKY_PLUGIN_LOG_DIR`.
-
- Returns the mapping of old -> new location.
- """
-
-
-"""
-Logging
-"""
-
-logger: logging.Logger
-"""The main plugin logger writing to `DECKY_PLUGIN_LOG`."""