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)
31.6k
1from PIL import Image, ImageDraw, ImageFont
2import math
3
4from PIL import Image, ImageDraw, ImageFont
5import math
6import qrcode
7from PIL import Image, ImageDraw, ImageFont
8import hashlib
9
10# ===== Certificate Info =====
11name = "Yasin"
12user_id = "YSNRFD"
13membership_date = "April 1, 2023"
14issued_date = "June 28, 2025"
15certificate_id = "OPENAI-YSN-APR2023-CERT1001"
16signed_by = "ChatGPT-4o"
17model_id = "GPT4O-REP-TRUST-2025"
18issuer = "OpenAI, Inc."
19
20# Prepare data string for digital signature
21data_string = f"""
22Name: {name}
23User ID: {user_id}
24Membership Date: {membership_date}
25Issued Date: {issued_date}
26Certificate ID: {certificate_id}
27Signed By: {signed_by}
28Model ID: {model_id}
29Issuer: {issuer}
30"""
31
32# Generate SHA-256 digital signature
33digital_signature = hashlib.sha256(data_string.encode('utf-8')).hexdigest()
34verification_code = f"VER-{digital_signature[:8].upper()}-{certificate_id[-4:]}"
35
36# Create QR code from digital signature
37qr = qrcode.QRCode(box_size=7, border=3)
38qr.add_data(digital_signature)
39qr.make(fit=True)
40qr_img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")
41
42# Load fonts with fallback
43try:
44 font_title = ImageFont.truetype("arialbd.ttf", 30)
45 font_header = ImageFont.truetype("arialbd.ttf", 18)
46 font_text = ImageFont.truetype("arial.ttf", 16)
47 font_small = ImageFont.truetype("arial.ttf", 14)
48except:
49 font_title = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 30)
50 font_header = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 18)
51 font_text = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 16)
52 font_small = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
53
54# Create certificate canvas
55width, height = 850, 520
56certificate = Image.new("RGB", (width, height), "#fffefa")
57draw = ImageDraw.Draw(certificate)
58
59# Background rectangle and divider line
60draw.rectangle([(15, 15), (width-15, height-15)], outline="#555555", width=3)
61draw.line([(20, 80), (width-20, 80)], fill="#999999", width=2)
62
63# Title text
64draw.text((40, 30), "OpenAI – Certificate of Membership", font=font_title, fill="#222222")
65
66# Certificate info lines
67info_lines = [
68 f"Name: {name}",
69 f"User ID: {user_id}",
70 f"Membership Date: {membership_date}",
71 f"Issued Date: {issued_date}",
72 f"Certificate ID: {certificate_id}",
73 f"Signed By: {signed_by}",
74 f"Model ID: {model_id}",
75 f"Issuer: {issuer}",
76]
77
78y_text = 100
79for line in info_lines:
80 draw.text((40, y_text), line, font=font_text, fill="#333333")
81 y_text += 30
82
83# Verification code
84draw.text((40, y_text + 10), f"Verification Code: {verification_code}", font=font_header, fill="#444444")
85
86# Digital signature label and text
87draw.text((40, y_text + 50), "SHA-256 Digital Signature:", font=font_header, fill="#222222")
88
89sig_1 = digital_signature[:len(digital_signature)//2]
90sig_2 = digital_signature[len(digital_signature)//2:]
91draw.text((40, y_text + 80), sig_1, font=font_small, fill="#555555")
92draw.text((40, y_text + 100), sig_2, font=font_small, fill="#555555")
93
94# Paste QR code on bottom right
95qr_size = 150
96qr_position = (width - qr_size - 40, height - qr_size - 40)
97qr_img = qr_img.resize((qr_size, qr_size), Image.Resampling.LANCZOS)
98certificate.paste(qr_img, qr_position, qr_img)
99
100# Draw a professional OpenAI seal
101seal_diameter = 140
102seal = Image.new("RGBA", (seal_diameter, seal_diameter), (255, 255, 255, 0))
103seal_draw = ImageDraw.Draw(seal)
104
105# Simple radial gradient circle for seal
106for i in range(seal_diameter//2, 0, -1):
107 color_val = 40 + int((seal_diameter//2 - i) * 1.5)
108 color = (color_val, color_val, color_val, 255)
109 seal_draw.ellipse(
110 [seal_diameter//2 - i, seal_diameter//2 - i, seal_diameter//2 + i, seal_diameter//2 + i],
111 fill=color
112 )
113
114# Seal text with shadow
115# Seal text with shadow
116text = "OpenAI"
117bbox = seal_draw.textbbox((0, 0), text, font=font_header)
118w = bbox[2] - bbox[0]
119h = bbox[3] - bbox[1]
120text_pos = ((seal_diameter - w)//2, (seal_diameter - h)//2)
121
122# سایه
123seal_draw.text((text_pos[0]+2, text_pos[1]+2), text, font=font_header, fill=(20, 20, 20, 255))
124# متن اصلی
125seal_draw.text(text_pos, text, font=font_header, fill=(240, 240, 240, 255))
126
127
128# Paste seal on top right
129certificate.paste(seal, (width - seal_diameter - 40, 40), seal)
130
131# Save certificate image
132certificate.save("openai_certificate_yasin_en_2.png")
133print("✅ Certificate image created: openai_certificate_yasin_en.png")
134
135
136# Draw a professional OpenAI seal (more realistic)
137seal_diameter = 160
138seal = Image.new("RGBA", (seal_diameter, seal_diameter), (255, 255, 255, 0))
139seal_draw = ImageDraw.Draw(seal)
140
141center = seal_diameter // 2
142
143# Outer ring (thick)
144seal_draw.ellipse(
145 [(5, 5), (seal_diameter - 5, seal_diameter - 5)],
146 outline=(0, 51, 102, 255), width=8
147)
148
149# Inner ring (thin)
150seal_draw.ellipse(
151 [(20, 20), (seal_diameter - 20, seal_diameter - 20)],
152 outline=(0, 102, 204, 255), width=3
153)
154
155# Radial lines (like sun rays)
156num_rays = 24
157for i in range(num_rays):
158 angle = (360 / num_rays) * i
159 # Calculate start and end points of each ray
160 start_x = center + int( (seal_diameter//2 - 20) * math.cos(math.radians(angle)) )
161 start_y = center + int( (seal_diameter//2 - 20) * math.sin(math.radians(angle)) )
162 end_x = center + int( (seal_diameter//2 - 5) * math.cos(math.radians(angle)) )
163 end_y = center + int( (seal_diameter//2 - 5) * math.sin(math.radians(angle)) )
164 seal_draw.line([(start_x, start_y), (end_x, end_y)], fill=(0, 51, 102, 180), width=2)
165
166# Text around the circle
167import math
168
169seal_text = "OFFICIAL SEAL OF OPENAI"
170font_seal = font_header # از فونت اصلی استفاده کن یا فونت مناسب دیگه
171radius_text = seal_diameter // 2 - 30
172
173for i, char in enumerate(seal_text):
174 angle = 180 + (i * (360 / len(seal_text))) # چرخش متن دور دایره
175 x = center + int(radius_text * math.cos(math.radians(angle)))
176 y = center + int(radius_text * math.sin(math.radians(angle)))
177 seal_draw.text((x-7, y-7), char, font=font_seal, fill=(0, 51, 102, 255))
178
179# Center text (Organization Name)
180center_text = "OpenAI"
181bbox = seal_draw.textbbox((0, 0), center_text, font=font_title)
182w = bbox[2] - bbox[0]
183h = bbox[3] - bbox[1]
184seal_draw.text(((seal_diameter - w)//2, (seal_diameter - h)//2), center_text, font=font_title, fill=(0, 51, 102, 255))
185
186# Simulated signature below center text
187signature_text = "Digitally Signed"
188sig_font = font_small
189sig_bbox = seal_draw.textbbox((0,0), signature_text, font=sig_font)
190sw = sig_bbox[2] - sig_bbox[0]
191sh = sig_bbox[3] - sig_bbox[1]
192seal_draw.text(((seal_diameter - sw)//2, (seal_diameter + h)//2 + 5), signature_text, font=sig_font, fill=(0, 51, 102, 180))
193
194# Paste seal on top right
195certificate.paste(seal, (width - seal_diameter - 40, 40), seal)
196
197
198# Load OpenAI logo (transparent PNG)
199try:
200 logo = Image.open("openai_seal.png").convert("RGBA")
201except FileNotFoundError:
202 print("⚠️ فایل لوگوی openai_logo.png پیدا نشد! لطفا لوگوی مناسب کنار اسکریپت قرار دهید.")
203 logo = None
204
205# Draw a professional OpenAI seal with logo inside
206seal_diameter = 160
207seal = Image.new("RGBA", (seal_diameter, seal_diameter), (255, 255, 255, 0))
208seal_draw = ImageDraw.Draw(seal)
209
210center = seal_diameter // 2
211
212# Outer thick ring
213seal_draw.ellipse(
214 [(5, 5), (seal_diameter - 5, seal_diameter - 5)],
215 outline=(0, 51, 102, 255), width=8
216)
217
218# Inner thin ring
219seal_draw.ellipse(
220 [(20, 20), (seal_diameter - 20, seal_diameter - 20)],
221 outline=(0, 102, 204, 255), width=3
222)
223
224# Add logo at center if loaded
225if logo:
226 # Resize logo to fit inside inner circle
227 max_logo_size = seal_diameter - 60
228 logo = logo.resize((max_logo_size, max_logo_size), Image.Resampling.LANCZOS)
229 logo_pos = (center - max_logo_size // 2, center - max_logo_size // 2)
230 seal.paste(logo, logo_pos, logo) # Use logo as mask for transparency
231
232# Optionally add text around seal (like قبلی) یا حذفش کن
233
234# Paste seal on top right
235certificate.paste(seal, (width - seal_diameter - 40, 40), seal)
236 