Skip to content

Commit 6acaddc

Browse files
committed
Updated locale.py
1 parent f1e40e8 commit 6acaddc

1 file changed

Lines changed: 136 additions & 59 deletions

File tree

py/locale.py

Lines changed: 136 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,45 @@
1-
#---------------------------------------------------------------
1+
#!/usr/bin/python
2+
# -*- coding: utf-8 -*-
3+
4+
# --------------------------------------------------------------
25
# >>> TABLE OF CONTENTS:
3-
#---------------------------------------------------------------
6+
# --------------------------------------------------------------
47
# 1.0 Import modules
58
# 2.0 Lower camel case
69
# 3.0 Get list of files
710
# 4.0 Add item
811
# 5.0 Remove item
912
# 6.0 Decode
10-
# 7.0 Initialization
11-
#---------------------------------------------------------------
13+
# 7.0 Add locales
14+
# 8.0 Initialization
15+
# --------------------------------------------------------------
1216

13-
#---------------------------------------------------------------
17+
# --------------------------------------------------------------
1418
# 1.0 IMPORT MODULES
15-
#---------------------------------------------------------------
19+
# --------------------------------------------------------------
1620

21+
import io
1722
import json
1823
import os
1924
import pathlib
2025
import re
26+
import sys
2127

2228

23-
#---------------------------------------------------------------
29+
# --------------------------------------------------------------
2430
# 2.0 LOWER CAMEL CASE
25-
#---------------------------------------------------------------
31+
# --------------------------------------------------------------
2632

2733
def lowerCamelCase(string):
28-
string = re.sub(r"(-|_)+", " ", string).title()
29-
string = re.sub(r"[^a-zA-Z0-9]", "", string)
30-
34+
string = re.sub(r"(-|_)+", ' ', string).title()
35+
string = re.sub(r"[^a-zA-Z0-9]", '', string)
36+
3137
return string[0].lower() + string[1:]
3238

3339

34-
#---------------------------------------------------------------
40+
# --------------------------------------------------------------
3541
# 3.0 GET LIST OF FILES
36-
#---------------------------------------------------------------
42+
# --------------------------------------------------------------
3743

3844
def getListOfFiles(dirName):
3945
allFiles = list()
@@ -53,79 +59,150 @@ def getListOfFiles(dirName):
5359
return allFiles
5460

5561

56-
#---------------------------------------------------------------
62+
# --------------------------------------------------------------
5763
# 4.0 ADD ITEM
58-
#---------------------------------------------------------------
64+
# --------------------------------------------------------------
5965

6066
def addItem(allFiles):
61-
message = input("Enter your message: ")
67+
message = input('Enter your message: ')
6268
camelized_message = lowerCamelCase(message)
63-
69+
6470
for keyFile in allFiles:
65-
with open(keyFile, "r+") as json_file:
71+
with open(keyFile, 'r+') as json_file:
6672
data = json.load(json_file)
67-
68-
if ((camelized_message in data) == False) :
69-
data[camelized_message] = {
70-
"message": message
71-
}
72-
73+
74+
if (camelized_message in data) == False:
75+
data[camelized_message] = {'message': message}
76+
7377
json_file.seek(0)
74-
json.dump(data, json_file, ensure_ascii=False, indent=4, sort_keys=True)
78+
json.dump(data, json_file, ensure_ascii=False, indent=4,
79+
sort_keys=True)
7580
json_file.truncate()
7681

7782

78-
#---------------------------------------------------------------
83+
# --------------------------------------------------------------
7984
# 5.0 REMOVE ITEM
80-
#---------------------------------------------------------------
85+
# --------------------------------------------------------------
8186

8287
def removeItem(allFiles):
83-
key = input("Enter your key (lowerCamelCase): ")
84-
88+
key = input('Enter your key (lowerCamelCase): ')
89+
8590
for keyFile in allFiles:
86-
with open(keyFile, "r+") as json_file:
91+
with open(keyFile, 'r+') as json_file:
8792
data = json.load(json_file)
88-
93+
8994
if data[key]:
9095
del data[key]
91-
96+
9297
json_file.seek(0)
93-
json.dump(data, json_file, ensure_ascii=False, indent=4, sort_keys=True)
98+
json.dump(data, json_file, ensure_ascii=False, indent=4,
99+
sort_keys=True)
94100
json_file.truncate()
95101

96102

97-
#---------------------------------------------------------------
103+
# --------------------------------------------------------------
98104
# 6.0 DECODE
99-
#---------------------------------------------------------------
105+
# --------------------------------------------------------------
100106

101107
def decodeCharacters(allFiles):
102108
for keyFile in allFiles:
103-
with open(keyFile, "r+") as json_file:
109+
with open(keyFile, 'r+') as json_file:
104110
data = json.load(json_file)
105-
111+
106112
json_file.seek(0)
107-
json.dump(data, json_file, ensure_ascii=False, indent=4, sort_keys=True)
113+
json.dump(data, json_file, ensure_ascii=False, indent=4,
114+
sort_keys=True)
108115
json_file.truncate()
109116

110117

111-
#---------------------------------------------------------------
112-
# 7.0 INITIALIZATION
113-
#---------------------------------------------------------------
114-
115-
allFiles = getListOfFiles("../_locales/")
116-
117-
operation = input("""
118-
--------------------------------
119-
Add item: 1
120-
Remove item: 2
121-
Decode: 3
122-
--------------------------------
123-
124-
Enter number: """)
125-
126-
if operation == "1":
127-
addItem(allFiles)
128-
elif operation == "2" :
129-
removeItem(allFiles)
130-
elif operation == "3" :
131-
decodeCharacters(allFiles)
118+
# --------------------------------------------------------------
119+
# 7.0 ADD LOCALES
120+
# --------------------------------------------------------------
121+
122+
def addLocales():
123+
locales = [
124+
'am',
125+
'ar',
126+
'bg',
127+
'bn',
128+
'ca',
129+
'cs',
130+
'da',
131+
'de',
132+
'el',
133+
'en',
134+
'es',
135+
'et',
136+
'fa',
137+
'fi',
138+
'fil',
139+
'fr',
140+
'gu',
141+
'he',
142+
'hi',
143+
'hin',
144+
'hr',
145+
'hu',
146+
'id',
147+
'it',
148+
'ja',
149+
'kn',
150+
'ko',
151+
'lt',
152+
'lv',
153+
'ml',
154+
'mr',
155+
'ms',
156+
'nb_NO',
157+
'nl',
158+
'no',
159+
'pl',
160+
'pt_BR',
161+
'pt_PT',
162+
'ro',
163+
'ru',
164+
'sk',
165+
'sl',
166+
'sr',
167+
'sv',
168+
'sw',
169+
'ta',
170+
'te',
171+
'th',
172+
'tr',
173+
'uk',
174+
'vi',
175+
'zh_CN',
176+
'zh_TW'
177+
]
178+
179+
for locale in locales:
180+
if not os.path.exists('../_locales/' + locale):
181+
pathlib.Path('../_locales/' + locale).mkdir(parents=True,
182+
exist_ok=True)
183+
184+
file = io.open('../_locales/' + locale + '/messages.json',
185+
mode='w', encoding='utf-8')
186+
187+
file.write('{}')
188+
189+
file.close()
190+
191+
print(locale)
192+
193+
194+
# --------------------------------------------------------------
195+
# 8.0 INITIALIZATION
196+
# --------------------------------------------------------------
197+
198+
allFiles = getListOfFiles('../_locales/')
199+
200+
for arg in sys.argv:
201+
if arg == '-add':
202+
addItem(allFiles)
203+
elif arg == '-remove':
204+
removeItem(allFiles)
205+
elif arg == '-decode':
206+
decodeCharacters(allFiles)
207+
elif arg == '-generate':
208+
addLocales()

0 commit comments

Comments
 (0)