Implemented local restful flask service and provided cmdline client
Added only the "Daily" call so far, submitting for early review/feedback
Called as example "./rest_client.py daily 3"
This depends on listed as requirements.
Flask==1.0.2
flask-jsonpify==1.5.0 (will do later)
flask-restful==0.3.6
TODO: make loading optional, cleanly unload on close
unit tests, take feedback, tidy output,
add other Telegram functions, onwards
local rest server is enabled/disabled from within config.json. E.g
"localrest": {
"enabled": true
},
The server is enabled from within existing rpc manager
and makes use of the existing superclass (RPC)
Through making use of the existing hard work done in rpc.py
It *should be easy to add the other Telegram calls into local_rpc_server.py
The server is wrapped in a thread to be non-blocking
The server and client accept serialised calls or not, used in daily to return json
The client can be used from command line or in a python client script
As example, from cmdline for last 3 days Daily
DannyMBP:rpc creslin$ ./rest_client.py daily 3
[
[
"2018-06-13",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
],
[
"2018-06-12",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
],
[
"2018-06-11",
"0.00000000 USDT",
"0.000 USD",
"0 trade"
]
]
This commit is contained in:
23
freqtrade/rpc/rest_client.py
Executable file
23
freqtrade/rpc/rest_client.py
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple command line client into RPC commands
|
||||
Can be used as an alternate to Telegram
|
||||
"""
|
||||
|
||||
from requests import get
|
||||
from sys import argv
|
||||
|
||||
if len(argv) == 1:
|
||||
print('\nThis script accepts the following arguments')
|
||||
print('- daily (int) - Where int is the number of days to report back. daily 3')
|
||||
print('- there will be more....\n')
|
||||
|
||||
if len(argv) == 3 and argv[1] == "daily":
|
||||
if str.isnumeric(argv[2]):
|
||||
get_url = 'http://localhost:5002/daily?timescale=' + argv[2]
|
||||
d=get(get_url).json()
|
||||
print(d)
|
||||
else:
|
||||
print("\nThe second argument to daily must be an integer, 1,2,3 etc")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user