Add config

This commit is contained in:
quietsy 2025-02-09 18:49:36 +02:00
parent 9a57b41d96
commit 4a359ec76e
2 changed files with 36 additions and 30 deletions

View File

@ -73,27 +73,14 @@ class MacAddress(BaseModel):
desc: str
optional: bool
class Image(BaseModel):
name: str
github_url: str
project_url: str | None
project_logo: str | None
class Config(BaseModel):
application_setup: str
description: str
version: str
version_timestamp: str
category: str
stable: bool
deprecated: bool | None
stars: int
readonly_supported: bool | None
nonroot_supported: bool | None
privileged: bool | None
networking: str | None
hostname: Hostname | None
mac_address: MacAddress | None
tags: list[Tag]
architectures: list[Architecture]
env_vars: list[EnvVar] | None
volumes: list[Volume] | None
ports: list[Port] | None
@ -101,7 +88,23 @@ class Image(BaseModel):
security_opt: list[SecurityOpt] | None
devices: list[Device] | None
caps: list[Cap] | None
class Image(BaseModel):
name: str
github_url: str
project_url: str | None
project_logo: str | None
description: str
version: str
version_timestamp: str
category: str
stable: bool
deprecated: bool | None
stars: int
tags: list[Tag]
architectures: list[Architecture]
changelog: list[Changelog] | None
config: Config
class Repository(BaseModel):
linuxserver: list[Image]

View File

@ -1,6 +1,6 @@
import lsio_github as gh
from keyvaluestore import KeyValueStore, set_db_schema
from models import Architecture, Changelog, Tag, EnvVar, Volume, Port
from models import Architecture, Changelog, Tag, EnvVar, Volume, Port, Config
from models import Custom, SecurityOpt, Device, Cap, Hostname, MacAddress, Image
from models import Repository, ImagesData, ImagesResponse, IMAGES_SCHEMA_VERSION
@ -154,22 +154,8 @@ def get_image(repo):
tags, stable = get_tags(readme_vars)
deprecated = readme_vars.get("project_deprecation_status", None)
version, version_timestamp = gh.get_last_stable_release(repo)
return Image(
name=repo.name.replace("docker-", ""),
github_url=repo.html_url,
stars=repo.stargazers_count,
project_url=readme_vars.get("project_url", None),
project_logo=readme_vars.get("project_logo", None),
config = Config(
application_setup=f"{repo.html_url}?tab=readme-ov-file#application-setup",
description=get_description(readme_vars),
version=version,
version_timestamp=version_timestamp,
changelog=get_changelogs(readme_vars),
category=categories,
stable=stable,
deprecated=deprecated,
tags=tags,
architectures=get_architectures(readme_vars),
readonly_supported=readme_vars.get("readonly_supported", None),
nonroot_supported=readme_vars.get("nonroot_supported", None),
privileged=readme_vars.get("privileged", None),
@ -184,6 +170,23 @@ def get_image(repo):
devices=get_devices(readme_vars),
caps=get_caps(readme_vars),
)
return Image(
name=repo.name.replace("docker-", ""),
github_url=repo.html_url,
stars=repo.stargazers_count,
project_url=readme_vars.get("project_url", None),
project_logo=readme_vars.get("project_logo", None),
description=get_description(readme_vars),
version=version,
version_timestamp=version_timestamp,
category=categories,
stable=stable,
deprecated=deprecated,
tags=tags,
architectures=get_architectures(readme_vars),
changelog=get_changelogs(readme_vars),
config=config,
)
def update_images():
with KeyValueStore(invalidate_hours=INVALIDATE_HOURS, readonly=False) as kv: