Compare commits

...

2 commits

Author SHA1 Message Date
Izalia Mae a271cf22b4 check for config in multiple directories 2024-03-02 07:38:48 -05:00
Izalia Mae 0ad0bb0ff5 fix instance table styling and add footer 2024-02-24 08:40:57 -05:00
8 changed files with 54 additions and 20 deletions

View file

@ -35,7 +35,7 @@ if typing.TYPE_CHECKING:
class Application(web.Application):
DEFAULT: Application = None
def __init__(self, cfgpath: str):
def __init__(self, cfgpath: str | None):
web.Application.__init__(self,
middlewares = [
handle_api_path

View file

@ -7,6 +7,7 @@ import typing
import yaml
from pathlib import Path
from platformdirs import user_config_dir
from .misc import IS_DOCKER
@ -51,7 +52,7 @@ if IS_DOCKER:
class Config:
def __init__(self, path: str, load: bool = False):
self.path = Path(path).expanduser().resolve()
self.path = Config.get_config_dir()
self.listen = None
self.port = None
@ -82,6 +83,24 @@ class Config:
self.save()
@staticmethod
def get_config_dir(path: str | None = None) -> Path:
if path:
return Path(path).expanduser().resolve()
dirs = (
Path("relay.yaml").resolve(),
Path(user_config_dir("activityrelay"), "relay.yaml"),
Path("/etc/activityrelay/relay.yaml")
)
for directory in dirs:
if directory.exists():
return directory
return dirs[0]
@property
def sqlite_path(self) -> Path:
if not os.path.isabs(self.sq_path):

View file

@ -14,3 +14,9 @@
#content
-block content
#footer.section
.col1
.version
%a(href="https://git.pleroma.social/pleroma/relay")
ActivityRelay/{{version}}

View file

@ -11,9 +11,6 @@
%p
You may subscribe to this relay with the address:
%a(href="https://{{domain}}/actor") << https://{{domain}}/actor</a>
%p
To host your own relay, you may download the code at
%a(href="https://git.pleroma.social/pleroma/relay") << git.pleroma.social/pleroma/relay
-if config["whitelist-enabled"]
%p.section.message

View file

@ -43,30 +43,30 @@ p:not(:last-child) {
}
table {
border-spacing: 0px;
/* border-radius: 10px; */
border-collapse: collapse;
}
td {
border: 1px solid var(--primary);
border-radius: 5px;
border-spacing: 0px;
}
/*thead td:first-child {
border-top-left-radius: 10px;
table tbody tr:nth-child(even) td {
background-color: var(--section-background);
}
thead td:first-child {
border-top-left-radius: 3px;
}
thead td:last-child {
border-top-right-radius: 10px;
border-top-right-radius: 3px;
}
tbody tr:last-child td:first-child {
border-bottom-left-radius: 10px;
border-bottom-left-radius: 5px;
}
tbody tr:last-child td:last-child {
border-bottom-right-radius: 10px;
}*/
border-bottom-right-radius: 5px;
}
table td {
padding: 5px;
@ -111,6 +111,15 @@ table tbody td {
text-align: center !important;
}
#footer {
display: grid;
grid-template-columns: auto auto;
}
#footer .version {
text-align: right
}
.message {
color: var(--message-text) !important;
@ -122,7 +131,7 @@ table tbody td {
background-color: var(--section-background);
padding: var(--spacing);
border: 1px solid var(--border);
border-radius: 10px;
border-radius: 5px;
}
.section:not(:first-child) {

View file

@ -59,10 +59,10 @@ def check_alphanumeric(text: str) -> str:
@click.group('cli', context_settings={'show_default': True}, invoke_without_command=True)
@click.option('--config', '-c', default='relay.yaml', help='path to the relay\'s config')
@click.option('--config', '-c', help='path to the relay\'s config')
@click.version_option(version=__version__, prog_name='ActivityRelay')
@click.pass_context
def cli(ctx: click.Context, config: str) -> None:
def cli(ctx: click.Context, config: str | None) -> None:
ctx.obj = Application(config)
if not ctx.invoked_subcommand:

View file

@ -5,6 +5,7 @@ import typing
from hamlish_jinja.extension import HamlishExtension
from jinja2 import Environment, FileSystemLoader
from . import __version__
from .database.config import THEMES
from .misc import get_resource
@ -41,6 +42,7 @@ class Template(Environment):
new_context = {
'view': view,
'domain': self.app.config.domain,
'version': __version__,
'config': config,
'theme': THEMES.get(config['theme'], THEMES['default']),
**(context or {})

View file

@ -6,6 +6,7 @@ barkshark-sql@https://git.barkshark.xyz/barkshark/bsql/archive/0.1.1.tar.gz
click>=8.1.2
hamlish-jinja@https://git.barkshark.xyz/barkshark/hamlish-jinja/archive/0.3.5.tar.gz
hiredis==2.3.2
platformdirs==4.2.0
pyyaml>=6.0
redis==5.0.1