MZ14E commited on
Commit
924bed0
·
verified ·
1 Parent(s): ad18365

Update database_manager.py

Browse files
Files changed (1) hide show
  1. database_manager.py +50 -43
database_manager.py CHANGED
@@ -1,44 +1,51 @@
1
- import pandas as pd
2
- from huggingface_hub import HfApi, hf_hub_download
3
- import os
4
- from datetime import datetime
5
-
6
- # إعدادات الاتصال
7
- DATASET_ID = "اسم_حسابك/epssar-database" # غير هذا لاسم حسابك
8
- FILE_NAME = "security_logs.csv"
9
- TOKEN = os.getenv("HF_TOKEN")
10
-
11
- def save_to_database(tweet_text, analysis_result, risk_level):
12
- """حفظ نتائج التحليل في قاعدة البيانات على هقنق فيس"""
13
- try:
14
- # 1. محاولة تحميل الملف الحالي إذا كان موجوداً
15
- try:
16
- file_path = hf_hub_download(repo_id=DATASET_ID, filename=FILE_NAME, repo_type="dataset", token=TOKEN)
17
- df = pd.read_csv(file_path)
18
- except:
19
- # إذا كان أول مرة، ننشئ جدول جديد
20
- df = pd.DataFrame(columns=["date", "tweet", "analysis", "risk_level"])
21
-
22
- # 2. إضافة البيانات الجديدة
23
- new_entry = {
24
- "date": datetime.now().strftime("%Y-%m-%d %H:%M"),
25
- "tweet": tweet_text,
26
- "analysis": analysis_result,
27
- "risk_level": risk_level
28
- }
29
- df = pd.concat([df, pd.DataFrame([new_entry])], ignore_index=True)
30
-
31
- # 3. حفظ الملف محلياً ثم رفعه للهقنق فيس
32
- df.to_csv(FILE_NAME, index=False)
33
- api = HfApi()
34
- api.upload_file(
35
- path_or_fileobj=FILE_NAME,
36
- path_in_repo=FILE_NAME,
37
- repo_id=DATASET_ID,
38
- repo_type="dataset",
39
- token=TOKEN
40
- )
41
- return True
42
- except Exception as e:
43
- print(f"خطأ في قاعدة البيانات: {e}")
 
 
 
 
 
 
 
44
  return False
 
1
+ import pandas as pd
2
+ from huggingface_hub import HfApi, hf_hub_download
3
+ import os
4
+ from datetime import datetime
5
+
6
+ # إعدادات الاتصال (تأكد من إنشاء Dataset بهذا الاسم في حسابك أولاً)
7
+ DATASET_ID = "MZ14E/epssar-database"
8
+ FILE_NAME = "security_logs.csv"
9
+ LOCAL_PATH = f"/tmp/{FILE_NAME}" # الحفظ في المجلد المؤقت للسيرفر
10
+ TOKEN = os.getenv("HF_TOKEN")
11
+
12
+ def save_to_database(tweet_text, analysis_result, risk_level):
13
+ """حفظ نتائج التحليل في قاعدة البيانات على هقنق فيس"""
14
+ try:
15
+ # 1. محاولة تحميل الملف الحالي إذا كان موجوداً
16
+ try:
17
+ file_path = hf_hub_download(
18
+ repo_id=DATASET_ID,
19
+ filename=FILE_NAME,
20
+ repo_type="dataset",
21
+ token=TOKEN
22
+ )
23
+ df = pd.read_csv(file_path)
24
+ except Exception:
25
+ # إذا كان أول مرة أو الملف غير موجود، ننشئ جدول جديد
26
+ df = pd.DataFrame(columns=["date", "tweet", "analysis", "risk_level"])
27
+
28
+ # 2. إضافة البيانات الجديدة
29
+ new_entry = {
30
+ "date": datetime.now().strftime("%Y-%m-%d %H:%M"),
31
+ "tweet": tweet_text,
32
+ "analysis": analysis_result,
33
+ "risk_level": risk_level
34
+ }
35
+ df = pd.concat([df, pd.DataFrame([new_entry])], ignore_index=True)
36
+
37
+ # 3. حفظ الملف محلياً في المسار المؤقت ثم رفعه
38
+ df.to_csv(LOCAL_PATH, index=False)
39
+
40
+ api = HfApi()
41
+ api.upload_file(
42
+ path_or_fileobj=LOCAL_PATH,
43
+ path_in_repo=FILE_NAME,
44
+ repo_id=DATASET_ID,
45
+ repo_type="dataset",
46
+ token=TOKEN
47
+ )
48
+ return True
49
+ except Exception as e:
50
+ print(f"⚠️ خطأ في قاعدة البيانات: {e}")
51
  return False