steveagi commited on
Commit
703e6fc
·
1 Parent(s): 50f732e

repurpose hf_token

Browse files
__pycache__/extract.cpython-311.pyc ADDED
Binary file (844 Bytes). View file
 
__pycache__/test_extract.cpython-311-pytest-7.4.2.pyc ADDED
Binary file (11 kB). View file
 
app.py CHANGED
@@ -4,6 +4,7 @@ from datetime import datetime
4
 
5
  import gradio as gr
6
  from gradio_client import Client
 
7
 
8
  functionality_shared = [
9
  'games',
@@ -30,19 +31,13 @@ space = 'stevez-bbc123'
30
  # url = f'https://{space}.hf.space/api/predict'
31
  url = f'https://{space}.hf.space'
32
 
33
- def extract(hf_token):
34
- token = None
35
- try:
36
- info = json.loads(hf_token)
37
- token = info['token']
38
- except:
39
- token = hf_token
40
- print(f't = {token[:5]}')
41
-
42
  def run(hf_token, service, game, functionality, nlp_command):
43
  if hf_token is None or hf_token == '':
44
  return 'please specify hf token'
45
 
 
 
 
46
  if service not in functionality_shared[1:]:
47
  if game is None:
48
  return "please specify which game"
 
4
 
5
  import gradio as gr
6
  from gradio_client import Client
7
+ from extract import extract
8
 
9
  functionality_shared = [
10
  'games',
 
31
  # url = f'https://{space}.hf.space/api/predict'
32
  url = f'https://{space}.hf.space'
33
 
 
 
 
 
 
 
 
 
 
34
  def run(hf_token, service, game, functionality, nlp_command):
35
  if hf_token is None or hf_token == '':
36
  return 'please specify hf token'
37
 
38
+ # reuse hf_token field as json string
39
+ token, user_name, _ = extract(hf_token)
40
+
41
  if service not in functionality_shared[1:]:
42
  if game is None:
43
  return "please specify which game"
extract.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+
3
+ def extract(hf_token):
4
+ info = {}
5
+ try:
6
+ info = json.loads(hf_token)
7
+ except json.decoder.JSONDecodeError:
8
+ return hf_token, None, None
9
+
10
+ try:
11
+ token = info['token']
12
+ except KeyError:
13
+ token = None
14
+
15
+ try:
16
+ user = info['user']
17
+ except KeyError:
18
+ user = None
19
+
20
+ return token, user, info
test_extract.py CHANGED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pytest
2
+ import json
3
+
4
+ from extract import extract
5
+
6
+ def test_pure_string():
7
+ inp = 'abc'
8
+ token, user, info = extract(inp)
9
+ assert token == inp
10
+ assert user is None
11
+ assert info is None
12
+
13
+ def test_json_format_01():
14
+ inp_s = '{"a":"b"}'
15
+ token, user, info = extract(inp_s)
16
+ inp = json.loads(inp_s)
17
+ assert token == None
18
+ assert user == None
19
+ assert info == inp
20
+
21
+ def test_json_format_02():
22
+ inp_s = '{"token":"b"}'
23
+ token, user, info = extract(inp_s)
24
+ inp = json.loads(inp_s)
25
+ assert token == inp['token']
26
+ assert user == None
27
+ assert info == inp
28
+
29
+ def test_json_format_03():
30
+ inp_s = '{"user":"xb"}'
31
+ token, user, info = extract(inp_s)
32
+ inp = json.loads(inp_s)
33
+ assert token == None
34
+ assert user == inp['user']
35
+ assert info == inp
36
+
37
+ def test_json_format_04():
38
+ inp_s = '{"user":"t1", "token":"t2"}'
39
+ token, user, info = extract(inp_s)
40
+ inp = json.loads(inp_s)
41
+ assert token == inp['token']
42
+ assert user == inp['user']
43
+ assert info == inp
44
+