Team Ai
Datasetpublic

ysn-rfd/text-dataset-tiny-code-script-py-format

USED of tahamajs/medicine_ds_persian for .parquet file USED of Alijafarixcs2/persian-it-llama2-2k for .parquet file USED of Abirate/english_quotes for .jsonl file NEW FILES (05/12/2025) NEW FILES (12/26/2025) NEW FILES (02/15/2026)

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
3likes1.7kdownloads
fix_data.py79 linesDownload Raw Back to 2
1# fix_data.py
2import json
3import os
4
5BASE_DIR = os.path.dirname(os.path.abspath(__file__))
6DATA_FILE = os.path.join(BASE_DIR, "bot_data.json")
7
8def fix_data_file():
9    """رفع مشکلات فایل داده‌های موجود"""
10    if not os.path.exists(DATA_FILE):
11        print(f"فایل داده در {DATA_FILE} یافت نشد.")
12        return
13    
14    try:
15        with open(DATA_FILE, 'r', encoding='utf-8') as f:
16            data = json.load(f)
17        
18        # رفع مشکل banned_users
19        if 'banned_users' in data and isinstance(data['banned_users'], list):
20            data['banned_users'] = list(set(data['banned_users']))  # حذف duplicates
21        
22        # رفع مشکل groups و members
23        if 'groups' in data:
24            for group_id, group_info in data['groups'].items():
25                # رفع مشکل members
26                if 'members' in group_info:
27                    if isinstance(group_info['members'], list):
28                        # تبدیل list به set و سپس دوباره به list (حذف duplicates)
29                        members_set = set(group_info['members'])
30                        group_info['members'] = list(members_set)
31                    elif isinstance(group_info['members'], set):
32                        # اگر set است، به list تبدیل کن
33                        group_info['members'] = list(group_info['members'])
34                    else:
35                        # اگر نه list است نه set، آن را list خالی کن
36                        group_info['members'] = []
37                
38                # اطمینان از وجود کلیدهای ضروری
39                if 'context' not in group_info:
40                    group_info['context'] = []
41                if 'title' not in group_info:
42                    group_info['title'] = 'Unknown Group'
43                if 'type' not in group_info:
44                    group_info['type'] = 'group'
45        
46        # رفع مشکل users
47        if 'users' in data:
48            for user_id, user_info in data['users'].items():
49                if 'context' not in user_info:
50                    user_info['context'] = []
51        
52        # ذخیره فایل اصلاح شده
53        with open(DATA_FILE, 'w', encoding='utf-8') as f:
54            json.dump(data, f, indent=4, ensure_ascii=False)
55        
56        print(f"فایل داده در {DATA_FILE} با موفقیت اصلاح شد.")
57        
58        # نمایش آمار
59        print("\n📊 آمار فایل اصلاح شده:")
60        print(f"تعداد کاربران: {len(data.get('users', {}))}")
61        print(f"تعداد گروه‌ها: {len(data.get('groups', {}))}")
62        print(f"کاربران مسدود شده: {len(data.get('banned_users', []))}")
63        
64        # بررسی groups
65        groups_with_member_issues = 0
66        for group_id, group_info in data.get('groups', {}).items():
67            if 'members' in group_info and not isinstance(group_info['members'], list):
68                groups_with_member_issues += 1
69        
70        if groups_with_member_issues > 0:
71            print(f"⚠️  {groups_with_member_issues} گروه دارای مشکل در members هستند.")
72        else:
73            print("✅ همه groups به درستی اصلاح شدند.")
74            
75    except Exception as e:
76        print(f"خطا در اصلاح فایل داده: {e}")
77
78if __name__ == "__main__":
79    fix_data_file()