matsuap commited on
Commit
c8065f3
·
verified ·
1 Parent(s): ed7ee89

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. api/mindmaps.py +1 -0
  2. api/websocket_routes.py +51 -11
api/mindmaps.py CHANGED
@@ -76,6 +76,7 @@ async def generate_mindmap(
76
 
77
  # Create initial processing record
78
  file_base = request.file_key.split('/')[-1].rsplit('.', 1)[0] if request.file_key else None
 
79
 
80
  # Priority: 1. File-based name, 2. User Title (if not default 'string'), 3. Default timestamp
81
  if file_base:
 
76
 
77
  # Create initial processing record
78
  file_base = request.file_key.split('/')[-1].rsplit('.', 1)[0] if request.file_key else None
79
+ print(f'file_base: {file_base}')
80
 
81
  # Priority: 1. File-based name, 2. User Title (if not default 'string'), 3. Default timestamp
82
  if file_base:
api/websocket_routes.py CHANGED
@@ -117,6 +117,12 @@ async def unified_generate_ws(
117
 
118
  elif task_type == "mindmap":
119
  await handle_mindmap_task(connection_id, data, current_user, db)
 
 
 
 
 
 
120
 
121
  else:
122
  await manager.send_error(connection_id, f"Unsupported task type: {task_type}")
@@ -146,8 +152,11 @@ async def handle_podcast_task(connection_id: str, data: Dict, current_user: db_m
146
  return
147
  source_id = source.id
148
 
 
 
 
149
  db_podcast = db_models.Podcast(
150
- title=f"Podcast {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}",
151
  user_id=current_user.id,
152
  source_id=source_id,
153
  status="processing"
@@ -249,7 +258,15 @@ async def handle_flashcards_task(connection_id: str, data: Dict, current_user: d
249
  source_id = source.id
250
 
251
  # Create initial processing record
252
- title = data.get("topic") if data.get("topic") else f"Flashcards {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
 
 
 
 
 
 
 
 
253
  db_set = db_models.FlashcardSet(
254
  title=title,
255
  difficulty=data.get("difficulty", "medium"),
@@ -320,7 +337,15 @@ async def handle_quiz_task(connection_id: str, data: Dict, current_user: db_mode
320
  source_id = source.id
321
 
322
  # Create initial processing record
323
- title = data.get("topic") if data.get("topic") else f"Quiz {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
 
 
 
 
 
 
 
 
324
  db_set = db_models.QuizSet(
325
  title=title,
326
  difficulty=data.get("difficulty", "medium"),
@@ -381,8 +406,11 @@ async def handle_video_task(connection_id: str, data: Dict, current_user: db_mod
381
  await manager.send_error(connection_id, "Not authorized to access this file")
382
  return
383
 
 
 
 
384
  db_summary = db_models.VideoSummary(
385
- title=f"Video Summary {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}",
386
  user_id=current_user.id,
387
  source_id=source.id,
388
  status="processing"
@@ -442,8 +470,11 @@ async def handle_report_task(connection_id: str, data: Dict, current_user: db_mo
442
  return
443
  source_id = source.id
444
 
 
 
 
445
  db_report = db_models.Report(
446
- title=f"Report {data.get('format_key', 'custom')} {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}",
447
  format_key=data.get("format_key", "custom"),
448
  user_id=current_user.id,
449
  source_id=source_id,
@@ -466,11 +497,11 @@ async def handle_report_task(connection_id: str, data: Dict, current_user: db_mo
466
  if not content:
467
  raise Exception("AI failed to generate report content")
468
 
469
- title = content.split('\n')[0].replace('#', '').strip()
470
- if not title or len(title) < 3:
471
- title = f"Report {data.get('format_key')}"
472
-
473
- db_report.title = title
474
  db_report.content = content
475
  db_report.status = "completed"
476
  db.commit()
@@ -503,8 +534,17 @@ async def handle_mindmap_task(connection_id: str, data: Dict, current_user: db_m
503
  return
504
  source_id = source.id
505
 
 
 
 
 
 
 
 
 
 
506
  db_mindmap = db_models.MindMap(
507
- title=data.get("title") if data.get("title") else f"Mind Map {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}",
508
  user_id=current_user.id,
509
  source_id=source_id,
510
  status="processing"
 
117
 
118
  elif task_type == "mindmap":
119
  await handle_mindmap_task(connection_id, data, current_user, db)
120
+
121
+ elif task_type == "flashcards":
122
+ await handle_flashcards_task(connection_id, data, current_user, db)
123
+
124
+ elif task_type == "quiz":
125
+ await handle_quiz_task(connection_id, data, current_user, db)
126
 
127
  else:
128
  await manager.send_error(connection_id, f"Unsupported task type: {task_type}")
 
152
  return
153
  source_id = source.id
154
 
155
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
156
+ title = f"Podcast-{file_base}" if file_base else f"Podcast {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
157
+
158
  db_podcast = db_models.Podcast(
159
+ title=title,
160
  user_id=current_user.id,
161
  source_id=source_id,
162
  status="processing"
 
258
  source_id = source.id
259
 
260
  # Create initial processing record
261
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
262
+
263
+ if file_base:
264
+ title = f"Flashcard-{file_base}"
265
+ elif data.get("topic") and data.get("topic") != "string":
266
+ title = data.get("topic")
267
+ else:
268
+ title = f"Flashcards {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
269
+
270
  db_set = db_models.FlashcardSet(
271
  title=title,
272
  difficulty=data.get("difficulty", "medium"),
 
337
  source_id = source.id
338
 
339
  # Create initial processing record
340
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
341
+
342
+ if file_base:
343
+ title = f"Quiz-{file_base}"
344
+ elif data.get("topic") and data.get("topic") != "string":
345
+ title = data.get("topic")
346
+ else:
347
+ title = f"Quiz {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
348
+
349
  db_set = db_models.QuizSet(
350
  title=title,
351
  difficulty=data.get("difficulty", "medium"),
 
406
  await manager.send_error(connection_id, "Not authorized to access this file")
407
  return
408
 
409
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
410
+ title = f"Video Summary {file_base}" if file_base else f"Video Summary {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
411
+
412
  db_summary = db_models.VideoSummary(
413
+ title=title,
414
  user_id=current_user.id,
415
  source_id=source.id,
416
  status="processing"
 
470
  return
471
  source_id = source.id
472
 
473
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
474
+ title = f"Report-{file_base}" if file_base else f"Report {data.get('format_key', 'custom')} {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
475
+
476
  db_report = db_models.Report(
477
+ title=title,
478
  format_key=data.get("format_key", "custom"),
479
  user_id=current_user.id,
480
  source_id=source_id,
 
497
  if not content:
498
  raise Exception("AI failed to generate report content")
499
 
500
+ if not db_report.title or "Report-" not in db_report.title:
501
+ title = content.split('\n')[0].replace('#', '').strip()
502
+ if not title or len(title) < 3:
503
+ title = f"Report {data.get('format_key')}"
504
+ db_report.title = title
505
  db_report.content = content
506
  db_report.status = "completed"
507
  db.commit()
 
534
  return
535
  source_id = source.id
536
 
537
+ file_base = data.get("file_key").split('/')[-1].rsplit('.', 1)[0] if data.get("file_key") else None
538
+
539
+ if file_base:
540
+ title = f"Mind Map-{file_base}"
541
+ elif data.get("title") and data.get("title") != "string":
542
+ title = data.get("title")
543
+ else:
544
+ title = f"Mind Map {datetime.utcnow().strftime('%Y-%m-%d %H:%M')}"
545
+
546
  db_mindmap = db_models.MindMap(
547
+ title=title,
548
  user_id=current_user.id,
549
  source_id=source_id,
550
  status="processing"