wuhp commited on
Commit
bacaaa0
·
verified ·
1 Parent(s): a50a846

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -18
app.py CHANGED
@@ -2,7 +2,7 @@ import gradio as gr
2
  import requests
3
  from huggingface_hub import create_repo, list_models, upload_file
4
 
5
- # — USER INFO & MODEL LISTING —
6
 
7
  def show_profile(profile: gr.OAuthProfile | None) -> str:
8
  if profile is None:
@@ -11,7 +11,7 @@ def show_profile(profile: gr.OAuthProfile | None) -> str:
11
 
12
  def list_private_models(
13
  profile: gr.OAuthProfile | None,
14
- oauth_token: gr.OAuthToken | None
15
  ) -> str:
16
  if profile is None or oauth_token is None:
17
  return "Please log in to see your models."
@@ -19,37 +19,33 @@ def list_private_models(
19
  f"{m.id} ({'private' if m.private else 'public'})"
20
  for m in list_models(author=profile.username, token=oauth_token.token)
21
  ]
22
- return (
23
- "No models found."
24
- if not models
25
- else "Models:\n\n" + "\n - ".join(models)
26
- )
27
 
28
- # — BUTTON‑ENABLING HELPERS —
29
 
30
  def enable_create(
31
  profile: gr.OAuthProfile | None,
32
  oauth_token: gr.OAuthToken | None
33
- ) -> gr.Update:
34
  """Enable Create Space once logged in."""
35
  return gr.update(interactive=profile is not None)
36
 
37
  def enable_repo_actions(
38
  repo_id: str,
39
  profile: gr.OAuthProfile | None,
40
- oauth_token: gr.OAuthToken | None
41
- ) -> gr.Update:
42
  """Enable Upload & Get Logs once space exists and logged in."""
43
  return gr.update(interactive=bool(repo_id and profile and oauth_token))
44
 
45
- # — CORE ACTIONS —
46
 
47
  def create_space(
48
  repo_name: str,
49
  sdk: str,
50
  profile: gr.OAuthProfile | None,
51
- oauth_token: gr.OAuthToken | None
52
- ) -> tuple[str,str,str]:
53
  if profile is None or oauth_token is None:
54
  return "", "⚠️ Please log in first.", "<p>No Space created yet.</p>"
55
  repo_id = f"{profile.username}/{repo_name}"
@@ -70,7 +66,7 @@ def upload_file_to_space(
70
  path_in_repo: str,
71
  repo_id: str,
72
  profile: gr.OAuthProfile | None,
73
- oauth_token: gr.OAuthToken | None
74
  ) -> str:
75
  if profile is None or oauth_token is None:
76
  return "⚠️ Please log in first."
@@ -90,7 +86,7 @@ def upload_file_to_space(
90
  def get_space_logs(
91
  repo_id: str,
92
  profile: gr.OAuthProfile | None,
93
- oauth_token: gr.OAuthToken | None
94
  ) -> str:
95
  if profile is None or oauth_token is None or not repo_id:
96
  return "⚠️ Please log in and create a Space first."
@@ -102,7 +98,7 @@ def get_space_logs(
102
  entries = resp.json()
103
  return "\n".join(e.get("text","") for e in entries)
104
 
105
- # — BUILD THE UI —
106
 
107
  with gr.Blocks(title="HF OAuth + Space Manager") as demo:
108
  gr.Markdown(
@@ -126,7 +122,7 @@ with gr.Blocks(title="HF OAuth + Space Manager") as demo:
126
  # — CREATE SPACE —
127
  repo_name = gr.Textbox(label="New Space name", placeholder="my-space")
128
  sdk_selector = gr.Radio(
129
- choices=["gradio","streamlit"],
130
  value="gradio",
131
  label="Space template (SDK)"
132
  )
 
2
  import requests
3
  from huggingface_hub import create_repo, list_models, upload_file
4
 
5
+ # — USER INFO & MODEL LISTING —
6
 
7
  def show_profile(profile: gr.OAuthProfile | None) -> str:
8
  if profile is None:
 
11
 
12
  def list_private_models(
13
  profile: gr.OAuthProfile | None,
14
+ oauth_token: gr.OAuthToken | None
15
  ) -> str:
16
  if profile is None or oauth_token is None:
17
  return "Please log in to see your models."
 
19
  f"{m.id} ({'private' if m.private else 'public'})"
20
  for m in list_models(author=profile.username, token=oauth_token.token)
21
  ]
22
+ return "No models found." if not models else "Models:\n\n" + "\n - ".join(models)
 
 
 
 
23
 
24
+ # — BUTTON‑ENABLING HELPERS —
25
 
26
  def enable_create(
27
  profile: gr.OAuthProfile | None,
28
  oauth_token: gr.OAuthToken | None
29
+ ):
30
  """Enable Create Space once logged in."""
31
  return gr.update(interactive=profile is not None)
32
 
33
  def enable_repo_actions(
34
  repo_id: str,
35
  profile: gr.OAuthProfile | None,
36
+ oauth_token: gr.OAuthToken | None
37
+ ):
38
  """Enable Upload & Get Logs once space exists and logged in."""
39
  return gr.update(interactive=bool(repo_id and profile and oauth_token))
40
 
41
+ # — CORE ACTIONS —
42
 
43
  def create_space(
44
  repo_name: str,
45
  sdk: str,
46
  profile: gr.OAuthProfile | None,
47
+ oauth_token: gr.OAuthToken | None
48
+ ) -> tuple[str, str, str]:
49
  if profile is None or oauth_token is None:
50
  return "", "⚠️ Please log in first.", "<p>No Space created yet.</p>"
51
  repo_id = f"{profile.username}/{repo_name}"
 
66
  path_in_repo: str,
67
  repo_id: str,
68
  profile: gr.OAuthProfile | None,
69
+ oauth_token: gr.OAuthToken | None
70
  ) -> str:
71
  if profile is None or oauth_token is None:
72
  return "⚠️ Please log in first."
 
86
  def get_space_logs(
87
  repo_id: str,
88
  profile: gr.OAuthProfile | None,
89
+ oauth_token: gr.OAuthToken | None
90
  ) -> str:
91
  if profile is None or oauth_token is None or not repo_id:
92
  return "⚠️ Please log in and create a Space first."
 
98
  entries = resp.json()
99
  return "\n".join(e.get("text","") for e in entries)
100
 
101
+ # — BUILD THE UI —
102
 
103
  with gr.Blocks(title="HF OAuth + Space Manager") as demo:
104
  gr.Markdown(
 
122
  # — CREATE SPACE —
123
  repo_name = gr.Textbox(label="New Space name", placeholder="my-space")
124
  sdk_selector = gr.Radio(
125
+ choices=["gradio", "streamlit"],
126
  value="gradio",
127
  label="Space template (SDK)"
128
  )