Upload folder using huggingface_hub
Browse files
README.md
CHANGED
@@ -2,5 +2,5 @@
|
|
2 |
title: Khanfar
|
3 |
app_file: app.py
|
4 |
sdk: gradio
|
5 |
-
sdk_version:
|
6 |
---
|
|
|
2 |
title: Khanfar
|
3 |
app_file: app.py
|
4 |
sdk: gradio
|
5 |
+
sdk_version: 3.50.2
|
6 |
---
|
app.py
CHANGED
@@ -39,15 +39,9 @@ def load_training_data():
|
|
39 |
data[date].append(row)
|
40 |
except FileNotFoundError:
|
41 |
print("Warning: Data file not found. Starting with empty dataset.")
|
42 |
-
# Create a placeholder data structure
|
43 |
-
data = {"example_plate": [], "example_company": [], "01.01.2025": []}
|
44 |
|
45 |
def parse_date(date_str):
|
46 |
-
|
47 |
-
return datetime.strptime(date_str, "%d.%m.%Y")
|
48 |
-
except (ValueError, TypeError):
|
49 |
-
# Return a default date if parsing fails
|
50 |
-
return datetime.now()
|
51 |
|
52 |
def get_week_range(date_str):
|
53 |
current_date = parse_date(date_str)
|
@@ -78,7 +72,6 @@ def calculate_weekly_total(date_str):
|
|
78 |
return "Invalid date format. Please enter a date in the format dd.mm.yyyy."
|
79 |
start_of_week, end_of_week = get_week_range(date_str)
|
80 |
weekly_total = 0
|
81 |
-
|
82 |
for date_key in data.keys():
|
83 |
try:
|
84 |
record_date = parse_date(date_key)
|
@@ -103,7 +96,6 @@ def calculate_weekly_cash_total(date_str):
|
|
103 |
return "Invalid date format. Please enter a date in the format dd.mm.yyyy."
|
104 |
start_of_week, end_of_week = get_week_range(date_str)
|
105 |
weekly_cash_total = 0
|
106 |
-
|
107 |
for date_key in data.keys():
|
108 |
try:
|
109 |
record_date = parse_date(date_key)
|
@@ -123,7 +115,6 @@ def search_partial_matches(input_text):
|
|
123 |
load_training_data()
|
124 |
input_text = input_text.strip()
|
125 |
matching_records = {}
|
126 |
-
|
127 |
for key in data.keys():
|
128 |
if input_text in key:
|
129 |
matching_records[key] = data[key]
|
@@ -136,7 +127,6 @@ def calculate_total_for_period(start_date_str, end_date_str):
|
|
136 |
end_date = parse_date(end_date_str)
|
137 |
except ValueError:
|
138 |
return "Invalid date format. Please enter dates in the format dd.mm.yyyy."
|
139 |
-
|
140 |
total_amount = 0
|
141 |
for date_key in data.keys():
|
142 |
try:
|
@@ -213,37 +203,24 @@ def original_chatbot(input_text, enable_voice):
|
|
213 |
|
214 |
return (combined_output, response, f"Weekly Total: {weekly_total} - Weekly Cash Total: {weekly_cash_total}", audio_file)
|
215 |
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
gr.
|
220 |
-
gr.
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
fn=chatbot,
|
236 |
-
inputs=[input_text, start_date, end_date, enable_voice],
|
237 |
-
outputs=[daily_income, reports, weekly_income, voice_output]
|
238 |
-
)
|
239 |
-
|
240 |
-
return interface
|
241 |
-
|
242 |
-
# Initialize the application
|
243 |
if __name__ == "__main__":
|
244 |
-
|
245 |
-
load_training_data()
|
246 |
-
|
247 |
-
# Create and launch the interface
|
248 |
-
demo = create_interface()
|
249 |
-
demo.launch()
|
|
|
39 |
data[date].append(row)
|
40 |
except FileNotFoundError:
|
41 |
print("Warning: Data file not found. Starting with empty dataset.")
|
|
|
|
|
42 |
|
43 |
def parse_date(date_str):
|
44 |
+
return datetime.strptime(date_str, "%d.%m.%Y")
|
|
|
|
|
|
|
|
|
45 |
|
46 |
def get_week_range(date_str):
|
47 |
current_date = parse_date(date_str)
|
|
|
72 |
return "Invalid date format. Please enter a date in the format dd.mm.yyyy."
|
73 |
start_of_week, end_of_week = get_week_range(date_str)
|
74 |
weekly_total = 0
|
|
|
75 |
for date_key in data.keys():
|
76 |
try:
|
77 |
record_date = parse_date(date_key)
|
|
|
96 |
return "Invalid date format. Please enter a date in the format dd.mm.yyyy."
|
97 |
start_of_week, end_of_week = get_week_range(date_str)
|
98 |
weekly_cash_total = 0
|
|
|
99 |
for date_key in data.keys():
|
100 |
try:
|
101 |
record_date = parse_date(date_key)
|
|
|
115 |
load_training_data()
|
116 |
input_text = input_text.strip()
|
117 |
matching_records = {}
|
|
|
118 |
for key in data.keys():
|
119 |
if input_text in key:
|
120 |
matching_records[key] = data[key]
|
|
|
127 |
end_date = parse_date(end_date_str)
|
128 |
except ValueError:
|
129 |
return "Invalid date format. Please enter dates in the format dd.mm.yyyy."
|
|
|
130 |
total_amount = 0
|
131 |
for date_key in data.keys():
|
132 |
try:
|
|
|
203 |
|
204 |
return (combined_output, response, f"Weekly Total: {weekly_total} - Weekly Cash Total: {weekly_cash_total}", audio_file)
|
205 |
|
206 |
+
iface = gr.Interface(
|
207 |
+
fn=chatbot,
|
208 |
+
inputs=[
|
209 |
+
gr.Textbox(lines=2, placeholder="Enter Date or Company Name or Plate Number..."),
|
210 |
+
gr.Textbox(lines=1, placeholder="بحث من تاريخ (dd.mm.yyyy)", label="بحث من تاريخ"),
|
211 |
+
gr.Textbox(lines=1, placeholder="الى تاريخ (dd.mm.yyyy)", label="الى تاريخ"),
|
212 |
+
gr.Checkbox(label="تفعيل الصوت") # Checkbox for enabling voice output
|
213 |
+
],
|
214 |
+
outputs=[
|
215 |
+
gr.Textbox(label="مجموع الدخل اليومي"),
|
216 |
+
gr.Textbox(label="عرض التقارير"),
|
217 |
+
gr.Textbox(label="مجموع الدخل الاسبوعي"),
|
218 |
+
gr.Audio(label="Play Voice") # Audio output for playing the voice
|
219 |
+
],
|
220 |
+
live=False,
|
221 |
+
title="شركه ابناء عرفات",
|
222 |
+
description="بحث حسب اسم الشركه - التاريخ - نمره الشاحنه"
|
223 |
+
)
|
224 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
if __name__ == "__main__":
|
226 |
+
iface.launch()
|
|
|
|
|
|
|
|
|
|