@@ -95,7 +95,7 @@ def normalize_assets(pkg_name: str, meta: dict[str, Any]) -> dict[str, Any]:
9595 }
9696
9797
98- def build_app (pkg_name : str , pkg_info : dict [str , str ], meta : dict [str , Any ]) -> dict [str , Any ]:
98+ def build_app (pkg_name : str , pkg_info : dict [str , str ], meta : dict [str , Any ], generated_at : str ) -> dict [str , Any ]:
9999 sha256 = pkg_info .get ("SHA256" , "" )
100100 filename = pkg_info .get ("Filename" , "" )
101101 assets = normalize_assets (pkg_name , meta )
@@ -105,6 +105,8 @@ def build_app(pkg_name: str, pkg_info: dict[str, str], meta: dict[str, Any]) ->
105105 locales = i18n
106106 if not i18n and locales :
107107 i18n = locales
108+ published_at = str (meta .get ("published_at" ) or meta .get ("created_at" ) or generated_at )
109+ updated_at = str (meta .get ("updated_at" ) or meta .get ("published_at" ) or meta .get ("created_at" ) or generated_at )
108110
109111 app = {
110112 "uuid" : str (meta .get ("uuid" ) or make_uuid (pkg_name , sha256 )),
@@ -117,6 +119,8 @@ def build_app(pkg_name: str, pkg_info: dict[str, str], meta: dict[str, Any]) ->
117119 "categories" : list_value (meta .get ("categories" )),
118120 "author" : meta .get ("author" ) if isinstance (meta .get ("author" ), dict ) else {},
119121 "version" : pkg_info .get ("Version" , "" ),
122+ "published_at" : published_at ,
123+ "updated_at" : updated_at ,
120124 "license" : str (meta .get ("license" ) or "" ),
121125 "source_repo" : str (meta .get ("source_repo" ) or "" ),
122126 "download" : {
@@ -139,6 +143,7 @@ def build_app(pkg_name: str, pkg_info: dict[str, str], meta: dict[str, Any]) ->
139143def build_registry (packages_path : Path , meta_dir : Path , overrides_path : Path ) -> dict [str , Any ]:
140144 packages = parse_packages (packages_path )
141145 overrides = read_json (overrides_path , {})
146+ generated_at = now_iso ()
142147 apps = []
143148 for pkg_name , pkg_info in sorted (packages .items ()):
144149 meta_path = meta_dir / f"{ pkg_name } .json"
@@ -150,11 +155,11 @@ def build_registry(packages_path: Path, meta_dir: Path, overrides_path: Path) ->
150155 override = overrides .get (pkg_name , {}) if isinstance (overrides , dict ) else {}
151156 if isinstance (override , dict ):
152157 meta = deep_merge (meta , override )
153- apps .append (build_app (pkg_name , pkg_info , meta ))
158+ apps .append (build_app (pkg_name , pkg_info , meta , generated_at ))
154159
155160 return {
156161 "schema_version" : 2 ,
157- "generated_at" : now_iso () ,
162+ "generated_at" : generated_at ,
158163 "registry_id" : "cardputerzero-appstore" ,
159164 "device_targets" : ["CardputerZero" ],
160165 "i18n" : {
0 commit comments