mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2025-05-04 12:24:52 +00:00
API keys support, bug fixes, improvements
This commit is contained in:
parent
092990cfb3
commit
90de8e22a0
11 changed files with 242 additions and 44 deletions
45
app/manage.py
Normal file
45
app/manage.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
import argparse
|
||||
from app.api_keys import Database
|
||||
|
||||
def manage():
|
||||
parser = argparse.ArgumentParser(description='LibreTranslate Manage Tools')
|
||||
subparsers = parser.add_subparsers(help='', dest='command', required=True, title="Command List")
|
||||
|
||||
keys_parser = subparsers.add_parser('keys', help='Manage API keys database')
|
||||
keys_subparser = keys_parser.add_subparsers(help='', dest='sub_command', title="Command List")
|
||||
|
||||
keys_add_parser = keys_subparser.add_parser('add', help='Add API keys to database')
|
||||
keys_add_parser.add_argument('req_limit',
|
||||
type=int,
|
||||
help='Request Limits (per second)')
|
||||
keys_add_parser.add_argument('--key',
|
||||
type=str,
|
||||
default="auto",
|
||||
required=False,
|
||||
help='API Key')
|
||||
|
||||
keys_remove_parser = keys_subparser.add_parser('remove', help='Remove API keys to database')
|
||||
keys_remove_parser.add_argument('key',
|
||||
type=str,
|
||||
help='API Key')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.command == 'keys':
|
||||
db = Database()
|
||||
if args.sub_command is None:
|
||||
# Print keys
|
||||
keys = db.all()
|
||||
if not keys:
|
||||
print("There are no API keys")
|
||||
else:
|
||||
for item in keys:
|
||||
print("%s: %s" % item)
|
||||
|
||||
elif args.sub_command == 'add':
|
||||
print(db.add(args.req_limit, args.key)[0])
|
||||
elif args.sub_command == 'remove':
|
||||
print(db.remove(args.key))
|
||||
else:
|
||||
parser.print_help()
|
||||
exit(1)
|
Loading…
Add table
Add a link
Reference in a new issue