docs: update booleans in docs

This commit is contained in:
Evgenii Alekseev 2024-08-26 23:32:02 +03:00
parent 5f79cbc34b
commit 54a331cc96
39 changed files with 75 additions and 72 deletions

View File

@ -59,7 +59,7 @@ class Handler:
repository_id(RepositoryId): repository unique identifier repository_id(RepositoryId): repository unique identifier
Returns: Returns:
bool: True on success, False otherwise bool: ``True`` on success, ``False`` otherwise
""" """
try: try:
configuration = Configuration.from_path(args.configuration, repository_id) configuration = Configuration.from_path(args.configuration, repository_id)
@ -129,7 +129,7 @@ class Handler:
check condition and flag and raise ExitCode exception in case if it is enabled and condition match check condition and flag and raise ExitCode exception in case if it is enabled and condition match
Args: Args:
enabled(bool): if False no check will be performed enabled(bool): if ``False`` no check will be performed
predicate(bool): indicates condition on which exception should be thrown predicate(bool): indicates condition on which exception should be thrown
Raises: Raises:

View File

@ -97,7 +97,7 @@ class Lock(LazyLogging):
fd(int): file descriptor: fd(int): file descriptor:
Returns: Returns:
bool: True in case if file is locked and False otherwise bool: ``True`` in case if file is locked and ``False`` otherwise
""" """
try: try:
fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB) fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
@ -119,7 +119,7 @@ class Lock(LazyLogging):
watch until lock disappear watch until lock disappear
Returns: Returns:
bool: True in case if file is locked and False otherwise bool: ``True`` in case if file is locked and ``False`` otherwise
""" """
# there are reasons why we are not using inotify here. First of all, if we would use it, it would bring to # there are reasons why we are not using inotify here. First of all, if we would use it, it would bring to
# race conditions because multiple processes will be notified at the same time. Secondly, it is good library, # race conditions because multiple processes will be notified at the same time. Secondly, it is good library,
@ -223,7 +223,7 @@ class Lock(LazyLogging):
exc_tb(TracebackType): exception traceback if any exc_tb(TracebackType): exception traceback if any
Returns: Returns:
Literal[False]: always False (do not suppress any exception) Literal[False]: always ``False`` (do not suppress any exception)
""" """
self.clear() self.clear()
status = BuildStatusEnum.Success if exc_val is None else BuildStatusEnum.Failed status = BuildStatusEnum.Success if exc_val is None else BuildStatusEnum.Failed

View File

@ -101,7 +101,7 @@ class PacmanDatabase(SyncHttpClient):
local_path(Path): path to locally stored file local_path(Path): path to locally stored file
Returns: Returns:
bool: True in case if remote file is newer than local file bool: ``True`` in case if remote file is newer than local file
Raises: Raises:
PacmanError: in case if no last-modified header was found PacmanError: in case if no last-modified header was found

View File

@ -96,7 +96,7 @@ class Auth(LazyLogging):
password(str | None): entered password password(str | None): entered password
Returns: Returns:
bool: True in case if password matches, False otherwise bool: ``True`` in case if password matches, ``False`` otherwise
""" """
del username, password del username, password
return True return True
@ -109,7 +109,7 @@ class Auth(LazyLogging):
username(str): username username(str): username
Returns: Returns:
bool: True in case if user is known and can be authorized and False otherwise bool: ``True`` in case if user is known and can be authorized and ``False`` otherwise
""" """
del username del username
return True return True
@ -124,7 +124,7 @@ class Auth(LazyLogging):
context(str | None): URI request path context(str | None): URI request path
Returns: Returns:
bool: True in case if user is allowed to do this request and False otherwise bool: ``True`` in case if user is allowed to do this request and ``False`` otherwise
""" """
del username, required, context del username, required, context
return True return True

View File

@ -38,7 +38,7 @@ async def authorized_userid(*args: Any, **kwargs: Any) -> Any:
**kwargs(Any): named argument list as provided by authorized_userid function **kwargs(Any): named argument list as provided by authorized_userid function
Returns: Returns:
Any: None in case if no aiohttp_security module found and function call otherwise Any: ``None`` in case if no aiohttp_security module found and function call otherwise
""" """
if _has_aiohttp_security: if _has_aiohttp_security:
return await aiohttp_security.authorized_userid(*args, **kwargs) # pylint: disable=no-value-for-parameter return await aiohttp_security.authorized_userid(*args, **kwargs) # pylint: disable=no-value-for-parameter
@ -54,7 +54,7 @@ async def check_authorized(*args: Any, **kwargs: Any) -> Any:
**kwargs(Any): named argument list as provided by authorized_userid function **kwargs(Any): named argument list as provided by authorized_userid function
Returns: Returns:
Any: None in case if no aiohttp_security module found and function call otherwise Any: ``None`` in case if no aiohttp_security module found and function call otherwise
""" """
if _has_aiohttp_security: if _has_aiohttp_security:
return await aiohttp_security.check_authorized(*args, **kwargs) # pylint: disable=no-value-for-parameter return await aiohttp_security.check_authorized(*args, **kwargs) # pylint: disable=no-value-for-parameter
@ -70,7 +70,7 @@ async def forget(*args: Any, **kwargs: Any) -> Any:
**kwargs(Any): named argument list as provided by authorized_userid function **kwargs(Any): named argument list as provided by authorized_userid function
Returns: Returns:
Any: None in case if no aiohttp_security module found and function call otherwise Any: ``None`` in case if no aiohttp_security module found and function call otherwise
""" """
if _has_aiohttp_security: if _has_aiohttp_security:
return await aiohttp_security.forget(*args, **kwargs) # pylint: disable=no-value-for-parameter return await aiohttp_security.forget(*args, **kwargs) # pylint: disable=no-value-for-parameter
@ -86,7 +86,7 @@ async def remember(*args: Any, **kwargs: Any) -> Any:
**kwargs(Any): named argument list as provided by authorized_userid function **kwargs(Any): named argument list as provided by authorized_userid function
Returns: Returns:
Any: None in case if no aiohttp_security module found and function call otherwise Any: ``None`` in case if no aiohttp_security module found and function call otherwise
""" """
if _has_aiohttp_security: if _has_aiohttp_security:
return await aiohttp_security.remember(*args, **kwargs) # pylint: disable=no-value-for-parameter return await aiohttp_security.remember(*args, **kwargs) # pylint: disable=no-value-for-parameter

View File

@ -57,7 +57,7 @@ class Mapping(Auth):
password(str | None): entered password password(str | None): entered password
Returns: Returns:
bool: True in case if password matches, False otherwise bool: ``True`` in case if password matches, ``False`` otherwise
""" """
if password is None: if password is None:
return False # invalid data supplied return False # invalid data supplied
@ -72,7 +72,7 @@ class Mapping(Auth):
username(str): username username(str): username
Returns: Returns:
User | None: user descriptor if username is known and None otherwise User | None: user descriptor if username is known and ``None`` otherwise
""" """
return self.database.user_get(username) return self.database.user_get(username)
@ -84,7 +84,7 @@ class Mapping(Auth):
username(str): username username(str): username
Returns: Returns:
bool: True in case if user is known and can be authorized and False otherwise bool: ``True`` in case if user is known and can be authorized and ``False`` otherwise
""" """
return username is not None and self.get_user(username) is not None return username is not None and self.get_user(username) is not None
@ -98,7 +98,7 @@ class Mapping(Auth):
context(str | None): URI request path context(str | None): URI request path
Returns: Returns:
bool: True in case if user is allowed to do this request and False otherwise bool: ``True`` in case if user is allowed to do this request and ``False`` otherwise
""" """
user = self.get_user(username) user = self.get_user(username)
return user is not None and user.verify_access(required) return user is not None and user.verify_access(required)

View File

@ -79,7 +79,7 @@ class PAM(Mapping):
password(str | None): entered password password(str | None): entered password
Returns: Returns:
bool: True in case if password matches, False otherwise bool: ``True`` in case if password matches, ``False`` otherwise
""" """
if password is None: if password is None:
return False # invalid data supplied return False # invalid data supplied
@ -101,7 +101,7 @@ class PAM(Mapping):
username(str): username username(str): username
Returns: Returns:
bool: True in case if user is known and can be authorized and False otherwise bool: ``True`` in case if user is known and can be authorized and ``False`` otherwise
""" """
try: try:
_ = getpwnam(username) _ = getpwnam(username)
@ -119,7 +119,7 @@ class PAM(Mapping):
context(str | None): URI request path context(str | None): URI request path
Returns: Returns:
bool: True in case if user is allowed to do this request and False otherwise bool: ``True`` in case if user is allowed to do this request and ``False`` otherwise
""" """
# this method is basically inverted, first we check overrides in database and then fallback to the PAM logic # this method is basically inverted, first we check overrides in database and then fallback to the PAM logic
if (user := self.get_user(username)) is not None: if (user := self.get_user(username)) is not None:

View File

@ -138,7 +138,7 @@ class Sources(LazyLogging):
sources_dir(Path): local path to git repository sources_dir(Path): local path to git repository
Returns: Returns:
bool: True in case if there is any remote and false otherwise bool: ``True`` in case if there is any remote and false otherwise
""" """
instance = Sources() instance = Sources()
remotes = check_output(*instance.git(), "remote", cwd=sources_dir, logger=instance.logger) remotes = check_output(*instance.git(), "remote", cwd=sources_dir, logger=instance.logger)
@ -261,7 +261,7 @@ class Sources(LazyLogging):
commit_author(tuple[str, str] | None, optional): optional commit author if any (Default value = None) commit_author(tuple[str, str] | None, optional): optional commit author if any (Default value = None)
Returns: Returns:
bool: True in case if changes have been committed and False otherwise bool: ``True`` in case if changes have been committed and ``False`` otherwise
""" """
if not self.has_changes(sources_dir): if not self.has_changes(sources_dir):
return False # nothing to commit return False # nothing to commit
@ -351,7 +351,7 @@ class Sources(LazyLogging):
sources_dir(Path): local path to git repository sources_dir(Path): local path to git repository
Returns: Returns:
bool: True if there are uncommitted changes and False otherwise bool: ``True`` if there are uncommitted changes and ``False`` otherwise
""" """
# there is --exit-code argument to diff, however, there might be other process errors # there is --exit-code argument to diff, however, there might be other process errors
changes = check_output(*self.git(), "diff", "--cached", "--name-only", cwd=sources_dir, logger=self.logger) changes = check_output(*self.git(), "diff", "--cached", "--name-only", cwd=sources_dir, logger=self.logger)

View File

@ -149,7 +149,7 @@ class Validator(RootValidator):
check if paths exists check if paths exists
Args: Args:
constraint(bool): True in case if path must exist and False otherwise constraint(bool): ``True`` in case if path must exist and ``False`` otherwise
field(str): field name to be checked field(str): field name to be checked
value(Path): value to be checked value(Path): value to be checked

View File

@ -74,7 +74,7 @@ class Operations(LazyLogging):
Args: Args:
query(Callable[[Connection], T]): function to be called with connection query(Callable[[Connection], T]): function to be called with connection
commit(bool, optional): if True commit() will be called on success (Default value = False) commit(bool, optional): if ``True`` commit() will be called on success (Default value = False)
Returns: Returns:
T: result of the ``query`` call T: result of the ``query`` call

View File

@ -32,7 +32,7 @@ class BuildPrinter(StringPrinter):
Args: Args:
package(Package): built package package(Package): built package
is_success(bool): True in case if build has success status and False otherwise is_success(bool): ``True`` in case if build has success status and ``False`` otherwise
use_utf(bool): use utf instead of normal symbols use_utf(bool): use utf instead of normal symbols
""" """
StringPrinter.__init__(self, f"{self.sign(is_success, use_utf)} {package.base}") StringPrinter.__init__(self, f"{self.sign(is_success, use_utf)} {package.base}")
@ -43,7 +43,7 @@ class BuildPrinter(StringPrinter):
generate sign according to settings generate sign according to settings
Args: Args:
is_success(bool): True in case if build has success status and False otherwise is_success(bool): ``True`` in case if build has success status and ``False`` otherwise
use_utf(bool): use utf instead of normal symbols use_utf(bool): use utf instead of normal symbols
Returns: Returns:

View File

@ -57,7 +57,7 @@ class ChangesPrinter(Printer):
generate entry title from content generate entry title from content
Returns: Returns:
str | None: content title if it can be generated and None otherwise str | None: content title if it can be generated and ``None`` otherwise
""" """
if self.changes.is_empty: if self.changes.is_empty:
return None return None

View File

@ -63,7 +63,7 @@ class Printer:
generate entry title from content generate entry title from content
Returns: Returns:
str | None: content title if it can be generated and None otherwise str | None: content title if it can be generated and ``None`` otherwise
""" """
return None return None

View File

@ -42,6 +42,6 @@ class StringPrinter(Printer):
generate entry title from content generate entry title from content
Returns: Returns:
str | None: content title if it can be generated and None otherwise str | None: content title if it can be generated and ``None`` otherwise
""" """
return self.content return self.content

View File

@ -85,7 +85,7 @@ class SyncHttpClient(LazyLogging):
exception(requests.RequestException): exception raised exception(requests.RequestException): exception raised
Returns: Returns:
str: text of the response if it is not None and empty string otherwise str: text of the response if it is not ``None`` and empty string otherwise
""" """
result: str = exception.response.text if exception.response is not None else "" result: str = exception.response.text if exception.response is not None else ""
return result return result

View File

@ -38,8 +38,8 @@ class JinjaTemplate:
* homepage - link to homepage, string, optional * homepage - link to homepage, string, optional
* link_path - prefix fo packages to download, string, required * link_path - prefix fo packages to download, string, required
* has_package_signed - True in case if package sign enabled, False otherwise, required * has_package_signed - ``True`` in case if package sign enabled, ``False`` otherwise, required
* has_repo_signed - True in case if repository database sign enabled, False otherwise, required * has_repo_signed - ``True`` in case if repository database sign enabled, ``False`` otherwise, required
* packages - sorted list of packages properties, required * packages - sorted list of packages properties, required
* architecture, string * architecture, string
* archive_size, pretty printed size, string * archive_size, pretty printed size, string

View File

@ -78,7 +78,7 @@ class RemoteCall(Report):
process_id(str): remote process id process_id(str): remote process id
Returns: Returns:
bool: True in case if remote process is alive and False otherwise bool: ``True`` in case if remote process is alive and ``False`` otherwise
""" """
try: try:
response = self.client.make_request("GET", f"{self.client.address}/api/v1/service/process/{process_id}") response = self.client.make_request("GET", f"{self.client.address}/api/v1/service/process/{process_id}")

View File

@ -72,7 +72,7 @@ class Spawn(Thread, LazyLogging):
value(bool): command line argument value value(bool): command line argument value
Returns: Returns:
str: if ``value`` is True, then returns positive flag and negative otherwise str: if ``value`` is ``True``, then returns positive flag and negative otherwise
""" """
return name if value else f"no-{name}" return name if value else f"no-{name}"
@ -153,7 +153,7 @@ class Spawn(Thread, LazyLogging):
process_id(str): process id to be checked as returned by :func:`_spawn_process()` process_id(str): process id to be checked as returned by :func:`_spawn_process()`
Returns: Returns:
bool: True in case if process still counts as active and False otherwise bool: ``True`` in case if process still counts as active and ``False`` otherwise
""" """
with self._lock: with self._lock:
return process_id in self.active return process_id in self.active

View File

@ -216,7 +216,7 @@ class Client:
Args: Args:
package_base(str): package base package_base(str): package base
version(str | None): package version to remove logs. If None set, all logs will be removed version(str | None): package version to remove logs. If ``None`` is set, all logs will be removed
Raises: Raises:
NotImplementedError: not implemented method NotImplementedError: not implemented method
@ -245,7 +245,7 @@ class Client:
Args: Args:
package_base(str): package base to update package_base(str): package base to update
variable(str | None): patch name. If None set, all patches will be removed variable(str | None): patch name. If ``None`` is set, all patches will be removed
Raises: Raises:
NotImplementedError: not implemented method NotImplementedError: not implemented method

View File

@ -164,7 +164,7 @@ class LocalClient(Client):
Args: Args:
package_base(str): package base package_base(str): package base
version(str | None): package version to remove logs. If None set, all logs will be removed version(str | None): package version to remove logs. If ``None`` is set, all logs will be removed
""" """
self.database.logs_remove(package_base, version, self.repository_id) self.database.logs_remove(package_base, version, self.repository_id)
@ -188,7 +188,7 @@ class LocalClient(Client):
Args: Args:
package_base(str): package base to update package_base(str): package base to update
variable(str | None): patch name. If None set, all patches will be removed variable(str | None): patch name. If ``None`` is set, all patches will be removed
""" """
variables = [variable] if variable is not None else None variables = [variable] if variable is not None else None
self.database.patches_remove(package_base, variables) self.database.patches_remove(package_base, variables)

View File

@ -338,7 +338,7 @@ class WebClient(Client, SyncAhrimanClient):
Args: Args:
package_base(str): package base package_base(str): package base
version(str | None): package version to remove logs. If None set, all logs will be removed version(str | None): package version to remove logs. If ``None`` is set, all logs will be removed
""" """
query = self.repository_id.query() query = self.repository_id.query()
if version is not None: if version is not None:
@ -373,7 +373,7 @@ class WebClient(Client, SyncAhrimanClient):
Args: Args:
package_base(str): package base to update package_base(str): package base to update
variable(str | None): patch name. If None set, all patches will be removed variable(str | None): patch name. If ``None`` is set, all patches will be removed
""" """
with contextlib.suppress(Exception): with contextlib.suppress(Exception):
self.make_request("DELETE", self._patches_url(package_base, variable or "")) self.make_request("DELETE", self._patches_url(package_base, variable or ""))

View File

@ -64,7 +64,7 @@ class Leaf:
packages(Iterable[Leaf]): list of known leaves packages(Iterable[Leaf]): list of known leaves
Returns: Returns:
bool: True in case if package is dependency of others and False otherwise bool: ``True`` in case if package is dependency of others and ``False`` otherwise
""" """
for leaf in packages: for leaf in packages:
if leaf.dependencies.intersection(self.items): if leaf.dependencies.intersection(self.items):
@ -79,7 +79,7 @@ class Leaf:
packages(Iterable[Leaf]): list of known leaves packages(Iterable[Leaf]): list of known leaves
Returns: Returns:
bool: True if any of packages is dependency of the leaf, False otherwise bool: ``True`` if any of packages is dependency of the leaf, ``False`` otherwise
""" """
for leaf in packages: for leaf in packages:
if self.dependencies.intersection(leaf.items): if self.dependencies.intersection(leaf.items):

View File

@ -160,7 +160,7 @@ class GitHub(Upload, HttpUpload):
get release object if any get release object if any
Returns: Returns:
dict[str, Any] | None: GitHub API release object if release found and None otherwise dict[str, Any] | None: GitHub API release object if release found and ``None`` otherwise
""" """
url = f"https://api.github.com/repos/{self.github_owner}/{ url = f"https://api.github.com/repos/{self.github_owner}/{
self.github_repository}/releases/tags/{self.github_release_tag}" self.github_repository}/releases/tags/{self.github_release_tag}"

View File

@ -225,8 +225,8 @@ def extract_user() -> str | None:
extract user from system environment extract user from system environment
Returns: Returns:
str | None: SUDO_USER in case if set and USER otherwise. It can return None in case if environment has been str | None: SUDO_USER in case if set and USER otherwise. It can return ``None`` in case if environment has been
cleared before application start cleared before application start
""" """
return os.getenv("SUDO_USER") or os.getenv("DOAS_USER") or os.getenv("USER") return os.getenv("SUDO_USER") or os.getenv("DOAS_USER") or os.getenv("USER")
@ -295,7 +295,7 @@ def package_like(filename: Path) -> bool:
filename(Path): name of file to check filename(Path): name of file to check
Returns: Returns:
bool: True in case if name contains ``.pkg.`` and not signature, False otherwise bool: ``True`` in case if name contains ``.pkg.`` and not signature, ``False`` otherwise
""" """
name = filename.name name = filename.name
return not name.startswith(".") and ".pkg." in name and not name.endswith(".sig") return not name.startswith(".") and ".pkg." in name and not name.endswith(".sig")

View File

@ -44,7 +44,7 @@ class AuthSettings(StrEnum):
get enabled flag get enabled flag
Returns: Returns:
bool: False in case if authorization is disabled and True otherwise bool: ``False`` in case if authorization is disabled and ``True`` otherwise
""" """
return self != AuthSettings.Disabled return self != AuthSettings.Disabled

View File

@ -29,11 +29,15 @@ class EventType(StrEnum):
predefined event types predefined event types
Attributes: Attributes:
PackageOutdated(EventType): (class attribute) package has been marked as out-of-date
PackageRemoved(EventType): (class attribute) package has been removed PackageRemoved(EventType): (class attribute) package has been removed
PackageUpdateFailed(EventType): (class attribute) package update has been failed
PackageUpdated(EventType): (class attribute) package has been updated PackageUpdated(EventType): (class attribute) package has been updated
""" """
PackageOutdated = "package-outdated"
PackageRemoved = "package-removed" PackageRemoved = "package-removed"
PackageUpdateFailed = "package-update-failed"
PackageUpdated = "package-updated" PackageUpdated = "package-updated"
@ -58,11 +62,10 @@ class Event:
def __post_init__(self) -> None: def __post_init__(self) -> None:
""" """
replace null data to empty dictionary convert event type to enum if it is a well-known event type
""" """
if self.event in EventType: if self.event in EventType:
object.__setattr__(self, "event", EventType(self.event)) object.__setattr__(self, "event", EventType(self.event))
object.__setattr__(self, "data", self.data or {})
@classmethod @classmethod
def from_json(cls, dump: dict[str, Any]) -> Self: def from_json(cls, dump: dict[str, Any]) -> Self:

View File

@ -41,7 +41,7 @@ class MigrationResult:
check migration and check if there are pending migrations check migration and check if there are pending migrations
Returns: Returns:
bool: True in case if it requires migrations and False otherwise bool: ``True`` in case if it requires migrations and ``False`` otherwise
""" """
self.validate() self.validate()
return self.new_version > self.old_version return self.new_version > self.old_version

View File

@ -158,7 +158,7 @@ class Package(LazyLogging):
get VCS flag based on the package base get VCS flag based on the package base
Returns: Returns:
bool: True in case if package base looks like VCS package and False otherwise bool: ``True`` in case if package base looks like VCS package and ``False`` otherwise
""" """
return self.base.endswith("-bzr") \ return self.base.endswith("-bzr") \
or self.base.endswith("-csv")\ or self.base.endswith("-csv")\
@ -504,7 +504,7 @@ class Package(LazyLogging):
timestamp(float | int): timestamp to check build date against timestamp(float | int): timestamp to check build date against
Returns: Returns:
bool: True in case if package was built after the specified date and False otherwise. In case if build date bool: ``True`` in case if package was built after the specified date and ``False`` otherwise. In case if build date
is not set by any of packages, it returns False is not set by any of packages, it returns False
""" """
return any( return any(
@ -528,7 +528,7 @@ class Package(LazyLogging):
(Default value = True) (Default value = True)
Returns: Returns:
bool: True if the package is out-of-dated and False otherwise bool: ``True`` if the package is out-of-dated and ``False`` otherwise
""" """
min_vcs_build_date = utcnow().timestamp() - vcs_allowed_age min_vcs_build_date = utcnow().timestamp() - vcs_allowed_age
if calculate_version and not self.is_newer_than(min_vcs_build_date): if calculate_version and not self.is_newer_than(min_vcs_build_date):

View File

@ -55,7 +55,7 @@ class PkgbuildPatch:
parse key and define whether it function or not parse key and define whether it function or not
Returns: Returns:
bool: True in case if key ends with parentheses and False otherwise bool: ``True`` in case if key ends with parentheses and ``False`` otherwise
""" """
return self.key is not None and self.key.endswith("()") return self.key is not None and self.key.endswith("()")
@ -65,7 +65,7 @@ class PkgbuildPatch:
check if patch is full diff one or just single-variable patch check if patch is full diff one or just single-variable patch
Returns: Returns:
bool: True in case key set and False otherwise bool: ``True`` in case key set and ``False`` otherwise
""" """
return self.key is None return self.key is None

View File

@ -29,7 +29,7 @@ class Property:
Attributes: Attributes:
name(str): name of the property name(str): name of the property
value(Any): property value value(Any): property value
is_required(bool): if set to True then this property is required is_required(bool): if set to ``True`` then this property is required
indent(int): property indentation level indent(int): property indentation level
""" """

View File

@ -57,7 +57,7 @@ class RemoteSource:
check if source is remote check if source is remote
Returns: Returns:
bool: True in case if package is well-known remote source (e.g. AUR) and False otherwise bool: ``True`` in case if package is well-known remote source (e.g. AUR) and ``False`` otherwise
""" """
return self.source in (PackageSource.AUR, PackageSource.Repository) return self.source in (PackageSource.AUR, PackageSource.Repository)

View File

@ -52,7 +52,7 @@ class RepositoryId:
check if all data is supplied for the loading check if all data is supplied for the loading
Returns: Returns:
bool: True in case if architecture or name are not set and False otherwise bool: ``True`` in case if architecture or name are not set and ``False`` otherwise
""" """
return not self.architecture or not self.name return not self.architecture or not self.name
@ -85,7 +85,7 @@ class RepositoryId:
other(Any): other object to compare other(Any): other object to compare
Returns: Returns:
bool: True in case if this is less than other and False otherwise bool: ``True`` in case if this is less than other and ``False`` otherwise
Raises: Raises:
TypeError: if other is different from RepositoryId type TypeError: if other is different from RepositoryId type

View File

@ -82,7 +82,7 @@ class Result:
get if build result is empty or not get if build result is empty or not
Returns: Returns:
bool: True in case if success list is empty and False otherwise bool: ``True`` in case if success list is empty and ``False`` otherwise
""" """
return not self._added and not self._updated return not self._added and not self._updated
@ -191,7 +191,7 @@ class Result:
other(Any): other object instance other(Any): other object instance
Returns: Returns:
bool: True if the other object is the same and False otherwise bool: ``True`` if the other object is the same and ``False`` otherwise
""" """
if not isinstance(other, Result): if not isinstance(other, Result):
return False return False

View File

@ -98,7 +98,7 @@ class User:
salt(str): salt for hashed password salt(str): salt for hashed password
Returns: Returns:
bool: True in case if password matches, False otherwise bool: ``True`` in case if password matches, ``False`` otherwise
""" """
try: try:
verified: bool = self._HASHER.verify(password + salt, self.password) verified: bool = self._HASHER.verify(password + salt, self.password)
@ -131,7 +131,7 @@ class User:
required(UserAccess): required access level required(UserAccess): required access level
Returns: Returns:
bool: True in case if user is allowed to do this request and False otherwise bool: ``True`` in case if user is allowed to do this request and ``False`` otherwise
""" """
return self.access.permits(required) return self.access.permits(required)

View File

@ -47,7 +47,7 @@ class UserAccess(StrEnum):
other(UserAccess): other permission to compare other(UserAccess): other permission to compare
Returns: Returns:
bool: True in case if current permission allows the operation and False otherwise bool: ``True`` in case if current permission allows the operation and ``False`` otherwise
""" """
for member in UserAccess: for member in UserAccess:
if member == other: if member == other:

View File

@ -63,7 +63,7 @@ class _AuthorizationPolicy(aiohttp_security.AbstractAuthorizationPolicy):
identity(str): username identity(str): username
Returns: Returns:
str | None: user identity (username) in case if user exists and None otherwise str | None: user identity (username) in case if user exists and ``None`` otherwise
""" """
return identity if await self.validator.known_username(identity) else None return identity if await self.validator.known_username(identity) else None
@ -77,7 +77,7 @@ class _AuthorizationPolicy(aiohttp_security.AbstractAuthorizationPolicy):
context(str | None, optional): URI request path (Default value = None) context(str | None, optional): URI request path (Default value = None)
Returns: Returns:
bool: True in case if user is allowed to perform this request and False otherwise bool: ``True`` in case if user is allowed to perform this request and ``False`` otherwise
""" """
# some methods for type checking and parent class compatibility # some methods for type checking and parent class compatibility
if identity is None or not isinstance(permission, UserAccess): if identity is None or not isinstance(permission, UserAccess):

View File

@ -38,7 +38,7 @@ def _is_templated_unauthorized(request: Request) -> bool:
request(Request): source request to check request(Request): source request to check
Returns: Returns:
bool: True in case if response should be rendered as html and False otherwise bool: ``True`` in case if response should be rendered as html and ``False`` otherwise
""" """
return request.path in ("/api/v1/login", "/api/v1/logout") \ return request.path in ("/api/v1/login", "/api/v1/logout") \
and "application/json" not in request.headers.getall("accept", []) and "application/json" not in request.headers.getall("accept", [])

View File

@ -247,7 +247,7 @@ class BaseView(View, CorsViewMixin):
extract username from request if any extract username from request if any
Returns: Returns:
str | None: authorized username if any and None otherwise (e.g. if authorization is disabled) str | None: authorized username if any and ``None`` otherwise (e.g. if authorization is disabled)
""" """
try: # try to read from payload try: # try to read from payload
data: dict[str, str] = await self.request.json() # technically it is not, but we only need str here data: dict[str, str] = await self.request.json() # technically it is not, but we only need str here

View File

@ -3,9 +3,9 @@ from ahriman.models.event import Event, EventType
def test_post_init() -> None: def test_post_init() -> None:
""" """
must remove replace empty dictionary must replace event type for known types
""" """
assert Event("", "").data == {} assert Event("random", "")
assert isinstance(Event(str(EventType.PackageUpdated), "").event, EventType) assert isinstance(Event(str(EventType.PackageUpdated), "").event, EventType)