-
Notifications
You must be signed in to change notification settings - Fork 35
Feat/callback state #130
base: dev
Are you sure you want to change the base?
Feat/callback state #130
Conversation
|
@fohrloop |
|
The current modification has been running well in my scene for quite a long time, for example: @du.callback(
output=[
PREVIEW_IMAGE_ID.get_output("children"),
UPLOAD_IMAGE_LOADING_ID.get_output("children"),
LOGIN_MODAL_ID.get_output("is_open"),
],
state=[
SESSION_STORE_ID.get_state("data"),
TOKEN_STORE_ID.get_state("data"),
],
id=UPLOAD_IMAGE_ID.get_identifier(),
)
def callback_on_completion(status: du.UploadStatus, session_id, token):
if session_id != status.upload_id:
return no_update, status_alert("Session mismatch.", color="danger"), no_update
if (not token) or (not is_valid_token(token)):
return no_update, status_alert("Login required.", color="danger"), True
session = Session.load(session_id)
if not session:
return no_update, status_alert("Session not found.", color="danger"), no_update
if status.is_completed:
return (
render_images(session),
status_alert(
f"Successfully uploaded {status.n_uploaded}/{status.n_total}.",
color="green",
),
no_update,
)
return (
render_images(session),
status_alert(f"Uploading {status.n_uploaded}...", color="green"),
no_update,
) |
|
Hi @mapix , Glad to see this one getting a fix. Tests would be nice though; what could be done to make testing easier on your local machine? I don't think I have too much time to contribute on this project, but could we get some user to comment this change? Or someone from your team? @salvocamiolo / @salvo-camiolo ? Niko |
|
The reason for the difficulty with tests is that I always have a critical Case failure on my Mac, but I cannot determine for a while whether it is due to differences in the logic of handling unlink files between Windows and Mac. This error is not related to the current changes. I wonder if other contributors have encountered this issue as well. Regarding more contributors, @Sisyphus235 from my team will collaborate more on this project. |
stateparameter todu.callbacksupport more state supplies such as token or current sessionRef: #104