CodeXDevloper commited on
Commit
ad66f84
·
verified ·
1 Parent(s): 10f6053

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -8
app.py CHANGED
@@ -1,8 +1,9 @@
1
  from fastapi import FastAPI, Query
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from datasets import load_dataset
 
4
 
5
- app = FastAPI()
6
 
7
  app.add_middleware(
8
  CORSMiddleware,
@@ -11,16 +12,61 @@ app.add_middleware(
11
  allow_headers=["*"],
12
  )
13
 
 
 
 
 
14
  DATASET = "CodeXDevloper/MergedTgDataset"
15
 
16
  @app.get("/")
17
  def root():
18
- return {"status": "running", "usage": "/search?uid=385167100"}
 
 
 
 
19
 
20
  @app.get("/search")
21
- def search_uid(uid: str = Query(...)):
22
- ds = load_dataset(DATASET, split="train", streaming=True)
23
- for row in ds:
24
- if uid == str(row.get("user_id", "")):
25
- return {"found": True, "uid": uid, "data": row}
26
- return {"found": False, "uid": uid}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from fastapi import FastAPI, Query
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from datasets import load_dataset
4
+ import os
5
 
6
+ app = FastAPI(title="Telegram UID Search API")
7
 
8
  app.add_middleware(
9
  CORSMiddleware,
 
12
  allow_headers=["*"],
13
  )
14
 
15
+ # Cache directory (Docker mein writable jagah)
16
+ os.environ["HF_HOME"] = "/tmp/hf"
17
+ os.environ["HF_DATASETS_CACHE"] = "/tmp/hf/datasets"
18
+
19
  DATASET = "CodeXDevloper/MergedTgDataset"
20
 
21
  @app.get("/")
22
  def root():
23
+ return {
24
+ "status": "running",
25
+ "dataset": DATASET,
26
+ "usage": "/search?uid=385167100"
27
+ }
28
 
29
  @app.get("/search")
30
+ def search_uid(uid: str = Query(..., description="Telegram UID")):
31
+ """Poore dataset mein UID dhoondho"""
32
+ try:
33
+ ds = load_dataset(DATASET, split="train", streaming=True)
34
+
35
+ scanned = 0
36
+ max_scan = 5000000 # 50 lakh rows tak
37
+
38
+ for row in ds:
39
+ scanned += 1
40
+
41
+ # user_id match karo
42
+ if uid == str(row.get("user_id", "")).strip():
43
+ return {
44
+ "found": True,
45
+ "uid": uid,
46
+ "scanned": scanned,
47
+ "data": {
48
+ "user_id": row.get("user_id"),
49
+ "username": row.get("username"),
50
+ "first_name": row.get("first_name"),
51
+ "last_name": row.get("last_name"),
52
+ "phone": row.get("phone"),
53
+ "email": row.get("email"),
54
+ "status": row.get("status"),
55
+ "linked_id": row.get("linked_id"),
56
+ "linked_name": row.get("linked_name"),
57
+ "linked_handle": row.get("linked_handle"),
58
+ }
59
+ }
60
+
61
+ if scanned >= max_scan:
62
+ break
63
+
64
+ return {
65
+ "found": False,
66
+ "uid": uid,
67
+ "scanned": scanned,
68
+ "message": f"UID '{uid}' nahi mila ({scanned} rows scan kiye)"
69
+ }
70
+
71
+ except Exception as e:
72
+ return {"error": str(e), "uid": uid}