add apk filters, about descriptions, version extraction regex to app configs. fix Cemu versioning. refactor: store additionalSettings as real JSON in source file, stringify at export boundaries in scripts
This commit is contained in:
@@ -46,6 +46,24 @@ def get_application_url(app: dict[str, Any]) -> str:
|
||||
return app.get("meta", {}).get("urlOverride") or app.get("url", "")
|
||||
|
||||
|
||||
def get_additional_settings(app: dict[str, Any]) -> dict[str, Any]:
|
||||
"""Return additionalSettings as a dict, whether stored as object or JSON string."""
|
||||
raw = app.get("additionalSettings", {})
|
||||
if isinstance(raw, str):
|
||||
return json.loads(raw) if raw else {}
|
||||
if isinstance(raw, dict):
|
||||
return raw
|
||||
return {}
|
||||
|
||||
|
||||
def stringify_additional_settings(app: dict[str, Any]) -> str:
|
||||
"""Return additionalSettings as a compact JSON string for Obtainium consumption."""
|
||||
raw = app.get("additionalSettings", {})
|
||||
if isinstance(raw, str):
|
||||
return raw
|
||||
return json.dumps(raw, separators=(",", ":"))
|
||||
|
||||
|
||||
def make_obtainium_link(app: dict[str, Any]) -> str:
|
||||
payload = {
|
||||
"id": app["id"],
|
||||
@@ -55,7 +73,7 @@ def make_obtainium_link(app: dict[str, Any]) -> str:
|
||||
"otherAssetUrls": app.get("otherAssetUrls"),
|
||||
"apkUrls": app.get("apkUrls"),
|
||||
"preferredApkIndex": app.get("preferredApkIndex"),
|
||||
"additionalSettings": app.get("additionalSettings"),
|
||||
"additionalSettings": stringify_additional_settings(app),
|
||||
"categories": app.get("categories"),
|
||||
"overrideSource": app.get("overrideSource"),
|
||||
"allowIdChange": app.get("allowIdChange"),
|
||||
|
||||
Reference in New Issue
Block a user