rupython 1.1.4__py3-none-any.whl → 1.1.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rupython//342/225/250/320/257/342/225/244/320/220/342/225/250/342/225/241/342/225/250/342/225/233/342/225/250/342/226/222/342/225/244/320/220/342/225/250/342/226/221/342/225/250/342/225/226/342/225/250/342/225/233/342/225/250/342/226/223/342/225/250/342/226/221/342/225/244/320/222/342/225/250/342/225/241/342/225/250/342/225/227/342/225/244/320/234.py +30 -8
- {rupython-1.1.4.dist-info → rupython-1.1.5.dist-info}/METADATA +1 -1
- {rupython-1.1.4.dist-info → rupython-1.1.5.dist-info}/RECORD +6 -6
- {rupython-1.1.4.dist-info → rupython-1.1.5.dist-info}/LICENSE +0 -0
- {rupython-1.1.4.dist-info → rupython-1.1.5.dist-info}/WHEEL +0 -0
- {rupython-1.1.4.dist-info → rupython-1.1.5.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@ import traceback as Разборщик_исключений
|
|
4
4
|
import os as ОС
|
5
5
|
import sys as Система
|
6
6
|
import importlib as Импортование
|
7
|
+
import re as РегВыр
|
7
8
|
|
8
9
|
Служебные_слова = {
|
9
10
|
'Да': 'True',
|
@@ -306,6 +307,7 @@ import importlib as Импортование
|
|
306
307
|
'ОшибкаЗакодСимволов': 'UnicodeEncodeError',
|
307
308
|
'ОшибкаРаскодСимволов': 'UnicodeDecodeError',
|
308
309
|
'ОшибкаПереводаКодСимв': 'UnicodeTranslateError',
|
310
|
+
'ОшибкаТокена': 'TokenError',
|
309
311
|
'ОбщееПредупреждение': 'Warning',
|
310
312
|
'ПредупрУстаревание': 'DeprecationWarning',
|
311
313
|
'ПредупрОжидаетсяУстаревание': 'PendingDeprecationWarning',
|
@@ -614,18 +616,32 @@ def Посчитать_физические_строки(путь_к_файлу,
|
|
614
616
|
for строка in файл:
|
615
617
|
физические_строки += 1
|
616
618
|
строка = строка.rstrip('\n')
|
617
|
-
if not продолжение:
|
618
|
-
|
619
|
-
if строка.endswith('\\'):
|
620
|
-
продолжение = True
|
621
|
-
else:
|
622
|
-
продолжение = False
|
619
|
+
if not продолжение: текущая_логическая += 1
|
620
|
+
продолжение = строка.endswith('\\')
|
623
621
|
if текущая_логическая >= логическая_строка:
|
624
622
|
return физические_строки
|
625
623
|
return физические_строки
|
626
624
|
except:
|
627
625
|
return логическая_строка
|
628
626
|
|
627
|
+
Переводы_ошибок = {
|
628
|
+
r'.*EOF in multi-line statement.*': r'Неожиданный конец файла при обработке многострочной инструкции.',
|
629
|
+
r'name "(\w+)" is not defined': r'Переменная "\1" не определена.',
|
630
|
+
r'unsupported operand type\(s\) for .+: "(\w+)" and "(\w+)"': r'Неподдерживаемая операция между типами "\1" и "\2".',
|
631
|
+
r'invalid literal for int\(\) with base \d+: "(.+)"': r'Недопустимое значение "\1" для преобразования в целое число.',
|
632
|
+
r'division by zero': r'Деление на ноль.',
|
633
|
+
r'list index out of range': r'Индекс за пределами списка.',
|
634
|
+
r'"(\w+)" object has no attribute "(\w+)"': r'Объект типа "\1" не имеет атрибута "\2".',
|
635
|
+
r'module "(\w+)" has no attribute "(\w+)"': r'Модуль "\1" не имеет атрибута "\2".',
|
636
|
+
r'cannot import name "(\w+)" from "(\w+)"': r'Не удалось импортовать "\1" из модуля "\2".',
|
637
|
+
r'no such file or directory: "(.+)"': r'Файл или директория "\1" не найдены.',
|
638
|
+
r'index (\d+) is out of range': r'Индекс \1 вне допустимого диапазона.',
|
639
|
+
r'key "(\w+)" not found': r'Ключ "\1" не найден.',
|
640
|
+
r'invalid syntax': r'Синтаксическая ошибка.',
|
641
|
+
r'expected .+, got .+': r'Ожидался один тип данных, получен другой.',
|
642
|
+
r'int\(\) argument must be a string, a bytes-like object or a number, not "(\w+)"': r'Аргумент Цел() должен быть строкой, байтовым объектом или числом, а не "\1".'
|
643
|
+
}
|
644
|
+
|
629
645
|
def Вывести_текст_исключения(исключение, заголовок, путь_к_файлу):
|
630
646
|
назв_исп_ф = путь_к_файлу.split('\\' if Система.platform.startswith('win32') else '/')[-1]
|
631
647
|
сч = 1
|
@@ -661,8 +677,14 @@ def Вывести_текст_исключения(исключение, заг
|
|
661
677
|
print(' в файле "' + путь_к_файлу + '"' + ('.\n' if номер_строки == 0 else ''))
|
662
678
|
if номер_строки > 0:
|
663
679
|
print(' на строке № ' + str(номер_строки) + '.\n');
|
664
|
-
try:
|
665
|
-
except:
|
680
|
+
try: текст_исключения = исключение.msg
|
681
|
+
except AttributeError: текст_исключения = str(исключение)
|
682
|
+
|
683
|
+
for шаблон, перевод in Переводы_ошибок.items():
|
684
|
+
if РегВыр.match(шаблон, текст_исключения):
|
685
|
+
текст_исключения = РегВыр.sub(шаблон, перевод, текст_исключения)
|
686
|
+
break
|
687
|
+
print(' ' + str(текст_исключения))
|
666
688
|
|
667
689
|
input()
|
668
690
|
Система.exit()
|
@@ -1,11 +1,11 @@
|
|
1
1
|
rupython/__main__.py,sha256=BxtsIK8PJuOOGVDKxqoscwJjjWWhZts7adicFuwUL6k,540
|
2
2
|
rupython/__Заголовочный_код__.py,sha256=VWghfQc6dv9lwIeQvJotpdOlBtHZeN00NBeL4RdWloA,10998
|
3
|
-
rupython/Преобразователь.py,sha256=
|
3
|
+
rupython/Преобразователь.py,sha256=_oJ2iaUxh5jmKqcIaAPW-9oTdx93rTYGITJGgk3cJQI,41041
|
4
4
|
rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
|
5
5
|
rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
|
6
6
|
rupython/Модули/Случ.py,sha256=oeVdSdFVb4X_T-nX2P7NSIhise1zUPIS4lk7h-67XSg,2689
|
7
|
-
rupython-1.1.
|
8
|
-
rupython-1.1.
|
9
|
-
rupython-1.1.
|
10
|
-
rupython-1.1.
|
11
|
-
rupython-1.1.
|
7
|
+
rupython-1.1.5.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
|
8
|
+
rupython-1.1.5.dist-info/METADATA,sha256=400O3JzEeSfTKjUFZLtOoaeJ28abRjlaSCud5JjF7MQ,13869
|
9
|
+
rupython-1.1.5.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
10
|
+
rupython-1.1.5.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
11
|
+
rupython-1.1.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|