Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -121,46 +121,59 @@ import gradio as gr
|
|
| 121 |
|
| 122 |
def app():
|
| 123 |
with gr.Blocks() as interface:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
with gr.Tab("Generate Main Accounts"):
|
| 125 |
-
|
| 126 |
assignments_preview = gr.Dataframe(label="Main Account Assignments Preview", interactive=True)
|
| 127 |
-
creators_preview = gr.Dataframe(label="
|
| 128 |
|
| 129 |
generate_btn = gr.Button("Generate Main Accounts")
|
| 130 |
update_btn = gr.Button("Update Assignments")
|
| 131 |
|
| 132 |
-
# Generate Main Accounts Logic
|
| 133 |
-
def generate_main():
|
| 134 |
-
status, assignments, creators = generate_main_accounts()
|
| 135 |
-
return status, assignments, creators
|
| 136 |
-
|
| 137 |
-
# Bind Generate Button
|
| 138 |
generate_btn.click(
|
| 139 |
generate_main,
|
| 140 |
inputs=[],
|
| 141 |
-
outputs=[
|
| 142 |
)
|
| 143 |
-
|
| 144 |
-
# Update Assignments Logic
|
| 145 |
-
def update_assignments(assignments, creators):
|
| 146 |
-
# Save updated assignments and creators back to processed files
|
| 147 |
-
for idx, shift in enumerate(["Overnight", "Day", "Prime"]):
|
| 148 |
-
shift_data = assignments[assignments["Shift"] == shift]
|
| 149 |
-
shift_data.to_excel(os.path.join(PROCESSED_FOLDER, f"Updated_{shift.lower()}_file.xlsx"), index=False)
|
| 150 |
-
|
| 151 |
-
creators.to_excel(os.path.join(PROCESSED_FOLDER, "creators_file.xlsx"), index=False)
|
| 152 |
-
return "Assignments and Creator File updated successfully!"
|
| 153 |
-
|
| 154 |
-
# Bind Update Button
|
| 155 |
update_btn.click(
|
| 156 |
update_assignments,
|
| 157 |
inputs=[assignments_preview, creators_preview],
|
| 158 |
-
outputs=[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
)
|
| 160 |
|
| 161 |
return interface
|
| 162 |
|
|
|
|
|
|
|
| 163 |
if __name__ == "__main__":
|
| 164 |
app().launch()
|
| 165 |
|
| 166 |
-
|
|
|
|
| 121 |
|
| 122 |
def app():
|
| 123 |
with gr.Blocks() as interface:
|
| 124 |
+
with gr.Tab("Login"):
|
| 125 |
+
username = gr.Textbox(label="Username")
|
| 126 |
+
password = gr.Textbox(label="Password", type="password")
|
| 127 |
+
login_btn = gr.Button("Login")
|
| 128 |
+
login_status = gr.Textbox(label="Login Status", interactive=False)
|
| 129 |
+
|
| 130 |
+
login_btn.click(login, inputs=[username, password], outputs=[login_status])
|
| 131 |
+
|
| 132 |
+
with gr.Tab("Upload Files"):
|
| 133 |
+
creators_file = gr.File(label="Creators File", type="binary")
|
| 134 |
+
overnight_file = gr.File(label="Overnight File", type="binary")
|
| 135 |
+
day_file = gr.File(label="Day File", type="binary")
|
| 136 |
+
prime_file = gr.File(label="Prime File", type="binary")
|
| 137 |
+
upload_btn = gr.Button("Upload Files")
|
| 138 |
+
upload_status = gr.Textbox(label="Upload Status", interactive=False)
|
| 139 |
+
|
| 140 |
+
upload_btn.click(
|
| 141 |
+
upload_files,
|
| 142 |
+
inputs=[creators_file, overnight_file, day_file, prime_file],
|
| 143 |
+
outputs=[upload_status],
|
| 144 |
+
)
|
| 145 |
+
|
| 146 |
with gr.Tab("Generate Main Accounts"):
|
| 147 |
+
generate_status = gr.Textbox(label="Status", interactive=False)
|
| 148 |
assignments_preview = gr.Dataframe(label="Main Account Assignments Preview", interactive=True)
|
| 149 |
+
creators_preview = gr.Dataframe(label="Processed Creator File Preview", interactive=True)
|
| 150 |
|
| 151 |
generate_btn = gr.Button("Generate Main Accounts")
|
| 152 |
update_btn = gr.Button("Update Assignments")
|
| 153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 154 |
generate_btn.click(
|
| 155 |
generate_main,
|
| 156 |
inputs=[],
|
| 157 |
+
outputs=[generate_status, assignments_preview, creators_preview],
|
| 158 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
update_btn.click(
|
| 160 |
update_assignments,
|
| 161 |
inputs=[assignments_preview, creators_preview],
|
| 162 |
+
outputs=[generate_status],
|
| 163 |
+
)
|
| 164 |
+
|
| 165 |
+
with gr.Tab("Generate Full Schedule"):
|
| 166 |
+
generate_schedule_btn = gr.Button("Generate Full Schedule")
|
| 167 |
+
full_schedule_output = gr.Dataframe(label="Full Schedule", interactive=False)
|
| 168 |
+
|
| 169 |
+
generate_schedule_btn.click(
|
| 170 |
+
generate_full_schedule, inputs=[], outputs=[full_schedule_output]
|
| 171 |
)
|
| 172 |
|
| 173 |
return interface
|
| 174 |
|
| 175 |
+
|
| 176 |
+
# Run App
|
| 177 |
if __name__ == "__main__":
|
| 178 |
app().launch()
|
| 179 |
|
|
|