mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-11-23 15:08:00 +00:00
Compare commits
4 commits
de190fcdd3
...
85825f6de1
Author | SHA1 | Date | |
---|---|---|---|
85825f6de1 | |||
c9598ff273 | |||
4203355d7d | |||
1516f27b76 |
|
@ -14,11 +14,11 @@ classifiers = [
|
||||||
"Programming Language :: Python :: 3.12"
|
"Programming Language :: Python :: 3.12"
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"activitypub-utils >= 0.3.1.post1, < 0.4.0",
|
"activitypub-utils >= 0.3.2, < 0.4",
|
||||||
"aiohttp >= 3.9.5",
|
"aiohttp >= 3.9.5",
|
||||||
"aiohttp-swagger[performance] == 1.0.16",
|
"aiohttp-swagger[performance] == 1.0.16",
|
||||||
"argon2-cffi == 23.1.0",
|
"argon2-cffi == 23.1.0",
|
||||||
"barkshark-lib >= 0.1.6, < 0.2.0",
|
"barkshark-lib >= 0.2.2.post2, < 0.3.0",
|
||||||
"barkshark-sql >= 0.2.0rc2, < 0.3.0",
|
"barkshark-sql >= 0.2.0rc2, < 0.3.0",
|
||||||
"click == 8.1.2",
|
"click == 8.1.2",
|
||||||
"hiredis == 2.3.2",
|
"hiredis == 2.3.2",
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
|
from blib import Date
|
||||||
from bsql import Database
|
from bsql import Database
|
||||||
|
|
||||||
from .config import THEMES, ConfigData
|
from .config import THEMES, ConfigData
|
||||||
|
@ -9,6 +12,9 @@ from ..config import Config
|
||||||
from ..misc import get_resource
|
from ..misc import get_resource
|
||||||
|
|
||||||
|
|
||||||
|
sqlite3.register_adapter(Date, Date.timestamp)
|
||||||
|
|
||||||
|
|
||||||
def get_database(config: Config, migrate: bool = True) -> Database[Connection]:
|
def get_database(config: Config, migrate: bool = True) -> Database[Connection]:
|
||||||
options = {
|
options = {
|
||||||
'connection_class': Connection,
|
'connection_class': Connection,
|
||||||
|
|
|
@ -230,12 +230,10 @@ class HttpClient:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
async def fetch_nodeinfo(self, domain: str) -> Nodeinfo:
|
async def fetch_nodeinfo(self, domain: str, force: bool = False) -> Nodeinfo:
|
||||||
nodeinfo_url = None
|
nodeinfo_url = None
|
||||||
wk_nodeinfo = await self.get(
|
wk_nodeinfo = await self.get(
|
||||||
f'https://{domain}/.well-known/nodeinfo',
|
f'https://{domain}/.well-known/nodeinfo', False, WellKnownNodeinfo, force
|
||||||
False,
|
|
||||||
WellKnownNodeinfo
|
|
||||||
)
|
)
|
||||||
|
|
||||||
for version in ('20', '21'):
|
for version in ('20', '21'):
|
||||||
|
@ -248,7 +246,7 @@ class HttpClient:
|
||||||
if nodeinfo_url is None:
|
if nodeinfo_url is None:
|
||||||
raise ValueError(f'Failed to fetch nodeinfo url for {domain}')
|
raise ValueError(f'Failed to fetch nodeinfo url for {domain}')
|
||||||
|
|
||||||
return await self.get(nodeinfo_url, False, Nodeinfo)
|
return await self.get(nodeinfo_url, False, Nodeinfo, force)
|
||||||
|
|
||||||
|
|
||||||
async def get(*args: Any, **kwargs: Any) -> Any:
|
async def get(*args: Any, **kwargs: Any) -> Any:
|
||||||
|
|
|
@ -362,10 +362,15 @@ def cli_config_list(ctx: click.Context) -> None:
|
||||||
def cli_config_set(ctx: click.Context, key: str, value: Any) -> None:
|
def cli_config_set(ctx: click.Context, key: str, value: Any) -> None:
|
||||||
'Set a config value'
|
'Set a config value'
|
||||||
|
|
||||||
|
try:
|
||||||
with ctx.obj.database.session() as conn:
|
with ctx.obj.database.session() as conn:
|
||||||
new_value = conn.put_config(key, value)
|
new_value = conn.put_config(key, value)
|
||||||
|
|
||||||
print(f'{key}: {repr(new_value)}')
|
except:
|
||||||
|
click.echo('Invalid config name:', key)
|
||||||
|
return
|
||||||
|
|
||||||
|
click.echo(f'{key}: {repr(new_value)}')
|
||||||
|
|
||||||
|
|
||||||
@cli.group('user')
|
@cli.group('user')
|
||||||
|
|
|
@ -58,7 +58,7 @@ async def handle_forward(view: ActorView, conn: Connection) -> None:
|
||||||
|
|
||||||
|
|
||||||
async def handle_follow(view: ActorView, conn: Connection) -> None:
|
async def handle_follow(view: ActorView, conn: Connection) -> None:
|
||||||
nodeinfo = await view.client.fetch_nodeinfo(view.actor.domain)
|
nodeinfo = await view.client.fetch_nodeinfo(view.actor.domain, force = True)
|
||||||
software = nodeinfo.sw_name if nodeinfo else None
|
software = nodeinfo.sw_name if nodeinfo else None
|
||||||
config = conn.get_config_all()
|
config = conn.get_config_all()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue