mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-06-28 06:41:43 +00:00
rename classes in order to make documentation reference work
This commit is contained in:
@ -661,7 +661,7 @@ def _set_user_add_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||
parser.add_argument("-r", "--role", help="user access level",
|
||||
type=UserAccess, choices=UserAccess, default=UserAccess.Read)
|
||||
parser.add_argument("-s", "--secure", help="set file permissions to user-only", action="store_true")
|
||||
parser.set_defaults(handler=handlers.User, action=Action.Update, architecture=[""], lock=None, no_report=True,
|
||||
parser.set_defaults(handler=handlers.Users, action=Action.Update, architecture=[""], lock=None, no_report=True,
|
||||
quiet=True, unsafe=True)
|
||||
return parser
|
||||
|
||||
@ -682,7 +682,7 @@ def _set_user_list_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||
parser.add_argument("username", help="filter users by username", nargs="?")
|
||||
parser.add_argument("-e", "--exit-code", help="return non-zero exit status if result is empty", action="store_true")
|
||||
parser.add_argument("-r", "--role", help="filter users by role", type=UserAccess, choices=UserAccess)
|
||||
parser.set_defaults(handler=handlers.User, action=Action.List, architecture=[""], lock=None, no_report=True, # nosec
|
||||
parser.set_defaults(handler=handlers.Users, action=Action.List, architecture=[""], lock=None, no_report=True, # nosec
|
||||
password="", quiet=True, unsafe=True)
|
||||
return parser
|
||||
|
||||
@ -702,7 +702,7 @@ def _set_user_remove_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||
formatter_class=_formatter)
|
||||
parser.add_argument("username", help="username for web service")
|
||||
parser.add_argument("-s", "--secure", help="set file permissions to user-only", action="store_true")
|
||||
parser.set_defaults(handler=handlers.User, action=Action.Remove, architecture=[""], lock=None, no_report=True, # nosec
|
||||
parser.set_defaults(handler=handlers.Users, action=Action.Remove, architecture=[""], lock=None, no_report=True, # nosec
|
||||
password="", quiet=True, unsafe=True)
|
||||
return parser
|
||||
|
||||
|
@ -19,12 +19,12 @@
|
||||
#
|
||||
from typing import Set
|
||||
|
||||
from ahriman.application.application.packages import Packages
|
||||
from ahriman.application.application.repository import Repository
|
||||
from ahriman.application.application.application_packages import ApplicationPackages
|
||||
from ahriman.application.application.application_repository import ApplicationRepository
|
||||
from ahriman.models.result import Result
|
||||
|
||||
|
||||
class Application(Packages, Repository):
|
||||
class Application(ApplicationPackages, ApplicationRepository):
|
||||
"""
|
||||
base application class
|
||||
"""
|
||||
|
@ -23,7 +23,7 @@ import shutil
|
||||
from pathlib import Path
|
||||
from typing import Any, Iterable, Set
|
||||
|
||||
from ahriman.application.application.properties import Properties
|
||||
from ahriman.application.application.application_properties import ApplicationProperties
|
||||
from ahriman.core.build_tools.sources import Sources
|
||||
from ahriman.core.util import package_like, tmpdir
|
||||
from ahriman.models.package import Package
|
||||
@ -31,7 +31,7 @@ from ahriman.models.package_source import PackageSource
|
||||
from ahriman.models.result import Result
|
||||
|
||||
|
||||
class Packages(Properties):
|
||||
class ApplicationPackages(ApplicationProperties):
|
||||
"""
|
||||
package control class
|
||||
"""
|
@ -24,7 +24,7 @@ from ahriman.core.database.sqlite import SQLite
|
||||
from ahriman.core.repository import Repository
|
||||
|
||||
|
||||
class Properties:
|
||||
class ApplicationProperties:
|
||||
"""
|
||||
application base properties class
|
||||
|
@ -22,7 +22,7 @@ import shutil
|
||||
from pathlib import Path
|
||||
from typing import Callable, Iterable, List
|
||||
|
||||
from ahriman.application.application.properties import Properties
|
||||
from ahriman.application.application.application_properties import ApplicationProperties
|
||||
from ahriman.core.build_tools.sources import Sources
|
||||
from ahriman.core.formatters.update_printer import UpdatePrinter
|
||||
from ahriman.core.tree import Tree
|
||||
@ -30,7 +30,7 @@ from ahriman.models.package import Package
|
||||
from ahriman.models.result import Result
|
||||
|
||||
|
||||
class Repository(Properties):
|
||||
class ApplicationRepository(ApplicationProperties):
|
||||
"""
|
||||
repository control class
|
||||
"""
|
@ -39,5 +39,5 @@ from ahriman.application.handlers.status_update import StatusUpdate
|
||||
from ahriman.application.handlers.sync import Sync
|
||||
from ahriman.application.handlers.unsafe_commands import UnsafeCommands
|
||||
from ahriman.application.handlers.update import Update
|
||||
from ahriman.application.handlers.user import User
|
||||
from ahriman.application.handlers.users import Users
|
||||
from ahriman.application.handlers.web import Web
|
||||
|
@ -28,10 +28,10 @@ from ahriman.core.configuration import Configuration
|
||||
from ahriman.core.database.sqlite import SQLite
|
||||
from ahriman.core.formatters.user_printer import UserPrinter
|
||||
from ahriman.models.action import Action
|
||||
from ahriman.models.user import User as MUser
|
||||
from ahriman.models.user import User
|
||||
|
||||
|
||||
class User(Handler):
|
||||
class Users(Handler):
|
||||
"""
|
||||
user management handler
|
||||
"""
|
||||
@ -54,30 +54,30 @@ class User(Handler):
|
||||
database = SQLite.load(configuration)
|
||||
|
||||
if args.action == Action.Update:
|
||||
salt = User.get_salt(configuration)
|
||||
user = User.user_create(args)
|
||||
salt = Users.get_salt(configuration)
|
||||
user = Users.user_create(args)
|
||||
|
||||
auth_configuration = User.configuration_get(configuration.include)
|
||||
auth_configuration = Users.configuration_get(configuration.include)
|
||||
|
||||
User.configuration_create(auth_configuration, user, salt, args.as_service, args.secure)
|
||||
Users.configuration_create(auth_configuration, user, salt, args.as_service, args.secure)
|
||||
database.user_update(user.hash_password(salt))
|
||||
elif args.action == Action.List:
|
||||
users = database.user_list(args.username, args.role)
|
||||
User.check_if_empty(args.exit_code, not users)
|
||||
Users.check_if_empty(args.exit_code, not users)
|
||||
for user in users:
|
||||
UserPrinter(user).print(verbose=True)
|
||||
elif args.action == Action.Remove:
|
||||
database.user_remove(args.username)
|
||||
|
||||
@staticmethod
|
||||
def configuration_create(configuration: Configuration, user: MUser, salt: str,
|
||||
def configuration_create(configuration: Configuration, user: User, salt: str,
|
||||
as_service_user: bool, secure: bool) -> None:
|
||||
"""
|
||||
enable configuration if it has been disabled
|
||||
|
||||
Args:
|
||||
configuration(Configuration): configuration instance
|
||||
user(MUser): user descriptor
|
||||
user(User): user descriptor
|
||||
salt(str): password hash salt
|
||||
as_service_user(bool): add user as service user, also set password and user to configuration
|
||||
secure(bool): if true then set file permissions to 0o600
|
||||
@ -86,7 +86,7 @@ class User(Handler):
|
||||
if as_service_user:
|
||||
configuration.set_option("web", "username", user.username)
|
||||
configuration.set_option("web", "password", user.password)
|
||||
User.configuration_write(configuration, secure)
|
||||
Users.configuration_write(configuration, secure)
|
||||
|
||||
@staticmethod
|
||||
def configuration_get(include_path: Path) -> Configuration:
|
||||
@ -136,10 +136,10 @@ class User(Handler):
|
||||
"""
|
||||
if salt := configuration.get("auth", "salt", fallback=None):
|
||||
return salt
|
||||
return MUser.generate_password(salt_length)
|
||||
return User.generate_password(salt_length)
|
||||
|
||||
@staticmethod
|
||||
def user_create(args: argparse.Namespace) -> MUser:
|
||||
def user_create(args: argparse.Namespace) -> User:
|
||||
"""
|
||||
create user descriptor from arguments
|
||||
|
||||
@ -147,9 +147,9 @@ class User(Handler):
|
||||
args(argparse.Namespace): command line args
|
||||
|
||||
Returns:
|
||||
MUser: built user descriptor
|
||||
User: built user descriptor
|
||||
"""
|
||||
user = MUser(args.username, args.password, args.role)
|
||||
user = User(args.username, args.password, args.role)
|
||||
if user.password is None:
|
||||
user.password = getpass.getpass()
|
||||
return user
|
@ -22,10 +22,10 @@ import shutil
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
|
||||
from ahriman.core.repository.properties import Properties
|
||||
from ahriman.core.repository.repository_properties import RepositoryProperties
|
||||
|
||||
|
||||
class Cleaner(Properties):
|
||||
class Cleaner(RepositoryProperties):
|
||||
"""
|
||||
trait to clean common repository objects
|
||||
"""
|
||||
|
@ -29,7 +29,7 @@ from ahriman.core.status.client import Client
|
||||
from ahriman.core.util import check_user
|
||||
|
||||
|
||||
class Properties:
|
||||
class RepositoryProperties:
|
||||
"""
|
||||
repository internal objects holder
|
||||
|
Reference in New Issue
Block a user