-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
111 lines (106 loc) · 3.23 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
from datetime import datetime
import random
from pyautogui import press
# import keyboard
import time
class generator:
def __init__ (self):
print(f'program started \t {datetime.now()}')
self.afrad = self.reader('afrad.txt')
self.alghab = self.reader('alghab.txt')
self.afal = self.reader('afal.txt')
self.ashya = self.reader('ashya.txt')
# select target
targets = ["تو","شما","او","آنها"]
for ind , c in enumerate(targets):
print(f"[{ind}] - {c}")
self.target = targets[int(input("target : "))]
print(f"target : {self.target}")
nor = int(input("number of runs : "))
time.sleep(3)
for i in range(nor):
self.asleep()
word = self.mixer()
print(word)
word = self.translater(word)
for c in word:
press(c)
press("enter")
print(f'program ended \t {datetime.now()}')
def translater(self,word):
linux_persian_layout_dict = {
"ض" : "q" ,
"ص" : "w" ,
"ث" : "e" ,
"ق" : "r" ,
"ف" : "t" ,
"غ" : "y" ,
"ع" : "u" ,
"ه" : "i" ,
"خ" : "o" ,
"ح" : "p" ,
"ج" : "[" ,
"چ" : "]" ,
"ش" : "a" ,
"س" : "s" ,
"ی" : "d" ,
"ب" : "f" ,
"ل" : "g" ,
"ا" : "h" ,
"ت" : "j" ,
"ن" : "k" ,
"م" : "l" ,
"ک" : ";" ,
"گ" : "'" ,
"ظ" : "z" ,
"ط" : "x" ,
"ز" : "c" ,
"ر" : "v" ,
"ذ" : "b" ,
"د" : "n" ,
"پ" : "m" ,
"و" : "," ,
}
for c in word:
if c in linux_persian_layout_dict:
word = word.replace(c,linux_persian_layout_dict[c])
return word
def asleep(self):
amount = random.randint(30,130)/100.0
print(f"sleeping for {amount} seconds")
time.sleep(amount)
def mixer(self):
laghab = random.choice(self.alghab)
fard = random.choice(self.afrad)
shey = random.choice(self.ashya)
fel = random.choice(self.afal)
if self.target == "تو":
zamir = "ت"
elif self.target == "شما":
zamir = "تون"
elif self.target == "او":
zamir = "ش"
elif self.target == "آنها":
zamir = "شون"
else:
return 1
def corrector(word):
if word.strip() == "جند":
return f"جنده"
else :
return word
types = [
f"{shey}م تو {fard} {laghab}{zamir}",
f"{fard}{zamir} رو {fel}م",
f"{fard}{zamir} {corrector(laghab)} است"
]
result = random.choice(types).replace("\n", '')
return result
def reader(self,filename):
file = []
with open(filename , "r") as f:
for word in f.readlines() :
file.append(word)
return file
if __name__ == "__main__":
g = generator()