npc0 commited on
Commit
e594988
·
verified ·
1 Parent(s): 542c7b5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -13
app.py CHANGED
@@ -59,9 +59,9 @@ class GUI:
59
  inp = gr.File(file_types=['.epub'], visible=False)
60
 
61
  # Event handlers
62
- welcome_md.attach_load_event(self.on_load, None, [welcome_md, api_key_section, inp, clear_key_btn])
63
- login_btn.login(self.on_login, None, [welcome_md, api_key_section, inp, clear_key_btn])
64
- logout_btn.logout(self.on_logout, None, [welcome_md, api_key_section, inp, clear_key_btn])
65
  api_key_btn.click(
66
  self.set_api_key,
67
  inputs=[api_key_input, remember_key],
@@ -151,21 +151,33 @@ class GUI:
151
  print(f"Error deleting saved key: {e}")
152
  return False
153
 
154
- def on_load(self, profile: gr.OAuthProfile | None = None):
155
- """Handle initial page load"""
156
- if profile is None:
 
 
 
157
  return (
158
  gr.update(value='# ePub Summarization Tool\n\nPlease login to access the tool.'),
159
  gr.update(visible=False), # api_key_section
160
  gr.update(visible=False), # inp
161
  gr.update(visible=False) # clear_key_btn
162
  )
163
- return self.on_login(profile)
 
 
 
 
 
 
 
 
 
164
 
165
- def on_login(self, profile: gr.OAuthProfile | None = None):
166
- """Handle user login"""
167
  if not profile:
168
- return self.on_logout()
169
 
170
  self.current_user = self._get_user_id(profile)
171
  user_name = profile.name if hasattr(profile, 'name') else profile.username
@@ -190,8 +202,8 @@ class GUI:
190
  gr.update(visible=False) # clear_key_btn
191
  )
192
 
193
- def on_logout(self, profile: gr.OAuthProfile | None = None):
194
- """Handle user logout"""
195
  self.current_user = None
196
  self.api_key = None
197
  self.client = None
@@ -334,7 +346,10 @@ class GUI:
334
  print(f"Error calling Poe API: {e}")
335
  return f"Error processing text: {str(e)}"
336
 
337
- def process(self, file, profile: gr.OAuthProfile | None = None):
 
 
 
338
  if profile is None:
339
  return gr.update(value='⚠️ Please login to access the tool.')
340
 
 
59
  inp = gr.File(file_types=['.epub'], visible=False)
60
 
61
  # Event handlers
62
+ demo.load(self.on_load, None, [welcome_md, api_key_section, inp, clear_key_btn])
63
+ # Note: Login/logout events are handled automatically by Gradio
64
+ # We use demo.load to check login status on page load/refresh
65
  api_key_btn.click(
66
  self.set_api_key,
67
  inputs=[api_key_input, remember_key],
 
151
  print(f"Error deleting saved key: {e}")
152
  return False
153
 
154
+ def on_load(self, request: gr.Request = None):
155
+ """Handle initial page load and login status check"""
156
+ # Get user info from request if available
157
+ profile = getattr(request, 'username', None) if request else None
158
+
159
+ if not profile:
160
  return (
161
  gr.update(value='# ePub Summarization Tool\n\nPlease login to access the tool.'),
162
  gr.update(visible=False), # api_key_section
163
  gr.update(visible=False), # inp
164
  gr.update(visible=False) # clear_key_btn
165
  )
166
+
167
+ # Create a mock profile object for compatibility
168
+ class MockProfile:
169
+ def __init__(self, username):
170
+ self.username = username
171
+ self.name = username
172
+ self.email = f"{username}@example.com" # Fallback email
173
+
174
+ mock_profile = MockProfile(profile)
175
+ return self.handle_user_login(mock_profile)
176
 
177
+ def handle_user_login(self, profile):
178
+ """Handle user login logic"""
179
  if not profile:
180
+ return self.handle_user_logout()
181
 
182
  self.current_user = self._get_user_id(profile)
183
  user_name = profile.name if hasattr(profile, 'name') else profile.username
 
202
  gr.update(visible=False) # clear_key_btn
203
  )
204
 
205
+ def handle_user_logout(self):
206
+ """Handle user logout logic"""
207
  self.current_user = None
208
  self.api_key = None
209
  self.client = None
 
346
  print(f"Error calling Poe API: {e}")
347
  return f"Error processing text: {str(e)}"
348
 
349
+ def process(self, file, request: gr.Request = None):
350
+ # Get user info from request if available
351
+ profile = getattr(request, 'username', None) if request else None
352
+
353
  if profile is None:
354
  return gr.update(value='⚠️ Please login to access the tool.')
355