Skip to content

Commit 5b62b1b

Browse files
committed
fix issues with users
1 parent 9857725 commit 5b62b1b

File tree

3 files changed

+38
-51
lines changed

3 files changed

+38
-51
lines changed

modules/shared.py

-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@
145145
sagemaker_endpoint_component = None
146146
sd_model_checkpoint_component = None
147147
create_train_dreambooth_component = None
148-
username = ''
149148
else:
150149
api_endpoint = cmd_opts.api_endpoint
151150

modules/ui.py

+38-30
Original file line numberDiff line numberDiff line change
@@ -670,28 +670,6 @@ def open_folder(f):
670670
parameters_copypaste.bind_buttons(buttons, result_gallery, "txt2img" if tabname == "txt2img" else None)
671671
return result_gallery, generation_info if tabname != "extras" else html_info_x, html_info
672672

673-
def update_sagemaker_endpoint():
674-
return gr.update(value=shared.opts.sagemaker_endpoint, choices=shared.sagemaker_endpoints)
675-
676-
def update_sd_model_checkpoint():
677-
return gr.update(value=shared.opts.sd_model_checkpoint, choices=modules.sd_models.checkpoint_tiles())
678-
679-
def update_username():
680-
if shared.username == 'admin':
681-
inputs = {
682-
'action': 'load'
683-
}
684-
response = requests.post(url=f'{shared.api_endpoint}/sd/user', json=inputs)
685-
if response.status_code == 200:
686-
items = []
687-
for item in json.loads(response.text):
688-
items.append([item['username'], item['password'], item['options'] if 'options' in item else '', shared.get_available_sagemaker_endpoints(item)])
689-
return gr.update(value=shared.username), gr.update(value=items if items != [] else None)
690-
else:
691-
return gr.update(value=shared.username), gr.update()
692-
else:
693-
return gr.update(value=shared.username), gr.update()
694-
695673
def create_ui():
696674
import modules.img2img
697675
import modules.txt2img
@@ -2038,9 +2016,6 @@ def save_userdata(user_dataframe, request: gr.Request):
20382016
_js="var if alert('Only admin user can save user data')"
20392017
)
20402018

2041-
user_interface.load(update_sagemaker_endpoint, inputs=None, outputs=[shared.sagemaker_endpoint_component])
2042-
user_interface.load(update_sd_model_checkpoint, inputs=None, outputs=[shared.sd_model_checkpoint_component])
2043-
20442019
if cmd_opts.pureui:
20452020
interfaces += [
20462021
(txt2img_interface, "txt2img", "txt2img"),
@@ -2099,7 +2074,6 @@ def save_userdata(user_dataframe, request: gr.Request):
20992074
outputs=[username_state, user_dataframe],
21002075
_js="login"
21012076
)
2102-
user_interface.load(update_username, inputs=None, outputs=[username_state, user_dataframe])
21032077
with gr.Column(scale=1):
21042078
logout_button = gr.Button(value="Logout")
21052079

@@ -2150,13 +2124,47 @@ def user_logout(request: gr.Request):
21502124

21512125
component_keys = [k for k in opts.data_labels.keys() if k in component_dict]
21522126

2153-
def get_settings_values():
2154-
return [getattr(opts, key) for key in component_keys]
2127+
def demo_load(request: gr.Request):
2128+
tokens = shared.demo.server_app.tokens
2129+
cookies = request.headers['cookie'].split('; ')
2130+
access_token = None
2131+
for cookie in cookies:
2132+
if cookie.startswith('access-token'):
2133+
access_token = cookie[len('access-token=') : ]
2134+
break
2135+
username = tokens[access_token] if access_token else None
2136+
2137+
inputs = {
2138+
'action': 'load'
2139+
}
2140+
response = requests.post(url=f'{shared.api_endpoint}/sd/user', json=inputs)
2141+
if response.status_code == 200:
2142+
if username == 'admin':
2143+
items = []
2144+
for item in json.loads(response.text):
2145+
items.append([item['username'], item['password'], item['options'] if 'options' in item else '', shared.get_available_sagemaker_endpoints(item)])
2146+
2147+
additional_components = [gr.update(value=username), gr.update(value=items if items != [] else None), gr.update(), gr.update()]
2148+
else:
2149+
for item in json.loads(response.text):
2150+
if item['username'] == username:
2151+
try:
2152+
shared.opts.data = json.loads(item['options'])
2153+
break
2154+
except Exception as e:
2155+
print(e)
2156+
shared.refresh_sagemaker_endpoints(username)
2157+
shared.refresh_checkpoints(shared.opts.sagemaker_endpoint)
2158+
additional_components = [gr.update(value=username), gr.update(), gr.update(value=shared.opts.sagemaker_endpoint, choices=shared.sagemaker_endpoints), gr.update(value=shared.opts.sd_model_checkpoint, choices=modules.sd_models.checkpoint_tiles())]
2159+
else:
2160+
additional_components = [gr.update(value=username), gr.update(), gr.update(), gr.update()]
2161+
2162+
return [getattr(opts, key) for key in component_keys] + additional_components
21552163

21562164
demo.load(
2157-
fn=get_settings_values,
2165+
fn=demo_load,
21582166
inputs=[],
2159-
outputs=[component_dict[k] for k in component_keys],
2167+
outputs=[component_dict[k] for k in component_keys] + [username_state, user_dataframe, shared.sagemaker_endpoint_component, shared.sd_model_checkpoint_component]
21602168
)
21612169

21622170
if not cmd_opts.pureui:

webui.py

-20
Original file line numberDiff line numberDiff line change
@@ -213,26 +213,6 @@ def user_auth(username, password):
213213

214214
response = requests.post(url=f'{api_endpoint}/sd/login', json=inputs)
215215

216-
if response.status_code == 200:
217-
try:
218-
body = json.loads(response.text)
219-
options = json.loads(json.loads(body)['options'])
220-
except Exception as e:
221-
print(e)
222-
options = None
223-
224-
if options != None:
225-
shared.opts.data = options
226-
227-
shared.refresh_sagemaker_endpoints(username)
228-
shared.refresh_checkpoints(shared.opts.sagemaker_endpoint)
229-
shared.username = username
230-
modules.ui.update_sagemaker_endpoint()
231-
modules.ui.update_sd_model_checkpoint()
232-
modules.ui.update_username()
233-
else:
234-
print(response.text)
235-
236216
return response.status_code == 200
237217

238218
def webui():

0 commit comments

Comments
 (0)