mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-06-27 22:31:43 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
5bbb9d269b | |||
17466d8d37 | |||
9e4e3b701b |
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 720 KiB After Width: | Height: | Size: 673 KiB |
@ -1,4 +1,4 @@
|
||||
.TH AHRIMAN "1" "2023\-01\-16" "ahriman" "Generated Python Manual"
|
||||
.TH AHRIMAN "1" "2023\-01\-25" "ahriman" "Generated Python Manual"
|
||||
.SH NAME
|
||||
ahriman
|
||||
.SH SYNOPSIS
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Maintainer: Evgeniy Alekseev
|
||||
|
||||
pkgname='ahriman'
|
||||
pkgver=2.6.0
|
||||
pkgver=2.6.1
|
||||
pkgrel=1
|
||||
pkgdesc="ArcH linux ReposItory MANager"
|
||||
arch=('any')
|
||||
|
@ -929,7 +929,8 @@ def _set_web_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||
argparse.ArgumentParser: created argument parser
|
||||
"""
|
||||
parser = root.add_parser("web", help="web server", description="start web server", formatter_class=_formatter)
|
||||
parser.set_defaults(handler=handlers.Web, lock=None, report=False, parser=_parser)
|
||||
parser.set_defaults(handler=handlers.Web, lock=Path(tempfile.gettempdir()) / "ahriman-web.lock", report=False,
|
||||
parser=_parser)
|
||||
return parser
|
||||
|
||||
|
||||
|
@ -21,7 +21,6 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
|
||||
from pathlib import Path
|
||||
from types import TracebackType
|
||||
from typing import Literal, Optional, Type
|
||||
|
||||
@ -68,7 +67,8 @@ class Lock(LazyLogging):
|
||||
architecture(str): repository architecture
|
||||
configuration(Configuration): configuration instance
|
||||
"""
|
||||
self.path = Path(f"{args.lock}_{architecture}") if args.lock is not None else None
|
||||
self.path = args.lock.with_stem(f"{args.lock.stem}_{architecture}") if args.lock is not None else None
|
||||
print(self.path)
|
||||
self.force = args.force
|
||||
self.unsafe = args.unsafe
|
||||
|
||||
|
@ -18,6 +18,3 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
from ahriman.core.auth.auth import Auth
|
||||
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
|
@ -78,10 +78,10 @@ class Auth(LazyLogging):
|
||||
"""
|
||||
provider = AuthSettings.from_option(configuration.get("auth", "target", fallback="disabled"))
|
||||
if provider == AuthSettings.Configuration:
|
||||
from ahriman.core.auth import Mapping
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
return Mapping(configuration, database)
|
||||
if provider == AuthSettings.OAuth:
|
||||
from ahriman.core.auth import OAuth
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
return OAuth(configuration, database)
|
||||
return cls(configuration)
|
||||
|
||||
|
@ -21,7 +21,7 @@ import aioauth_client
|
||||
|
||||
from typing import Optional, Type
|
||||
|
||||
from ahriman.core.auth import Mapping
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database import SQLite
|
||||
from ahriman.core.exceptions import OptionError
|
||||
|
@ -17,4 +17,4 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
__version__ = "2.6.0"
|
||||
__version__ = "2.6.1"
|
||||
|
@ -53,7 +53,7 @@ class LoginView(BaseView):
|
||||
Examples:
|
||||
This request must not be used directly.
|
||||
"""
|
||||
from ahriman.core.auth import OAuth
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
|
||||
oauth_provider = self.validator
|
||||
if not isinstance(oauth_provider, OAuth): # there is actually property, but mypy does not like it anyway
|
||||
|
@ -754,11 +754,10 @@ def test_subparsers_user_remove_architecture(parser: argparse.ArgumentParser) ->
|
||||
|
||||
def test_subparsers_web(parser: argparse.ArgumentParser) -> None:
|
||||
"""
|
||||
web command must imply lock, report and parser
|
||||
web command must imply report and parser
|
||||
"""
|
||||
args = parser.parse_args(["-a", "x86_64", "web"])
|
||||
assert args.architecture == ["x86_64"]
|
||||
assert args.lock is None
|
||||
assert not args.report
|
||||
assert args.parser is not None and args.parser()
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
import argparse
|
||||
import pytest
|
||||
import tempfile
|
||||
|
||||
@ -7,11 +8,26 @@ from unittest.mock import call as MockCall
|
||||
|
||||
from ahriman import version
|
||||
from ahriman.application.lock import Lock
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.exceptions import DuplicateRunError, UnsafeRunError
|
||||
from ahriman.models.build_status import BuildStatus, BuildStatusEnum
|
||||
from ahriman.models.internal_status import InternalStatus
|
||||
|
||||
|
||||
def test_path(args: argparse.Namespace, configuration: Configuration) -> None:
|
||||
"""
|
||||
must create path variable correctly
|
||||
"""
|
||||
assert Lock(args, "x86_64", configuration).path is None
|
||||
|
||||
args.lock = Path("/run/ahriman.lock")
|
||||
assert Lock(args, "x86_64", configuration).path == Path("/run/ahriman_x86_64.lock")
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
args.lock = Path("/")
|
||||
Lock(args, "x86_64", configuration).path # special case
|
||||
|
||||
|
||||
def test_check_version(lock: Lock, mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must check version correctly
|
||||
|
@ -1,6 +1,7 @@
|
||||
import pytest
|
||||
|
||||
from ahriman.core.auth import Mapping, OAuth
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database import SQLite
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
from ahriman.core.auth import Auth, Mapping, OAuth
|
||||
from ahriman.core.auth import Auth
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database import SQLite
|
||||
from ahriman.models.user import User
|
||||
|
@ -1,6 +1,6 @@
|
||||
from pytest_mock import MockerFixture
|
||||
|
||||
from ahriman.core.auth import Mapping
|
||||
from ahriman.core.auth.mapping import Mapping
|
||||
from ahriman.models.user import User
|
||||
from ahriman.models.user_access import UserAccess
|
||||
|
||||
|
@ -3,7 +3,7 @@ import pytest
|
||||
|
||||
from pytest_mock import MockerFixture
|
||||
|
||||
from ahriman.core.auth import OAuth
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
from ahriman.core.exceptions import OptionError
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ from unittest.mock import MagicMock
|
||||
|
||||
import ahriman.core.auth.helpers
|
||||
|
||||
from ahriman.core.auth import OAuth
|
||||
from ahriman.core.auth.oauth import OAuth
|
||||
from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database import SQLite
|
||||
from ahriman.core.repository import Repository
|
||||
|
Reference in New Issue
Block a user