mirror of
https://github.com/maubot/maubot.git
synced 2024-10-01 01:06:10 -04:00
Compare commits
6 Commits
8b7e091383
...
2222f6ce69
Author | SHA1 | Date | |
---|---|---|---|
|
2222f6ce69 | ||
|
65be63fdd2 | ||
|
c218c8cf61 | ||
|
6e5e40e7e4 | ||
|
61f528d9b3 | ||
|
5ea499430b |
@ -1,5 +1,9 @@
|
||||
# v0.5.0 (unreleased)
|
||||
# v0.5.0 (2024-08-24)
|
||||
|
||||
* Dropped Python 3.9 support.
|
||||
* Updated Docker image to Alpine 3.20.
|
||||
* Updated mautrix-python to 0.20.6 to support authenticated media.
|
||||
* Removed hard dependency on SQLAlchemy.
|
||||
* Fixed `main_class` to default to being loaded from the last module instead of
|
||||
the first if a module name is not explicitly specified.
|
||||
* This was already the [documented behavior](https://docs.mau.fi/maubot/dev/reference/plugin-metadata.html),
|
||||
|
@ -1 +1 @@
|
||||
__version__ = "0.4.2"
|
||||
__version__ = "0.5.0"
|
||||
|
@ -17,7 +17,7 @@ import os
|
||||
|
||||
from jinja2 import Template
|
||||
from packaging.version import Version
|
||||
from pkg_resources import resource_string
|
||||
import importlib.resources as resources
|
||||
|
||||
from .. import cliq
|
||||
from ..cliq import SPDXValidator, VersionValidator
|
||||
@ -33,9 +33,9 @@ def load_templates():
|
||||
global mod_template, meta_template, base_config, loaded
|
||||
if loaded:
|
||||
return
|
||||
meta_template = Template(resource_string("maubot.cli", "res/maubot.yaml.j2").decode("utf-8"))
|
||||
mod_template = Template(resource_string("maubot.cli", "res/plugin.py.j2").decode("utf-8"))
|
||||
base_config = resource_string("maubot.cli", "res/config.yaml").decode("utf-8")
|
||||
meta_template = Template(resources.files("maubot.cli").joinpath("res/maubot.yaml.j2").read_text(encoding="utf-8"))
|
||||
mod_template = Template(resources.files("maubot.cli").joinpath("res/plugin.py.j2").read_text(encoding="utf-8"))
|
||||
base_config = resources.files("maubot.cli").joinpath("res/config.yaml").read_text(encoding="utf-8")
|
||||
loaded = True
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ from __future__ import annotations
|
||||
import json
|
||||
import zipfile
|
||||
|
||||
import pkg_resources
|
||||
import importlib.resources as resources
|
||||
|
||||
spdx_list: dict[str, dict[str, str]] | None = None
|
||||
|
||||
@ -27,7 +27,7 @@ def load() -> None:
|
||||
global spdx_list
|
||||
if spdx_list is not None:
|
||||
return
|
||||
with pkg_resources.resource_stream("maubot.cli", "res/spdx.json.zip") as disk_file:
|
||||
with resources.files("maubot.cli").joinpath("res/spdx.json.zip").open("rb") as disk_file:
|
||||
with zipfile.ZipFile(disk_file) as zip_file:
|
||||
with zip_file.open("spdx.json") as file:
|
||||
spdx_list = json.load(file)
|
||||
|
@ -23,7 +23,7 @@ import logging
|
||||
from aiohttp import hdrs, web
|
||||
from aiohttp.abc import AbstractAccessLogger
|
||||
from yarl import URL
|
||||
import pkg_resources
|
||||
import importlib.resources as resources
|
||||
|
||||
from mautrix.api import Method, PathBuilder
|
||||
|
||||
@ -64,14 +64,14 @@ class MaubotServer:
|
||||
if request.path.startswith(path):
|
||||
request = request.clone(
|
||||
rel_url=request.rel_url.with_path(
|
||||
request.rel_url.path[len(path) :]
|
||||
request.rel_url.path[len(path) - 1 :]
|
||||
).with_query(request.query_string)
|
||||
)
|
||||
return await app.handle(request)
|
||||
return web.Response(status=404)
|
||||
|
||||
def get_instance_subapp(self, instance_id: str) -> tuple[PluginWebApp, str]:
|
||||
subpath = self.config["server.plugin_base_path"] + instance_id
|
||||
subpath = self.config["server.plugin_base_path"] + instance_id + "/"
|
||||
url = self.config["server.public_url"] + subpath
|
||||
try:
|
||||
return self.plugin_routes[subpath], url
|
||||
@ -82,7 +82,7 @@ class MaubotServer:
|
||||
|
||||
def remove_instance_webapp(self, instance_id: str) -> None:
|
||||
try:
|
||||
subpath = self.config["server.plugin_base_path"] + instance_id
|
||||
subpath = self.config["server.plugin_base_path"] + instance_id + "/"
|
||||
self.plugin_routes.pop(subpath).clear()
|
||||
except KeyError:
|
||||
return
|
||||
@ -103,7 +103,7 @@ class MaubotServer:
|
||||
ui_base = ""
|
||||
directory = self.config[
|
||||
"server.override_resource_path"
|
||||
] or pkg_resources.resource_filename("maubot", "management/frontend/build")
|
||||
] or resources.files("maubot").joinpath("management/frontend/build")
|
||||
self.app.router.add_static(f"{ui_base}/static", f"{directory}/static")
|
||||
self.setup_static_root_files(directory, ui_base)
|
||||
|
||||
|
4
setup.py
4
setup.py
@ -41,7 +41,7 @@ setuptools.setup(
|
||||
|
||||
install_requires=install_requires,
|
||||
extras_require=extras_require,
|
||||
python_requires="~=3.9",
|
||||
python_requires="~=3.10",
|
||||
|
||||
classifiers=[
|
||||
"Development Status :: 4 - Beta",
|
||||
@ -50,9 +50,9 @@ setuptools.setup(
|
||||
"Framework :: AsyncIO",
|
||||
"Programming Language :: Python",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
],
|
||||
entry_points="""
|
||||
[console_scripts]
|
||||
|
Loading…
Reference in New Issue
Block a user