Skip to content

Commit afecab3

Browse files
Changed onCompressionError handler and install info has been fixed.
1 parent efbe909 commit afecab3

File tree

6 files changed

+67
-66
lines changed

6 files changed

+67
-66
lines changed

lib.py

Lines changed: 62 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,54 @@ def download_update(zip_url):
213213
exit()
214214

215215

216+
def decompress_csv():
217+
global errors
218+
folder = './CSV/In-Compressed'
219+
folder_export = './CSV/Out-Decompressed'
220+
221+
for file in os.listdir(folder):
222+
if file.endswith('.csv'):
223+
try:
224+
with open(f'{folder}/{file}', 'rb') as f:
225+
file_data = f.read()
226+
f.close()
227+
228+
with open(f'{folder_export}/{file}', 'wb') as f:
229+
f.write(decompress(file_data))
230+
f.close()
231+
except Exception as exception:
232+
errors += 1
233+
Console.error(locale.error % (exception.__class__.__module__, exception.__class__.__name__, exception))
234+
logger.write(traceback.format_exc())
235+
236+
print()
237+
238+
239+
def compress_csv():
240+
from sc_compression.signatures import Signatures
241+
242+
global errors
243+
folder = './CSV/In-Decompressed'
244+
folder_export = './CSV/Out-Compressed'
245+
246+
for file in os.listdir(folder):
247+
if file.endswith('.csv'):
248+
try:
249+
with open(f'{folder}/{file}', 'rb') as f:
250+
file_data = f.read()
251+
f.close()
252+
253+
with open(f'{folder_export}/{file}', 'wb') as f:
254+
f.write(compress(file_data, Signatures.LZMA))
255+
f.close()
256+
except Exception as exception:
257+
errors += 1
258+
Console.error(locale.error % (exception.__class__.__module__, exception.__class__.__name__, exception))
259+
logger.write(traceback.format_exc())
260+
261+
print()
262+
263+
216264
def get_pixel_size(_type):
217265
if _type in (0, 1):
218266
return 4
@@ -400,21 +448,24 @@ def write_sc(output_filename: str, buffer: bytes, use_lzham: bool):
400448

401449

402450
def open_sc(input_filename: str):
451+
decompressed = None
403452
use_lzham = False
404453

405454
Console.info(locale.collecting_inf)
406-
with open(input_filename, 'rb') as fh:
407-
try:
408-
decompressed, signature = decompress(fh.read())
409-
#
410-
# Console.info(locale.detected_comp % signature.upper())
411-
#
412-
if signature == Signatures.SCLZ:
413-
use_lzham = True
414-
except Exception:
415-
Console.info(locale.try_error)
455+
with open(input_filename, 'rb') as f:
456+
filedata = f.read()
457+
f.close()
416458

417-
fh.close()
459+
try:
460+
decompressed, signature = decompress(filedata)
461+
#
462+
# Console.info(locale.detected_comp % signature.upper())
463+
#
464+
if signature == Signatures.SCLZ:
465+
use_lzham = True
466+
except Exception:
467+
Console.info(locale.decompression_error)
468+
exit(1)
418469

419470
return decompressed, use_lzham
420471

main.py

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def init(ret=True):
4949
if package in installed_packages:
5050
continue
5151

52-
if run(f'pip3 install {package}'):
52+
if run(f'pip3 install {package}') == 0:
5353
Console.info(locale.installed % package)
5454
else:
5555
Console.info(locale.not_installed % package)
@@ -91,54 +91,6 @@ def clear_dirs():
9191
make_dirs(folder)
9292

9393

94-
def decompress_csv():
95-
global errors
96-
folder = './CSV/In-Compressed'
97-
folder_export = './CSV/Out-Decompressed'
98-
99-
for file in os.listdir(folder):
100-
if file.endswith('.csv'):
101-
try:
102-
with open(f'{folder}/{file}', 'rb') as f:
103-
file_data = f.read()
104-
f.close()
105-
106-
with open(f'{folder_export}/{file}', 'wb') as f:
107-
f.write(decompress(file_data))
108-
f.close()
109-
except Exception as exception:
110-
errors += 1
111-
Console.error(locale.error % (exception.__class__.__module__, exception.__class__.__name__, exception))
112-
logger.write(traceback.format_exc())
113-
114-
print()
115-
116-
117-
def compress_csv():
118-
from sc_compression.signatures import Signatures
119-
120-
global errors
121-
folder = './CSV/In-Decompressed'
122-
folder_export = './CSV/Out-Compressed'
123-
124-
for file in os.listdir(folder):
125-
if file.endswith('.csv'):
126-
try:
127-
with open(f'{folder}/{file}', 'rb') as f:
128-
file_data = f.read()
129-
f.close()
130-
131-
with open(f'{folder_export}/{file}', 'wb') as f:
132-
f.write(compress(file_data, Signatures.LZMA))
133-
f.close()
134-
except Exception as exception:
135-
errors += 1
136-
Console.error(locale.error % (exception.__class__.__module__, exception.__class__.__name__, exception))
137-
logger.write(traceback.format_exc())
138-
139-
print()
140-
141-
14294
def sc_decode():
14395
global errors
14496
folder = './SC/In-Compressed'

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ sc-compression
22
requests
33
colorama
44
pylzham
5+
zstandard
56
pillow

system/languages/en-EU.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,8 @@
3535
"got_error": "[%s] Got error: \n%s\n\n",
3636
"collecting_inf": "Collecting information...",
3737
"about_sc": "About: Filename: %s, Pixel type: %s, Width: %s, Height: %s",
38-
"try_error": "Error while decompressing! Trying to decode as is...",
39-
"skip_not_installed": "%s isn\"t installed! Return",
40-
"decompression_error": "Decompression failed",
38+
"decompression_error": "Error while decompressing! Trying to decode as is...",
39+
"skip_not_installed": "%s isn\"t installed! Reinitialize",
4140
"detected_comp": "Detected %s compression!",
4241
"unk_type": "Unknown pixel type: %s",
4342
"crt_pic": "Creating picture...",

system/languages/ru-RU.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,8 @@
3535
"got_error": "[%s] Получена ошибка: \n%s\n\n",
3636
"collecting_inf": "Сбор информации...",
3737
"about_sc": "О текстуре: имя: %s, тип пикселя: %s, ширина: %s, высота: %s",
38-
"try_error": "Ошибка распаковки! Пробуем как есть...",
38+
"decompression_error": "Ошибка распаковки! Проведите повторную инициализацию!",
3939
"skip_not_installed": "%s не установлен! Пропускаем...",
40-
"decompression_error": "Распаковка не удалась",
4140
"detected_comp": "Обнаружено %s сжатие!",
4241
"unk_type": "Неизвестный подтип: %s",
4342
"crt_pic": "Создаём картинку...",

system/localization.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ def __init__(self):
4040
self.got_error = None
4141
self.collecting_inf = None
4242
self.about_sc = None
43-
self.try_error = None
4443
self.skip_not_installed = None
4544
self.decompression_error = None
4645
self.detected_comp = None

0 commit comments

Comments
 (0)