mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
[V3 Downloader] Make hidden hidden and add disabled (#1828)
* Make hidden hidden and add disabled * Add documentation
This commit is contained in:
parent
b983d5904b
commit
b041d59fc7
@ -29,7 +29,9 @@ Keys specific to the cog info.json (case sensitive)
|
|||||||
|
|
||||||
- ``bot_version`` (list of integer) - Min version number of Red in the format ``(MAJOR, MINOR, PATCH)``
|
- ``bot_version`` (list of integer) - Min version number of Red in the format ``(MAJOR, MINOR, PATCH)``
|
||||||
|
|
||||||
- ``hidden`` (bool) - Determines if a cog is available for install.
|
- ``hidden`` (bool) - Determines if a cog is visible in the cog list for a repo.
|
||||||
|
|
||||||
|
- ``disabled`` (bool) - Determines if a cog is available for install.
|
||||||
|
|
||||||
- ``required_cogs`` (map of cogname to repo URL) - A map of required cogs that this cog depends on.
|
- ``required_cogs`` (map of cogname to repo URL) - A map of required cogs that this cog depends on.
|
||||||
Downloader will not deal with this functionality but it may be useful for other cogs.
|
Downloader will not deal with this functionality but it may be useful for other cogs.
|
||||||
|
|||||||
@ -394,7 +394,11 @@ class Downloader:
|
|||||||
)
|
)
|
||||||
cogs = repo_name.available_cogs
|
cogs = repo_name.available_cogs
|
||||||
cogs = _("Available Cogs:\n") + "\n".join(
|
cogs = _("Available Cogs:\n") + "\n".join(
|
||||||
["+ {}: {}".format(c.name, c.short or "") for c in cogs if c not in installed]
|
[
|
||||||
|
"+ {}: {}".format(c.name, c.short or "")
|
||||||
|
for c in cogs
|
||||||
|
if not (c.hidden or c in installed)
|
||||||
|
]
|
||||||
)
|
)
|
||||||
cogs = cogs + "\n\n" + installed_str
|
cogs = cogs + "\n\n" + installed_str
|
||||||
for page in pagify(cogs, ["\n"], shorten_by=16):
|
for page in pagify(cogs, ["\n"], shorten_by=16):
|
||||||
|
|||||||
@ -75,6 +75,7 @@ class Installable(RepoJSONMixin):
|
|||||||
self.bot_version = (3, 0, 0)
|
self.bot_version = (3, 0, 0)
|
||||||
self.min_python_version = (3, 5, 1)
|
self.min_python_version = (3, 5, 1)
|
||||||
self.hidden = False
|
self.hidden = False
|
||||||
|
self.disabled = False
|
||||||
self.required_cogs = {} # Cog name -> repo URL
|
self.required_cogs = {} # Cog name -> repo URL
|
||||||
self.requirements = ()
|
self.requirements = ()
|
||||||
self.tags = ()
|
self.tags = ()
|
||||||
@ -173,6 +174,12 @@ class Installable(RepoJSONMixin):
|
|||||||
hidden = False
|
hidden = False
|
||||||
self.hidden = hidden
|
self.hidden = hidden
|
||||||
|
|
||||||
|
try:
|
||||||
|
disabled = bool(info.get("disabled", False))
|
||||||
|
except ValueError:
|
||||||
|
disabled = False
|
||||||
|
self.disabled = disabled
|
||||||
|
|
||||||
self.required_cogs = info.get("required_cogs", {})
|
self.required_cogs = info.get("required_cogs", {})
|
||||||
|
|
||||||
self.requirements = info.get("requirements", ())
|
self.requirements = info.get("requirements", ())
|
||||||
|
|||||||
@ -470,7 +470,7 @@ class Repo(RepoJSONMixin):
|
|||||||
"""
|
"""
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
return tuple(
|
return tuple(
|
||||||
[m for m in self.available_modules if m.type == InstallableType.COG and not m.hidden]
|
[m for m in self.available_modules if m.type == InstallableType.COG and not m.disabled]
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user