mhammad commited on
Commit
52b6b9e
·
verified ·
1 Parent(s): 8af3751

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. README.md +1 -1
  2. app.py +21 -44
README.md CHANGED
@@ -2,5 +2,5 @@
2
  title: Khanfar
3
  app_file: app.py
4
  sdk: gradio
5
- sdk_version: 5.24.0
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
- try:
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
- # Using blocks for more compatibility
217
- def create_interface():
218
- with gr.Blocks(title="شركه ابناء عرفات") as interface:
219
- gr.Markdown("# شركه ابناء عرفات")
220
- gr.Markdown("بحث حسب اسم الشركه - التاريخ - نمره الشاحنه")
221
-
222
- input_text = gr.Textbox(lines=2, placeholder="Enter Date or Company Name or Plate Number...")
223
- start_date = gr.Textbox(lines=1, placeholder="بحث من تاريخ (dd.mm.yyyy)", label="بحث من تاريخ")
224
- end_date = gr.Textbox(lines=1, placeholder="الى تاريخ (dd.mm.yyyy)", label="الى تاريخ")
225
- enable_voice = gr.Checkbox(label="تفعيل الصوت")
226
-
227
- submit_btn = gr.Button("بحث")
228
-
229
- daily_income = gr.Textbox(label="مجموع الدخل اليومي")
230
- reports = gr.Textbox(label="عرض التقارير")
231
- weekly_income = gr.Textbox(label="مجموع الدخل الاسبوعي")
232
- voice_output = gr.Audio(label="Play Voice")
233
-
234
- submit_btn.click(
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
- # Load data at startup
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()