rename classes in order to make documentation reference work

This commit is contained in:
2022-04-18 05:30:02 +03:00
parent 03633d47ea
commit 5030395025
19 changed files with 188 additions and 175 deletions

View File

@ -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

View File

@ -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
"""

View File

@ -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
"""

View File

@ -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

View File

@ -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
"""

View File

@ -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

View File

@ -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

View File

@ -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
"""

View File

@ -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