From 6e3f8b46a5ca9650e945b523426299d368f2537f Mon Sep 17 00:00:00 2001 From: jerick Date: Tue, 27 Jan 2026 08:48:33 -0500 Subject: [PATCH] Removed Poll Interval setting --- __pycache__/config.cpython-311.pyc | Bin 2254 -> 2166 bytes config.py | 1 - routers/__pycache__/config.cpython-311.pyc | Bin 5368 -> 5697 bytes routers/config.py | 54 +++++++++++++-------- static/config.js | 1 - templates/config.html | 7 --- 6 files changed, 35 insertions(+), 28 deletions(-) diff --git a/__pycache__/config.cpython-311.pyc b/__pycache__/config.cpython-311.pyc index 6ecb7f417f258498069fa24c4890dae999c1749a..100ae0d70733fe8ca080b946ffb840442129e331 100644 GIT binary patch delta 123 zcmX>n_)UO!IWI340}zDougDCT$ScWsV552%BO}k`Iz~-qffT{Xs~BzAQka4nG(|Q` zF!iuZ-oaME$UoVT-AhXmsI5pDNUUV|3^Jlf7)bo$u*uC&Da}c>E7AmV8G*Q%bMh+o R*^`?&L?`ER#Ik4rg#cFw9QyzO delta 167 zcmew+a88hSIWI340}#x9RG!&1kyn!O%|`VwMn-|jb&Q(Kf+>8HS25a5yeBCsk|Mf{ ziGg7?5JNx|e+pADgQnQ#H;g?j!n^_gK0fiDej%U2GIp6ux(6c4ua{Gu>s|?jLlw+p^oGrIb;on>w7wfoVE%cN{OC*sG=|DcW1>uJ45{Vox0crk zO>mZ0m4&0iB_oen@D-Uwfgi!5A;ySYAF;<++bfkT%$%6PI+}Nrub3F8zN!U@z%EogY9)hcbdL=+3i9eMWccLa-b`-J>;^7pPjcfDyU_votcIw%MW)(nZoFhOtQY zi9rcG_JHX6Fxd0tgg5~FMKMKI#qU_3%91}kJF$oS?rQCEsr2VoWMy>h_?eU1v9rfd zo*A7|Hv&`LL?!OA^vTh6_KI}k)Z|!te0@o_yEi-O@kOKL6?e$B2gpX4Q#Z&ZZ!r6} zfP!%&&{YHscCTY&o6*=?EMX{Ngm$jek#-}pzu44aG!2+OSA)|;02dFN0VLF1yKwo! zrOcI#i3CTYD0!z_X4(1iywp*UIt;19L=Lg{Zd1|cpLu$AJ!{m6{JdjobUf?ENs;AK~xEaDRj}Nj|q5&S1xVdH<@CLbbv)0~blsx%X(IStA39c?3cn;Qu%HgJG@e2k zR&ztm)CF|*v1H;Dkv=qc!)e8($(B)7`N*_<{B~Knd^DNdgJQJHYAhdB-lPhb+>`6G zc8l7I%%UK^$D$SYoT${yF&VDvtT;ug6cC(SpS^?>*{*v7eack-c@`sk9oe^PH>^H* zy(*+#kJcTmeb$!$UlZ=^MN1R9?lEHP^0#?;w4{rKhDN?81cbkY?~45Etcp+ zw~-hsCU+XiL(r7`GBhOshvadY2q4Fq(NZX7cK6I=o^OG-C`fsE`y#u;nfkDDn?#@SsS}`(CS|?RJGbeQHWmhsbZf5FR1__~wr`;{j|UijP>t u_zm1(GHbj;7%{@N@a1ss6}EZ=;{6K^`JJ5r delta 1673 zcma)6Urbw77(eI!>Ak(>UfM#XPztoH6vnIsCfP{i1lpuk#{9Dwjgkg;kqkG$!-XZ% zW)5f87$0U1ONb#6_kb)T%ZxtwWJ2Z=U(}K`aY5_DUi9%Ua|!Xm_?_GJmYO~I-Fv?K zo!|M+ch33F_q#hs_ItE1RaHSCzu&)bcA)+%ZPTH+p!*@Thgf(Ihbh=2Vs$ zzGBs&wnq&rR(!E?>tvF)Jp}L@MXVIu9!vkRc;tcTnxvCPwHcw6f$RBU-T$%1Sig3`8Z}rAr@i)p+lN%PiIv7AX$) zCuy)mI^j%UgO(~@zcpyUK<{x_nqI!jf7nRans*CgE&SDN_V?V0s!r) zXXa+#IXj(Mnmo5SwLn^#8%qE^>WT<5Gcv9g|8X$dpe=k1oBb1>56~kAs&mtz=)dR@ z2cQ!?Tx=aIfes#fti#U~!y`3zTW_&#s8q%~`-+{3Ql!5aNtr%ZvtlApc{Q&-YC)R! z>Y+7$W4fTmcGXx>jhTpZ4%`lv8k$y*uf6*&*mdq+e3oscjZk?wS3(0e?Ydhd*VZIBmM zN)`it0tR%67>We5A{itn47;G=O0mxA{I;+Ow{g=Z#j_~K8Fpzy(Fss=Ee>5|4?X4X zcFY>O!%!?b*acog2Zb^^D2xuH2R&@tuq~KZrNcqgrUR_>vlR`?jTdVs*26I^(WP}o zm)E%*pG7n73Yz70XSGh3F!30jl`({LMR#r2ZE|pQXk}T!FyCA0)y}sfPdy%Eh5nyR zs{bRC4b{+DPS>{UYcr3Lo#Yx9(wJwQ{^RbW*F0Uk zkMQ&d&kGYVSb{Ka5O&d|9n_wnFP@(#VK93HGQ?oUwJNz5*e|OCgoMD@Qy1s;Nn4Kc5e>8mE#ct?Z-*7X((<}@J zrJW88`uh%lQsD0jLQa6Ru!A(uMAgV IauSyO7o6}!00000 diff --git a/routers/config.py b/routers/config.py index 4172076..579dc3a 100644 --- a/routers/config.py +++ b/routers/config.py @@ -31,24 +31,29 @@ def reload_config_from_file(): async def get_config(): """Get all config values (with sensitive values masked)""" path = Path("data/config.json") - if not path.exists(): - # Return defaults from config.py (masked) - config_values = { - "TORN_API_KEY": config_module.TORN_API_KEY, - "FFSCOUTER_KEY": config_module.FFSCOUTER_KEY, - "DISCORD_TOKEN": config_module.DISCORD_TOKEN, - "ALLOWED_CHANNEL_ID": config_module.ALLOWED_CHANNEL_ID, - "POLL_INTERVAL": config_module.POLL_INTERVAL, - "HIT_CHECK_INTERVAL": config_module.HIT_CHECK_INTERVAL, - "REASSIGN_DELAY": config_module.REASSIGN_DELAY, - "ASSIGNMENT_TIMEOUT": config_module.ASSIGNMENT_TIMEOUT, - "ASSIGNMENT_REMINDER": config_module.ASSIGNMENT_REMINDER, - "CHAIN_TIMER_THRESHOLD": config_module.CHAIN_TIMER_THRESHOLD - } - else: + + # Default config values from config.py + default_values = { + "TORN_API_KEY": config_module.TORN_API_KEY, + "FFSCOUTER_KEY": config_module.FFSCOUTER_KEY, + "DISCORD_TOKEN": config_module.DISCORD_TOKEN, + "ALLOWED_CHANNEL_ID": config_module.ALLOWED_CHANNEL_ID, + "HIT_CHECK_INTERVAL": config_module.HIT_CHECK_INTERVAL, + "REASSIGN_DELAY": config_module.REASSIGN_DELAY, + "ASSIGNMENT_TIMEOUT": config_module.ASSIGNMENT_TIMEOUT, + "ASSIGNMENT_REMINDER": config_module.ASSIGNMENT_REMINDER, + "CHAIN_TIMER_THRESHOLD": config_module.CHAIN_TIMER_THRESHOLD + } + + if path.exists(): with open(path, "r", encoding="utf-8") as f: data = json.load(f) - config_values = data.get("config", {}) + file_values = data.get("config", {}) + + # Merge defaults with file values (file values take precedence) + config_values = {**default_values, **file_values} + else: + config_values = default_values # Mask sensitive values masked_config = config_values.copy() @@ -66,6 +71,17 @@ async def update_config(req: ConfigUpdateRequest): """Update a single config value""" path = Path("data/config.json") + # Valid config keys (from config.py) + valid_keys = { + "TORN_API_KEY", "FFSCOUTER_KEY", "DISCORD_TOKEN", "ALLOWED_CHANNEL_ID", + "HIT_CHECK_INTERVAL", "REASSIGN_DELAY", + "ASSIGNMENT_TIMEOUT", "ASSIGNMENT_REMINDER", "CHAIN_TIMER_THRESHOLD" + } + + # Validate key is valid + if req.key not in valid_keys: + raise HTTPException(status_code=400, detail="Invalid config key") + # Load existing or create from current config if path.exists(): with open(path, "r", encoding="utf-8") as f: @@ -78,7 +94,6 @@ async def update_config(req: ConfigUpdateRequest): "FFSCOUTER_KEY": config_module.FFSCOUTER_KEY, "DISCORD_TOKEN": config_module.DISCORD_TOKEN, "ALLOWED_CHANNEL_ID": config_module.ALLOWED_CHANNEL_ID, - "POLL_INTERVAL": config_module.POLL_INTERVAL, "HIT_CHECK_INTERVAL": config_module.HIT_CHECK_INTERVAL, "REASSIGN_DELAY": config_module.REASSIGN_DELAY, "ASSIGNMENT_TIMEOUT": config_module.ASSIGNMENT_TIMEOUT, @@ -87,9 +102,10 @@ async def update_config(req: ConfigUpdateRequest): } } - # Validate key exists + # Add key if it doesn't exist in config (for backwards compatibility) if req.key not in data["config"]: - raise HTTPException(status_code=400, detail="Invalid config key") + print(f"Adding new config key: {req.key}") + data["config"][req.key] = getattr(config_module, req.key) # Update value data["config"][req.key] = req.value diff --git a/static/config.js b/static/config.js index d0301f9..2adf3ec 100644 --- a/static/config.js +++ b/static/config.js @@ -4,7 +4,6 @@ const CONFIG_FIELDS = { "FFSCOUTER_KEY": "ffscouter-key", "DISCORD_TOKEN": "discord-token", "ALLOWED_CHANNEL_ID": "allowed-channel-id", - "POLL_INTERVAL": "poll-interval", "HIT_CHECK_INTERVAL": "hit-check-interval", "REASSIGN_DELAY": "reassign-delay", "ASSIGNMENT_TIMEOUT": "assignment-timeout", diff --git a/templates/config.html b/templates/config.html index a98a30c..0066313 100644 --- a/templates/config.html +++ b/templates/config.html @@ -70,13 +70,6 @@ -
- -

General polling interval for data refresh

- - -
-

Interval for checking hit completion