rupython 1.2.16__py3-none-any.whl → 1.3.0__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/254/342/225/250/342/225/233/342/225/250/342/224/244/342/225/244/320/223/342/225/250/342/225/227/342/225/250/342/225/225//342/225/250/320/241/342/225/250/320/244.py +5 -5
- 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 +21 -17
- {rupython-1.2.16.dist-info → rupython-1.3.0.dist-info}/METADATA +1 -1
- {rupython-1.2.16.dist-info → rupython-1.3.0.dist-info}/RECORD +7 -7
- {rupython-1.2.16.dist-info → rupython-1.3.0.dist-info}/LICENSE +0 -0
- {rupython-1.2.16.dist-info → rupython-1.3.0.dist-info}/WHEEL +0 -0
- {rupython-1.2.16.dist-info → rupython-1.3.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ import re as РегВыр
|
|
28
28
|
'УПОРЯДОЧИВ ПО': 'ORDER BY',
|
29
29
|
'ПО ВОЗРАСТАНИЮ': 'ASC',
|
30
30
|
'ПО УБЫВАНИЮ': 'DESC',
|
31
|
-
'
|
31
|
+
'СОБРАВ ПО': 'GROUP BY',
|
32
32
|
'ИМЕЮЩИМИ': 'HAVING',
|
33
33
|
'РАЗЛИЧАЮЩИЕСЯ': 'DISTINCT',
|
34
34
|
'ОБЪЕДИНИВ С': 'UNION',
|
@@ -88,9 +88,9 @@ import re as РегВыр
|
|
88
88
|
'СТОЛБЕЦ': 'COLUMN',
|
89
89
|
'ТРИГГЕР': 'TRIGGER',
|
90
90
|
'СТРОГО': 'STRICT',
|
91
|
-
'
|
92
|
-
'НЕ
|
93
|
-
'НЕ
|
91
|
+
'ПУСТОЕ': 'IS NULL',
|
92
|
+
'НЕ ПУСТОЕ': 'IS NOT NULL',
|
93
|
+
'НЕ ПУСТО': 'NOT NULL',
|
94
94
|
'ПУСТО': 'NULL',
|
95
95
|
'И': 'AND',
|
96
96
|
'ИЛИ': 'OR',
|
@@ -123,7 +123,7 @@ import re as РегВыр
|
|
123
123
|
'ДА': 'TRUE',
|
124
124
|
'НЕТ': 'FALSE',
|
125
125
|
'ПО УМОЛЧАНИЮ': 'DEFAULT',
|
126
|
-
'
|
126
|
+
'СЧЁТЧИК': 'AUTOINCREMENT',
|
127
127
|
'ССЫЛАЕТСЯ НА': 'REFERENCES',
|
128
128
|
'БЕЗ ИСКЛЮЧЕНИЙ': 'EXCLUDE NO OTHERS',
|
129
129
|
'ИСКЛЮЧАЯ ТЕКУЩУЮ СТРОКУ': 'EXCLUDE CURRENT ROW',
|
@@ -287,7 +287,7 @@ from io import StringIO as Текстовый_ВВ
|
|
287
287
|
'ОшибкаСоединениеОтменено': 'ConnectionAbortedError',
|
288
288
|
'ОшибкаСоединениеОтклонено': 'ConnectionRefusedError',
|
289
289
|
'ОшибкаСоединениеСброшено': 'ConnectionResetError',
|
290
|
-
'
|
290
|
+
'ОшибкаФайлУжеСуществует': 'FileExistsError',
|
291
291
|
'ОшибкаФайлНеНайден': 'FileNotFoundError',
|
292
292
|
'ОшибкаПрервано': 'InterruptedError',
|
293
293
|
'ОшибкаПапкаВместоФайла': 'IsADirectoryError',
|
@@ -331,7 +331,7 @@ def Прочитать_слова(чтение_строки, путь_к_фай
|
|
331
331
|
|
332
332
|
def Выполнить_основные_замены(слова, соответствия):
|
333
333
|
for номер, слово in enumerate(слова):
|
334
|
-
if (номер == 0 or слова[номер - 1][1] != '.') and \
|
334
|
+
if (номер == 0 or (слова[номер - 1][1] != '.' or (номер > 1 and слова[номер - 2][1] in ('.', 'from')))) and \
|
335
335
|
слово[0] == 1 and слово[1] in соответствия:
|
336
336
|
слова[номер] = (1, соответствия[слово[1]], слово[2])
|
337
337
|
|
@@ -466,7 +466,7 @@ def Обработать_импорт(импорт, путь_к_текущему
|
|
466
466
|
источник = импорт['источник'] if импорт['источник'] else ''
|
467
467
|
подъёмов = 0
|
468
468
|
if len(источник) > 0:
|
469
|
-
while источник[подъёмов] == '.': подъёмов += 1
|
469
|
+
while подъёмов < len(источник) and источник[подъёмов] == '.': подъёмов += 1
|
470
470
|
источник = источник[подъёмов:]
|
471
471
|
if подъёмов == 1: подъёмов = 0
|
472
472
|
разделитель = '\\' if Система.platform.startswith('win32') else '/'
|
@@ -480,7 +480,7 @@ def Обработать_импорт(импорт, путь_к_текущему
|
|
480
480
|
код = Преобразовать_код(путь + '.крп')
|
481
481
|
файл = open(путь + '.py', mode='w', encoding='utf-8')
|
482
482
|
if (not файл):
|
483
|
-
искл =
|
483
|
+
искл = FileNotFoundError('Невозможно открыть файл "' + файл + '".')
|
484
484
|
Вывести_текст_исключения(искл, 'при чтении кода', путь_к_файлу)
|
485
485
|
файл.write(код)
|
486
486
|
файл.close()
|
@@ -513,10 +513,12 @@ def Проверить_соответствие_слов(слова, путь_к
|
|
513
513
|
Циклы_со_счётчиком = []
|
514
514
|
|
515
515
|
def Преобразовать_код(путь_к_файлу):
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
516
|
+
try:
|
517
|
+
файл = open(путь_к_файлу, 'r', encoding='utf-8')
|
518
|
+
except:
|
519
|
+
искл = FileNotFoundError('Невозможно открыть файл "' + путь_к_файлу + '".')
|
520
|
+
Вывести_текст_исключения(искл, 'при чтении кода', путь_к_файлу, False)
|
521
|
+
|
520
522
|
слова = list(Прочитать_слова(файл.readline, путь_к_файлу))
|
521
523
|
if not Проверить_соответствие_слов(слова, путь_к_файлу): return
|
522
524
|
|
@@ -719,10 +721,11 @@ def Посчитать_физические_строки(путь_к_файлу,
|
|
719
721
|
r"MemoryError": r'Недостаточно памяти для выполнения операции.',
|
720
722
|
r"OverflowError: (.+)": r'Переполнение: \1.',
|
721
723
|
r"no binding for nonlocal '(.+)' found": 'Не найдена привязка для нелокальной сущности "\1".',
|
722
|
-
r"AssertionError": r'Ошибка проверки: условие не выполнено.'
|
724
|
+
r"AssertionError": r'Ошибка проверки: условие не выполнено.',
|
725
|
+
r"attempted relative import with no known parent package": r'Попытка относительного импорта без известного родительского пакета.'
|
723
726
|
}
|
724
727
|
|
725
|
-
def Вывести_текст_исключения(исключение, заголовок, путь_к_
|
728
|
+
def Вывести_текст_исключения(исключение, заголовок, путь_к_файлу, с_заголовком = True):
|
726
729
|
назв_исп_ф = путь_к_файлу.split('\\' if Система.platform.startswith('win32') else '/')[-1]
|
727
730
|
сч = 1
|
728
731
|
while True:
|
@@ -753,10 +756,11 @@ def Вывести_текст_исключения(исключение, заг
|
|
753
756
|
название_исключения = type(исключение).__name__
|
754
757
|
if название_исключения in Исключения.values():
|
755
758
|
название_исключения = next(к for к, з in Исключения.items() if з == название_исключения)
|
756
|
-
|
757
|
-
|
758
|
-
if номер_строки
|
759
|
-
|
759
|
+
if с_заголовком:
|
760
|
+
print('\n(!) Исключение "' + название_исключения + '" ' + заголовок)
|
761
|
+
print(' в файле "' + путь_к_файлу + '"' + ('.\n' if номер_строки == 0 else ''))
|
762
|
+
if номер_строки > 0:
|
763
|
+
print(' на строке № ' + str(номер_строки) + '.\n');
|
760
764
|
try: текст_исключения = исключение.msg
|
761
765
|
except AttributeError: текст_исключения = str(исключение)
|
762
766
|
|
@@ -764,8 +768,9 @@ def Вывести_текст_исключения(исключение, заг
|
|
764
768
|
if РегВыр.match(шаблон, текст_исключения):
|
765
769
|
текст_исключения = РегВыр.sub(шаблон, перевод, текст_исключения)
|
766
770
|
break
|
767
|
-
print(' ' + str(текст_исключения))
|
771
|
+
print((' ' if с_заголовком else '') + str(текст_исключения))
|
768
772
|
|
773
|
+
for файл in Временные_файлы: ОС.remove(файл + '.py')
|
769
774
|
input()
|
770
775
|
Система.exit()
|
771
776
|
|
@@ -778,5 +783,4 @@ def Запустить_код(название, исходник, путь_к_ф
|
|
778
783
|
try: Запуск_кода._run_module_code(код, mod_name="__Главный__", script_name=путь_к_файлу)
|
779
784
|
except Exception as исключение:
|
780
785
|
Вывести_текст_исключения(исключение, 'при выполнении кода', путь_к_файлу)
|
781
|
-
for файл in Временные_файлы:
|
782
|
-
ОС.remove(файл + '.py')
|
786
|
+
for файл in Временные_файлы: ОС.remove(файл + '.py')
|
@@ -1,9 +1,9 @@
|
|
1
1
|
rupython/__main__.py,sha256=wfmjyJhg6iQN1_9Hl6tIu6mKHO95xP2ibVcDdIIEXjE,1256
|
2
2
|
rupython/__Заголовочный_код__.py,sha256=yTxMJ93pxJeg_h-BnrTMoAqSB_a0tliYX6gkXtTyWx8,13594
|
3
3
|
rupython/__Общие_функции__.py,sha256=MH9QLcXqeFmpOS5_N8P5wA5eCYutlHRc7YUatn3CUIk,1255
|
4
|
-
rupython/Преобразователь.py,sha256=
|
4
|
+
rupython/Преобразователь.py,sha256=7-lzB-kZmuekzYYrFblbnVGw7WHfZDSsM6voS9dTiV4,49373
|
5
5
|
rupython/Модули/Асинхр.py,sha256=sPQUgbS_kXj-Gyn2YCjXNCUqAy8aUW2-P6gO5e7f6Cc,9925
|
6
|
-
rupython/Модули/БД.py,sha256=
|
6
|
+
rupython/Модули/БД.py,sha256=GQSKiv3fRF9Bsw4S7jXw4KR1Ibqvk8TwQbEe1JjvsGA,38392
|
7
7
|
rupython/Модули/ДатаВремя.py,sha256=Ec9YyY1jb-R9uyXrrDNfaTqBQVv98_GPn29OY8dUkj8,27523
|
8
8
|
rupython/Модули/Запросы.py,sha256=BPFWyPDLA6Qjmzb5KwOhuGZ5qjeAE0fudz5aJ8lRa6o,7562
|
9
9
|
rupython/Модули/Коллекции.py,sha256=GAqmEjrPu5BO81S5_4JvdWfhFyjLHhkCmfEmlo0NdyI,25770
|
@@ -14,8 +14,8 @@ rupython/Модули/Потоки.py,sha256=am6hWxcrCx4Vx_FFPMIIhSl_ShWSV5vjW5d
|
|
14
14
|
rupython/Модули/РегВыр.py,sha256=OWgYtgBDtHsEHUOAsGx7K0UGq92sumSqEyf-sVpICjw,6709
|
15
15
|
rupython/Модули/Случ.py,sha256=foIuQo2QZ5z0iyxp9fn4NaunSx96vYzC2pRjwaT2FD8,2723
|
16
16
|
rupython/Модули/Файлы.py,sha256=AekdYf2jmPhRW_9BngbQDzgTfsMr4zPpKzuwp6fRfzQ,6895
|
17
|
-
rupython-1.
|
18
|
-
rupython-1.
|
19
|
-
rupython-1.
|
20
|
-
rupython-1.
|
21
|
-
rupython-1.
|
17
|
+
rupython-1.3.0.dist-info/LICENSE,sha256=qqVMvbdzR5e4XIV6qwYVgI5Ovki8wR0qZaKB2Oj9DXw,25656
|
18
|
+
rupython-1.3.0.dist-info/METADATA,sha256=0Uu6U66o5-ucmZhNvFGpworW1fxOq4BBAHtg8-MYi1A,30445
|
19
|
+
rupython-1.3.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
20
|
+
rupython-1.3.0.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
21
|
+
rupython-1.3.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|