diff --git a/fdroidserver/index.py b/fdroidserver/index.py index fc1b663c..22a3d040 100644 --- a/fdroidserver/index.py +++ b/fdroidserver/index.py @@ -783,14 +783,14 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_ if common.options.pretty: json.dump(output, fp, default=_index_encoder_default, indent=2, ensure_ascii=False) else: - json.dump(output, fp, default=_index_encoder_default, ensure_ascii=False) + json.dump(output, fp, default=_index_encoder_default, ensure_ascii=False, separators=(',', ':')) json_name = "tmp/{}_{}.json".format(repodir, convert_datetime(repodict["timestamp"])) with open(json_name, "w", encoding="utf-8") as fp: if common.options.pretty: json.dump(output, fp, default=_index_encoder_default, indent=2, ensure_ascii=False) else: - json.dump(output, fp, default=_index_encoder_default, ensure_ascii=False) + json.dump(output, fp, default=_index_encoder_default, ensure_ascii=False, separators=(',', ':')) entry["index"] = common.file_entry(index_file) entry["index"]["numPackages"] = len(output.get("packages", [])) @@ -817,7 +817,7 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_ if common.options.pretty: json.dump(diff, fp, default=_index_encoder_default, indent=2, ensure_ascii=False) else: - json.dump(diff, fp, default=_index_encoder_default, ensure_ascii=False) + json.dump(diff, fp, default=_index_encoder_default, ensure_ascii=False, separators=(',', ':')) entry["diffs"][old["repo"]["timestamp"]] = common.file_entry(diff_file) entry["diffs"][old["repo"]["timestamp"]]["numPackages"] = len(diff.get("packages", [])) @@ -828,7 +828,7 @@ def make_v2(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_ if common.options.pretty: json.dump(entry, fp, default=_index_encoder_default, indent=2, ensure_ascii=False) else: - json.dump(entry, fp, default=_index_encoder_default, ensure_ascii=False) + json.dump(entry, fp, default=_index_encoder_default, ensure_ascii=False, separators=(',', ':')) if common.options.nosign: _copy_to_local_copy_dir(repodir, index_file) @@ -952,9 +952,9 @@ def make_v1(apps, packages, repodir, repodict, requestsdict, fdroid_signing_key_ index_file = os.path.join(repodir, json_name) with open(index_file, 'w') as fp: if common.options.pretty: - json.dump(output, fp, default=_index_encoder_default, indent=2) + json.dump(output, fp, ensure_ascii=False, default=_index_encoder_default, indent=2) else: - json.dump(output, fp, default=_index_encoder_default) + json.dump(output, fp, ensure_ascii=False, default=_index_encoder_default, separators=(',', ':')) if common.options.nosign: _copy_to_local_copy_dir(repodir, index_file) diff --git a/tests/repo/index-v1.json b/tests/repo/index-v1.json index 33d0f9ce..85cc65a3 100644 --- a/tests/repo/index-v1.json +++ b/tests/repo/index-v1.json @@ -205,12 +205,12 @@ "2.0" ], "suggestedVersionCode": "2147483647", - "description": "It\u2019s Urzip \u662f\u4e00\u4e2a\u83b7\u5f97\u5df2\u5b89\u88c5 APK \u76f8\u5173\u4fe1\u606f\u7684\u5b9e\u7528\u5de5\u5177\u3002\u5b83\u4ece\u60a8\u7684\u8bbe\u5907\u4e0a\u5df2\u5b89\u88c5\u7684\u6240\u6709\u5e94\u7528\u5f00\u59cb\uff0c\u4e00\u952e\u89e6\u6478\u5373\u53ef\u663e\u793a APK \u7684\u6307\u7eb9\uff0c\u5e76\u4e14\u63d0\u4f9b\u5230\u8fbe virustotal.com \u548c androidobservatory.org \u7684\u5feb\u6377\u94fe\u63a5\uff0c\u8ba9\u60a8\u65b9\u4fbf\u5730\u4e86\u89e3\u7279\u5b9a APK \u7684\u6863\u6848\u3002\u5b83\u8fd8\u53ef\u4ee5\u8ba9\u60a8\u5bfc\u51fa\u7b7e\u540d\u8bc1\u4e66\u548c\u751f\u6210 ApkSignaturePin Pin \u6587\u4ef6\u4f9b TrustedIntents \u5e93\u4f7f\u7528\u3002\n\n\u2605 Urzip \u652f\u6301\u4e0b\u5217\u8bed\u8a00\uff1a Deutsch, English, espa\u00f1ol, suomi, \u65e5\u672c\u8a9e, \ud55c\uad6d\uc5b4, Norsk, portugu\u00eas (Portugal), \u0420\u0443\u0441\u0441\u043a\u0438\u0439, Sloven\u0161\u010dina, T\u00fcrk\u00e7e\n\u6ca1\u770b\u5230\u60a8\u7684\u8bed\u8a00\uff1f\u5e2e\u5fd9\u7ffb\u8bd1\u672c\u5e94\u7528\u5427\uff1a\nhttps://www.transifex.com/projects/p/urzip\n\n\u2605 \u81f4\u7528\u6237\uff1a\u6211\u4eec\u8fd8\u7f3a\u5c11\u4f60\u559c\u6b22\u7684\u529f\u80fd\uff1f\u53d1\u73b0\u4e86\u4e00\u4e2a bug\uff1f\u8bf7\u544a\u8bc9\u6211\u4eec\uff01\u6211\u4eec\u4e50\u4e8e\u542c\u53d6\u60a8\u7684\u610f\u89c1\u3002\u8bf7\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u81f3: support@guardianproject.info \u6216\u8005\u52a0\u5165\u6211\u4eec\u7684\u804a\u5929\u5ba4 https://guardianproject.info/contact\n", + "description": "It’s Urzip 是一个获得已安装 APK 相关信息的实用工具。它从您的设备上已安装的所有应用开始,一键触摸即可显示 APK 的指纹,并且提供到达 virustotal.com 和 androidobservatory.org 的快捷链接,让您方便地了解特定 APK 的档案。它还可以让您导出签名证书和生成 ApkSignaturePin Pin 文件供 TrustedIntents 库使用。\n\n★ Urzip 支持下列语言: Deutsch, English, español, suomi, 日本語, 한국어, Norsk, português (Portugal), Русский, Slovenščina, Türkçe\n没看到您的语言?帮忙翻译本应用吧:\nhttps://www.transifex.com/projects/p/urzip\n\n★ 致用户:我们还缺少你喜欢的功能?发现了一个 bug?请告诉我们!我们乐于听取您的意见。请发送电子邮件至: support@guardianproject.info 或者加入我们的聊天室 https://guardianproject.info/contact\n", "issueTracker": "https://dev.guardianproject.info/projects/urzip/issues", "license": "GPL-3.0-only", "openCollective": "f-droid-just-testing", "sourceCode": "https://github.com/guardianproject/urzip", - "summary": "\u4e00\u4e2a\u5b9e\u7528\u5de5\u5177\uff0c\u83b7\u53d6\u5df2\u5b89\u88c5\u5728\u60a8\u7684\u8bbe\u5907\u4e0a\u7684\u5e94\u7528\u7684\u6709\u5173\u4fe1\u606f", + "summary": "一个实用工具,获取已安装在您的设备上的应用的有关信息", "webSite": "https://dev.guardianproject.info/projects/urzip", "added": 1466640000000, "icon": "info.guardianproject.urzip.100.png", @@ -430,7 +430,7 @@ "info.guardianproject.urzip": [ { "added": 1466640000000, - "apkName": "urzip-; \u0420\u0430\u0445\u043c\u0430\u0301, [r\u0250x\u02c8man\u02b2\u026an\u0259f] \u0633\u064a\u0631\u062c\u064a_\u0631\u062e\u0645\u0627\u0646\u064a\u0646\u0648\u0641 \u8c22\u00b7.apk", + "apkName": "urzip-; Рахма́, [rɐxˈmanʲɪnəf] سيرجي_رخمانينوف 谢·.apk", "hash": "15c0ec72c74a3791f42cdb43c57df0fb11a4dbb656851bbb8cf05b26a8372789", "hashType": "sha256", "minSdkVersion": 4, @@ -696,4 +696,4 @@ } ] } -} \ No newline at end of file +}