Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_TradingCompetition2022-main/keyTool.py
5925 views
1
import keyring
2
import argparse
3
"""
4
Tool for storage sensitive data (pass, keys, tokens in security storage
5
"""
6
7
parser = argparse.ArgumentParser(description='')
8
parser.add_argument('-API_TOKEN', type=str, help='API TOKEN for TINKOFF Invest')
9
parser.add_argument('-SAND_BOX', type=str, help='SAND BOX API TOKEN for TINKOFF Invest')
10
11
12
STORAGE = 'TINKOFF_API'
13
TINKOFF_API_TOKEN = 'TINKOFF_API_TOKEN'
14
TINKOFF_API_SAND_BOX_TOKEN = 'TINKOFF_API_SAND_BOX_TOKEN'
15
16
17
def setKeys(name, key):
18
keyring.set_password(STORAGE, name, key)
19
20
21
def readKeys(config):
22
combat_mode = True if config.get(section='main', option='combat_mode') == 'True' else False
23
if combat_mode:
24
return keyring.get_password(STORAGE, TINKOFF_API_TOKEN)
25
else:
26
return keyring.get_password(STORAGE, TINKOFF_API_SAND_BOX_TOKEN)
27
28
29
def main(args):
30
if args.API_TOKEN:
31
setKeys(TINKOFF_API_TOKEN, args.API_TOKEN)
32
33
if args.SAND_BOX:
34
setKeys(TINKOFF_API_SAND_BOX_TOKEN, args.SAND_BOX)
35
36
37
if __name__ == '__main__':
38
main(parser.parse_args())
39
40
41
42
43