|
@@ -0,0 +1,130 @@
|
|
|
+#! /usr/bin/env python
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+# vim:fenc=utf-8
|
|
|
+#
|
|
|
+# Copyright © 2024 StrayWarrior <i@straywarrior.com>
|
|
|
+
|
|
|
+"""
|
|
|
+Generate rank strategy configuration.
|
|
|
+"""
|
|
|
+
|
|
|
+import json
|
|
|
+
|
|
|
+enable_category_accounts = {
|
|
|
+ "gh_1d887d61088c",
|
|
|
+ "gh_192c9cf58b13",
|
|
|
+ "gh_080bb43aa0dc",
|
|
|
+ "gh_084a485e859a",
|
|
|
+ "gh_0c89e11f8bf3",
|
|
|
+ "gh_183d80deffb8",
|
|
|
+ "gh_1b27dd1beeca",
|
|
|
+ "gh_29074b51f2b7",
|
|
|
+ "gh_3ed305b5817f",
|
|
|
+ "gh_5ae65db96cb7",
|
|
|
+ "gh_5ff48e9fb9ef",
|
|
|
+ "gh_6b7c2a257263",
|
|
|
+ "gh_6cfd1132df94",
|
|
|
+ "gh_6d205db62f04",
|
|
|
+ "gh_6d9f36e3a7be",
|
|
|
+ "gh_72bace6b3059",
|
|
|
+ "gh_7e5818b2dd83",
|
|
|
+ "gh_7f5075624a50",
|
|
|
+ "gh_89ef4798d3ea",
|
|
|
+ "gh_68e7fdc09fe4",
|
|
|
+ "gh_93e00e187787",
|
|
|
+ "gh_b181786a6c8c",
|
|
|
+ "gh_ac43e43b253b",
|
|
|
+
|
|
|
+ # 12-09 stable
|
|
|
+ "gh_31e523f45168",
|
|
|
+ "gh_02f5bca5b5d9",
|
|
|
+ "gh_8efee74f6569",
|
|
|
+ "gh_98ec0ffe69b3",
|
|
|
+ "gh_744cb16f6e16",
|
|
|
+ "gh_30816d8adb52",
|
|
|
+ "gh_6d3aa9d13402",
|
|
|
+ "gh_bfea052b5baa",
|
|
|
+ "gh_a221d1a952aa",
|
|
|
+ "gh_1686250f15b6",
|
|
|
+ "gh_adca24a8f429",
|
|
|
+ "gh_749271f1ccd5",
|
|
|
+ "gh_03d45c260115",
|
|
|
+ "gh_a61d7ae2e594",
|
|
|
+ "gh_de9f9ebc976b",
|
|
|
+ "gh_57573f01b2ee",
|
|
|
+ "gh_03d32e83122f",
|
|
|
+ "gh_4f6bfd731ac8",
|
|
|
+ "gh_969f5ea5fee1",
|
|
|
+ "gh_ac43eb24376d",
|
|
|
+ "gh_2e615fa75ffb",
|
|
|
+ "gh_26a307578776",
|
|
|
+}
|
|
|
+
|
|
|
+def generate_base():
|
|
|
+ config = {
|
|
|
+ "ArticleRankV5": {
|
|
|
+ "default": {
|
|
|
+ "1": {
|
|
|
+ "CategoryStrategy": 0
|
|
|
+ },
|
|
|
+ "3": {
|
|
|
+ "CategoryStrategy": 0.1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "ArticleRankV12": {
|
|
|
+ "default": {
|
|
|
+ "1": {
|
|
|
+ "HisFissionDeWeightAvgReadSumRateStrategy": 0.3
|
|
|
+ },
|
|
|
+ "3": {
|
|
|
+ "CategoryStrategy": 0.1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "ArticleRankV11": {
|
|
|
+ "default": {
|
|
|
+ "1": {
|
|
|
+ "HisFissionAvgReadRateRateStrategy": 0.3
|
|
|
+ },
|
|
|
+ "3": {
|
|
|
+ "CategoryStrategy": 0.1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "ArticleRankInfinite": {
|
|
|
+ "default": {
|
|
|
+ "1": {
|
|
|
+ "CategoryStrategy": 1
|
|
|
+ },
|
|
|
+ "2": {
|
|
|
+ "CategoryStrategy": 1
|
|
|
+ },
|
|
|
+ "3": {
|
|
|
+ "CategoryStrategy": 0.1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return config
|
|
|
+
|
|
|
+
|
|
|
+def generate_category_experiment(config):
|
|
|
+ for account in enable_category_accounts:
|
|
|
+ config["ArticleRankV5"][account] = {
|
|
|
+ "1": {
|
|
|
+ "CategoryStrategy": 1
|
|
|
+ },
|
|
|
+ "3": {
|
|
|
+ "CategoryStrategy": 0.1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return config
|
|
|
+
|
|
|
+def main():
|
|
|
+ config = generate_base()
|
|
|
+ # config = generate_category_experiment(config)
|
|
|
+ print(json.dumps(config, indent=2))
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ main()
|