Mati83moni commited on
Commit
c4efd0b
·
verified ·
1 Parent(s): 7799115

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -18
app.py CHANGED
@@ -2,10 +2,10 @@ import os
2
  import json
3
  import uuid
4
  from datetime import datetime, timezone
5
- from pathlib import Path
6
 
7
  import gradio as gr
8
- from huggingface_hub import CommitScheduler
9
 
10
  HF_TOKEN = os.environ.get("HF_TOKEN")
11
  if not HF_TOKEN:
@@ -16,18 +16,7 @@ if not HF_TOKEN:
16
  )
17
 
18
  DATASET_REPO_ID = "Mati83moni/quantization-requests"
19
- LOCAL_DIR = Path("intake_data")
20
- LOCAL_DIR.mkdir(exist_ok=True)
21
- LOCAL_FILE = LOCAL_DIR / "requests.jsonl"
22
-
23
- scheduler = CommitScheduler(
24
- repo_id=DATASET_REPO_ID,
25
- repo_type="dataset",
26
- folder_path=LOCAL_DIR,
27
- path_in_repo="data",
28
- every=2,
29
- token=HF_TOKEN,
30
- )
31
 
32
  VALID_FORMATS = ["GGUF", "AWQ", "EXL3"]
33
 
@@ -48,8 +37,9 @@ def submit_request(model_link: str, quant_format: str, contact_email: str, notes
48
  if "@" not in contact_email or "." not in contact_email.split("@")[-1]:
49
  return gr.update(value="❌ Podaj prawidłowy adres e-mail kontaktowy.", visible=True)
50
 
 
51
  record = {
52
- "id": str(uuid.uuid4()),
53
  "submitted_at_utc": datetime.now(timezone.utc).isoformat(),
54
  "model_link": model_link,
55
  "format": quant_format,
@@ -58,9 +48,21 @@ def submit_request(model_link: str, quant_format: str, contact_email: str, notes
58
  "status": "new",
59
  }
60
 
61
- with scheduler.lock:
62
- with LOCAL_FILE.open("a", encoding="utf-8") as f:
63
- f.write(json.dumps(record, ensure_ascii=False) + "\n")
 
 
 
 
 
 
 
 
 
 
 
 
64
 
65
  return gr.update(
66
  value="✅ Zgłoszenie przyjęte. Odezwę się na podany e-mail w ciągu 24h z wyceną i terminem.",
 
2
  import json
3
  import uuid
4
  from datetime import datetime, timezone
5
+ from io import BytesIO
6
 
7
  import gradio as gr
8
+ from huggingface_hub import HfApi
9
 
10
  HF_TOKEN = os.environ.get("HF_TOKEN")
11
  if not HF_TOKEN:
 
16
  )
17
 
18
  DATASET_REPO_ID = "Mati83moni/quantization-requests"
19
+ api = HfApi(token=HF_TOKEN)
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  VALID_FORMATS = ["GGUF", "AWQ", "EXL3"]
22
 
 
37
  if "@" not in contact_email or "." not in contact_email.split("@")[-1]:
38
  return gr.update(value="❌ Podaj prawidłowy adres e-mail kontaktowy.", visible=True)
39
 
40
+ record_id = str(uuid.uuid4())
41
  record = {
42
+ "id": record_id,
43
  "submitted_at_utc": datetime.now(timezone.utc).isoformat(),
44
  "model_link": model_link,
45
  "format": quant_format,
 
48
  "status": "new",
49
  }
50
 
51
+ payload = json.dumps(record, ensure_ascii=False, indent=2).encode("utf-8")
52
+
53
+ try:
54
+ api.upload_file(
55
+ path_or_fileobj=BytesIO(payload),
56
+ path_in_repo=f"data/{record_id}.json",
57
+ repo_id=DATASET_REPO_ID,
58
+ repo_type="dataset",
59
+ commit_message=f"New request from {contact_email}",
60
+ )
61
+ except Exception as e:
62
+ return gr.update(
63
+ value=f"❌ Błąd zapisu zgłoszenia, spróbuj ponownie za chwilę. ({type(e).__name__})",
64
+ visible=True,
65
+ )
66
 
67
  return gr.update(
68
  value="✅ Zgłoszenie przyjęte. Odezwę się na podany e-mail w ciągu 24h z wyceną i terminem.",