Watchhrr commited on
Commit
e8712c2
Β·
verified Β·
1 Parent(s): 4017e26

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -47
app.py CHANGED
@@ -8,61 +8,60 @@ TOKEN = os.environ.get("HF_TOKEN")
8
  PASS = "aAsHiSh_Cyb3r_H4CK$=666=DUmp*&~"
9
  SOURCE_REPO = "Watchhrr/HITECH_DB"
10
  TARGET_REPO = "Watchhrr/HITECH_MASTER_DB"
11
- DB_NAME = "hitech_master.db"
12
 
13
  api = HfApi(token=TOKEN)
14
- con = duckdb.connect(DB_NAME)
15
 
16
- # Table setup (Mobile, ID, Name, Address, State)
17
- con.execute("CREATE TABLE IF NOT EXISTS master_data (mobile VARCHAR, id VARCHAR, name VARCHAR, address VARCHAR, state VARCHAR)")
 
 
18
 
19
- print("πŸš€ STREAMING PROCESSOR STARTED...")
20
-
21
- # Ek-ek part process karenge taaki storage na bhare
22
- for i in range(1, 37):
23
- part = f"Hi-Tek-DB.zip.{str(i).zfill(3)}"
24
- print(f"\nπŸ“₯ [{i}/36] Processing {part}...")
25
-
26
- try:
27
- # 1. Download only ONE part
28
- file_path = hf_hub_download(repo_id=SOURCE_REPO, filename=part, repo_type="dataset", token=TOKEN, local_dir=".")
29
-
30
- # 2. Extract specifically this part (7z can handle single parts of a split if they are handled correctly)
31
- # Hum -p password use karenge
32
- print(f"⚑ Extracting {part}...")
33
- os.system(f"7z e {part} -p'{PASS}' -y -o./temp_data")
34
 
35
- # 3. Inject CSV/TXT files from this part
36
- if os.path.exists("./temp_data"):
37
- files = os.listdir("./temp_data")
38
- for f in files:
39
- print(f"πŸ’‰ Injecting {f}...")
40
- con.execute(f"INSERT INTO master_data SELECT * FROM read_csv_auto('./temp_data/{f}', ignore_errors=true)")
41
-
42
- # 4. CLEANUP IMMEDIATELY (Very important for storage)
43
- os.system("rm -rf ./temp_data")
 
 
 
44
 
45
- os.remove(part) # Original part delete karo
46
- print(f"βœ… Part {i} Cleaned up.")
 
47
 
48
- # Backup upload every 5 parts
49
- if i % 5 == 0:
50
- print("☁️ Syncing partial DB to Hugging Face...")
51
- api.upload_file(path_or_fileobj=DB_NAME, path_in_repo=DB_NAME, repo_id=TARGET_REPO, repo_type="dataset")
 
 
 
52
 
53
- except Exception as e:
54
- print(f"🚨 Error in part {i}: {e}")
 
 
 
55
 
56
- # Final Indexing (Search speed badhane ke liye)
57
- print("\nπŸ“Œ Creating Turbo Indexes...")
58
- con.execute("CREATE INDEX IF NOT EXISTS idx_mobile ON master_data (mobile)")
59
- con.commit()
60
 
61
- # Final Upload
62
- print("☁️ Final Uploading...")
63
- api.upload_file(path_or_fileobj=DB_NAME, path_in_repo=DB_NAME, repo_id=TARGET_REPO, repo_type="dataset")
 
 
 
64
 
65
- print("🏁 MISSION COMPLETE!")
66
- while True:
67
- time.sleep(3600)
68
-
 
8
  PASS = "aAsHiSh_Cyb3r_H4CK$=666=DUmp*&~"
9
  SOURCE_REPO = "Watchhrr/HITECH_DB"
10
  TARGET_REPO = "Watchhrr/HITECH_MASTER_DB"
11
+ MASTER_DB = "HITECH_FULL_MASTER.db"
12
 
13
  api = HfApi(token=TOKEN)
 
14
 
15
+ def process_and_merge():
16
+ # 1. Main connection jo sabko jodega
17
+ con = duckdb.connect(MASTER_DB)
18
+ con.execute("CREATE TABLE IF NOT EXISTS master_data (mobile VARCHAR, id VARCHAR, name VARCHAR, address VARCHAR, state VARCHAR)")
19
 
20
+ # 36 files ko 6-6 ke groups mein process karenge
21
+ for start in range(1, 37, 6):
22
+ end = min(start + 5, 36)
23
+ print(f"\nπŸš€ Processing Range: {start} to {end}")
 
 
 
 
 
 
 
 
 
 
 
24
 
25
+ # A. Download
26
+ current_parts = []
27
+ for i in range(start, end + 1):
28
+ part_name = f"Hi-Tek-DB.zip.{str(i).zfill(3)}"
29
+ print(f"πŸ“₯ Downloading {part_name}...")
30
+ hf_hub_download(repo_id=SOURCE_REPO, filename=part_name, repo_type="dataset", token=TOKEN, local_dir=".")
31
+ current_parts.append(part_name)
32
+
33
+ # B. Merge Splits & Extract
34
+ print("πŸ”— Merging splits...")
35
+ os.system(f"cat Hi-Tek-DB.zip.* > temp_chunk.zip")
36
+ os.system("rm Hi-Tek-DB.zip.*") # Turant delete
37
 
38
+ print("⚑ Extracting with Password...")
39
+ os.system(f"7z e temp_chunk.zip -p'{PASS}' -y -o./temp_data")
40
+ os.remove("temp_chunk.zip")
41
 
42
+ # C. Inject into Master Table
43
+ print("πŸ’‰ Injecting into Master Table...")
44
+ con.execute("INSERT INTO master_data SELECT * FROM read_csv_auto('./temp_data/*.csv', ignore_errors=true)")
45
+
46
+ # D. Cleanup
47
+ os.system("rm -rf ./temp_data")
48
+ print(f"βœ… Range {start}-{end} merged into Master.")
49
 
50
+ # 2. Final Indexing (Search fast karne ke liye)
51
+ print("\nπŸ“Œ Creating Turbo Search Index...")
52
+ con.execute("CREATE INDEX idx_mobile ON master_data (mobile)")
53
+ con.commit()
54
+ con.close()
55
 
56
+ # 3. Final Upload
57
+ print("☁️ Uploading FULL MASTER DB to Hugging Face...")
58
+ api.upload_file(path_or_fileobj=MASTER_DB, path_in_repo=MASTER_DB, repo_id=TARGET_REPO, repo_type="dataset")
 
59
 
60
+ # --- EXECUTION ---
61
+ try:
62
+ process_and_merge()
63
+ print("🏁 MISSION COMPLETE! Ek hi master file ban gayi.")
64
+ except Exception as e:
65
+ print(f"🚨 Final Error: {e}")
66
 
67
+ while True: time.sleep(3600)