jiarongqiu commited on
Commit
75bc718
·
1 Parent(s): 480d732

add database

Browse files
Files changed (1) hide show
  1. service/database.py +40 -0
service/database.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+ from pathlib import Path
4
+ from huggingface_hub import CommitScheduler
5
+ from datasets import load_dataset
6
+ from util.time import TimeUtil
7
+ from util.schema import Dir
8
+
9
+
10
+ class Database:
11
+
12
+ LOCAL = os.path.join(os.path.dirname(__file__),"..","data")
13
+ USERNAME = "JR818"
14
+ REPO = "Web3"
15
+
16
+ def __init__(self):
17
+ self.scheduler = CommitScheduler(
18
+ repo_id=self.REPO,
19
+ repo_type="dataset",
20
+ folder_path=self.LOCAL,
21
+ token=os.getenv("HF_TOKEN")
22
+ )
23
+
24
+ def load(self,dir:Dir):
25
+ dataset = load_dataset(self.USERNAME+'/'+self.REPO,data_dir=dir.path,ignore_verifications=True,split="train")
26
+ dataset = dataset.with_format("pandas").data.to_pandas()
27
+ return dataset
28
+
29
+ def write(self,data,dir:Dir):
30
+ path = Path(self.LOCAL,dir.path)
31
+ path.mkdir(parents=True, exist_ok=True)
32
+ path = path/f'{TimeUtil.get_date()}.json'
33
+ try:
34
+ data['datetime'] = TimeUtil.get_time()
35
+ data = json.dumps(data)+"\n"
36
+ with self.scheduler.lock:
37
+ with path.open("a") as f:
38
+ f.write(data)
39
+ except Exception as e:
40
+ print(e)