pymmdrza commited on
Commit
149a034
·
verified ·
1 Parent(s): 77bb8ad

Create config.py

Browse files
Files changed (1) hide show
  1. config.py +62 -0
config.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import os
3
+ from kucoin.client import User as KuUser
4
+ import openai
5
+
6
+ SESSION_FILE = ".session.json"
7
+
8
+
9
+ class SessionManager:
10
+ def __init__(self):
11
+ self.openai_key = None
12
+ self.kucoin_key = None
13
+ self.kucoin_secret = None
14
+ self.kucoin_passphrase = None
15
+ self.provider = "OpenAI"
16
+ self.hf_token = None
17
+ self._load()
18
+
19
+ def _load(self):
20
+ if os.path.exists(SESSION_FILE):
21
+ with open(SESSION_FILE, "r") as f:
22
+ data = json.load(f)
23
+ self.__dict__.update(data)
24
+
25
+ def set_keys(self, openai_key, kucoin_key, kucoin_secret, kucoin_pass, provider):
26
+ self.openai_key = openai_key
27
+ self.kucoin_key = kucoin_key
28
+ self.kucoin_secret = kucoin_secret
29
+ self.kucoin_passphrase = kucoin_pass
30
+ self.provider = provider
31
+ with open(SESSION_FILE, "w") as f:
32
+ json.dump(self.__dict__, f)
33
+
34
+ def clear(self):
35
+ if os.path.exists(SESSION_FILE):
36
+ os.remove(SESSION_FILE)
37
+ self.__init__()
38
+
39
+ def is_ready(self):
40
+ return all([self.kucoin_key, self.kucoin_secret, self.kucoin_passphrase]) and (
41
+ self.openai_key if self.provider == "OpenAI" else self.hf_token
42
+ )
43
+
44
+
45
+ def validate_all_keys(session: SessionManager):
46
+ try:
47
+ KuUser(
48
+ key=session.kucoin_key,
49
+ secret=session.kucoin_secret,
50
+ passphrase=session.kucoin_passphrase,
51
+ ).get_account_overview("USDT")
52
+ except Exception as e:
53
+ return False, f"❌ KuCoin error: {e}"
54
+
55
+ if session.provider == "OpenAI":
56
+ try:
57
+ openai.api_key = session.openai_key
58
+ _ = openai.models.list()
59
+ except Exception as e:
60
+ return False, f"❌ OpenAI error: {e}"
61
+
62
+ return True, "✅ API keys valid and ready"