rupython 1.2.5__tar.gz → 1.2.6__tar.gz

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.
Files changed (18) hide show
  1. {rupython-1.2.5 → rupython-1.2.6}/PKG-INFO +1 -1
  2. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/221/320/224.py +74 -25
  3. {rupython-1.2.5 → rupython-1.2.6}/rupython.egg-info/PKG-INFO +1 -1
  4. {rupython-1.2.5 → rupython-1.2.6}/setup.py +1 -1
  5. {rupython-1.2.5 → rupython-1.2.6}/LICENSE +0 -0
  6. {rupython-1.2.5 → rupython-1.2.6}/README.md +0 -0
  7. {rupython-1.2.5 → rupython-1.2.6}/rupython/__main__.py +0 -0
  8. {rupython-1.2.5 → rupython-1.2.6}/rupython/__/320/227/320/260/320/263/320/276/320/273/320/276/320/262/320/276/321/207/320/275/321/213/320/271_/320/272/320/276/320/264__.py" +0 -0
  9. {rupython-1.2.5 → rupython-1.2.6}/rupython/__/320/236/320/261/321/211/320/270/320/265_/321/204/321/203/320/275/320/272/321/206/320/270/320/270__.py" +0 -0
  10. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/224/320/260/321/202/320/260/320/222/321/200/320/265/320/274/321/217.py" +0 -0
  11. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/234/320/260/321/202/320/265/320/274.py" +0 -0
  12. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/240/320/265/320/263/320/222/321/213/321/200.py" +0 -0
  13. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/241/320/273/321/203/321/207.py" +0 -0
  14. {rupython-1.2.5 → rupython-1.2.6}/rupython//320/237/321/200/320/265/320/276/320/261/321/200/320/260/320/267/320/276/320/262/320/260/321/202/320/265/320/273/321/214.py" +0 -0
  15. {rupython-1.2.5 → rupython-1.2.6}/rupython.egg-info/SOURCES.txt +0 -0
  16. {rupython-1.2.5 → rupython-1.2.6}/rupython.egg-info/dependency_links.txt +0 -0
  17. {rupython-1.2.5 → rupython-1.2.6}/rupython.egg-info/top_level.txt +0 -0
  18. {rupython-1.2.5 → rupython-1.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.5
3
+ Version: 1.2.6
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -3,21 +3,12 @@ import re as РегВыр
3
3
 
4
4
  Ошибка = sqlite3.Error
5
5
 
6
- Успешно = sqlite3.SQLITE_OK # Успешное выполнение
7
- Отказ = sqlite3.SQLITE_DENY # Отказ в операции
8
- Пропустить = sqlite3.SQLITE_IGNORE # Игнорирование операции
9
- Занято = sqlite3.SQLITE_BUSY # База данных занята
10
- Заблоковано = sqlite3.SQLITE_LOCKED # База или таблица заблокирована
11
- Переполнено = sqlite3.SQLITE_FULL # Диск или база переполнены
12
-
13
- # Уровни изоляции транзакций
14
- Отложенно = "DEFERRED"
15
- Немедленно = "IMMEDIATE"
16
- Исключительно = "EXCLUSIVE"
17
-
18
6
  Разбор_объявленных_типов = sqlite3.PARSE_DECLTYPES
19
7
  Разбор_названий_столбцов = sqlite3.PARSE_COLNAMES
20
-
8
+ Успешно = sqlite3.SQLITE_OK
9
+ Отказ = sqlite3.SQLITE_DENY
10
+ Игнорировать = sqlite3.SQLITE_IGNORE
11
+ Уровень_интерфейса_взаимодействия = sqlite3.apilevel
21
12
  Стиль_параметров = sqlite3.paramstyle
22
13
  Потокобезопасность = sqlite3.threadsafety
23
14
 
@@ -29,9 +20,8 @@ import re as РегВыр
29
20
  'ОТЛОЖЕННО': 'DEFERRED',
30
21
  'НЕМЕДЛЕННО': 'IMMEDIATE',
31
22
  'ИСКЛЮЧИТЕЛЬНО': 'EXCLUSIVE',
32
- 'ОТКАТИТЬ': 'ROLLBACK TRANSACTION',
23
+ 'ОТКАТИТЬ': 'ROLLBACK',
33
24
  'ТОЧКА_СОХРАНЕНИЯ': 'SAVEPOINT',
34
- 'ОСВОБОДИТЬ': 'RELEASE SAVEPOINT',
35
25
  'НАСТРОИТЬ': 'PRAGMA',
36
26
 
37
27
  'ВЫБРАТЬ': 'SELECT',
@@ -57,7 +47,6 @@ import re as РегВыр
57
47
  'ПО ПРАВОЙ': 'RIGHT',
58
48
  'ПОЛНОСТЬЮ': 'FULL',
59
49
  'ПО': 'ON',
60
- 'К': 'TO',
61
50
  'ПЕРЕКРЁСТНО': 'CROSS',
62
51
  'ИСПОЛЬЗУЯ': 'USING',
63
52
 
@@ -85,13 +74,12 @@ import re as РегВыр
85
74
  'ДОБАВИВ': 'ADD',
86
75
  'УДАЛИВ': 'DROP',
87
76
  'ИНДЕКС': 'INDEX',
88
- 'СХЕМУ': 'SCHEME',
89
- 'ТАБЛИЦУ': 'TABLE',
77
+ 'СХЕМУ': 'SCHEMA',
90
78
  'УНИКАЛЬНЫЙ': 'UNIQUE',
91
79
  'ПРЕДСТАВЛЕНИЕ': 'VIEW',
92
80
  'СТОЛБЕЦ': 'COLUMN',
81
+ 'ТРИГГЕР': 'TRIGGER',
93
82
  'СТРОГО': 'STRICT',
94
- 'ПЕРЕИМЕНОВАТЬ В': 'RENAME TO',
95
83
 
96
84
  'ЯВЛЯЕТСЯ ПУСТЫМ': 'IS NULL',
97
85
  'НЕ ЯВЛЯЕТСЯ ПУСТЫМ': 'IS NOT NULL',
@@ -130,7 +118,7 @@ import re as РегВыр
130
118
  'ДА': 'TRUE',
131
119
  'НЕТ': 'FALSE',
132
120
  'ПО_УМОЛЧАНИЮ': 'DEFAULT',
133
- 'САМОУВЕЛИЧИВАЮЩЕЕСЯ': 'AUTO_INCREMENT',
121
+ 'САМОУВЕЛИЧИВАЮЩЕЕСЯ': 'AUTOINCREMENT',
134
122
  'ССЫЛАЕТСЯ НА': 'REFERENCES',
135
123
 
136
124
  'ОТОБРАВ': 'FILTER',
@@ -143,7 +131,7 @@ import re as РегВыр
143
131
  'ДЛИНА': 'LENGTH',
144
132
  'В_ЗАГЛАВНЫЕ': 'UPPER',
145
133
  'В_СТРОЧНЫЕ': 'LOWER',
146
- 'ПОДСТРОКА': 'SUBSTRING',
134
+ 'ПОДСТРОКА': 'SUBSTR',
147
135
  'ЗАМЕНИТЬ': 'REPLACE',
148
136
  'ОКРУГЛИТЬ': 'ROUND',
149
137
  'ОКРУГЛИТЬ_ВНИЗ': 'FLOOR',
@@ -155,7 +143,56 @@ import re as РегВыр
155
143
  'ИЗВЛЕЧЬ': 'EXTRACT',
156
144
  'ГОД': 'YEAR',
157
145
  'МЕСЯЦ': 'MONTH',
158
- 'ДЕНЬ': 'DAY'
146
+ 'ДЕНЬ': 'DAY',
147
+
148
+ 'СЛУЧАЙНОЕ': 'RANDOM',
149
+ 'ТИП_ДАННЫХ': 'TYPEOF',
150
+ 'ПОСЛЕДНИЙ_ИДЕНТИФИКАТОР': 'LAST_INSERT_ROWID',
151
+ 'ЗНАК': 'SIGN',
152
+ 'ЕСЛИ_ПУСТО': 'IFNULL',
153
+ 'ЯВЛЯЕТСЯ_ПУСТЫМ': 'NULLIF',
154
+ 'СОВПАДЕНИЕ': 'LIKE',
155
+ 'ГЛОБАЛЬНОЕ_СОВПАДЕНИЕ': 'GLOB',
156
+ 'ОБРЕЗАТЬ': 'TRIM',
157
+ 'ОБРЕЗАТЬ_СЛЕВА': 'LTRIM',
158
+ 'ОБРЕЗАТЬ_СПРАВА': 'RTRIM',
159
+ 'ОБЩЕЕ': 'TOTAL',
160
+ 'СТАНДАРТНОЕ_ОТКЛОНЕНИЕ': 'STDDEV',
161
+ 'ДИСПЕРСИЯ': 'VARIANCE',
162
+ 'СТРОКА_В_ЧИСЛО': 'CAST',
163
+ 'МАКСИМАЛЬНАЯ_ДЛИНА': 'MAXLEN',
164
+ 'МИНИМАЛЬНАЯ_ДЛИНА': 'MINLEN',
165
+ 'СЖАТЬ': 'COMPRESS',
166
+ 'РАСЖАТЬ': 'UNCOMPRESS',
167
+ 'ВЫЧИСЛИТЬ_ХЭШ': 'HEX',
168
+ 'ЗАКОДОВАТЬ_64': 'BASE64',
169
+ 'РАСКОДОВАТЬ_64': 'UNBASE64',
170
+
171
+ 'ВКЛЮЧЕНО': 'ON',
172
+ 'ОТКЛЮЧЕНО': 'OFF',
173
+ 'Синхронизация': 'synchronous',
174
+ 'Журнал': 'journal_mode',
175
+ 'Размер_кэша': 'cache_size',
176
+ 'Режим_блокования': 'locking_mode',
177
+ 'Самоочищение': 'auto_vacuum',
178
+ 'Ключ_шифрования': 'key',
179
+ 'Чтение_без_утверждения': 'read_uncommitted',
180
+ 'Режим_чтения': 'query_only',
181
+ 'Кодование': 'encoding',
182
+ 'Размер_страницы': 'page_size',
183
+ 'Максимум_страниц': 'max_page_count',
184
+ 'Временное_хранилище': 'temp_store',
185
+ 'Предел_анализа': 'analysis_limit',
186
+ 'Проверка_целостности': 'integrity_check',
187
+ 'Быстрая_проверка': 'quick_check',
188
+ 'Внешние_ключи': 'foreign_keys',
189
+ 'Пропускать_проверки': 'ignore_check_constraints',
190
+ 'Рекурсивные_триггеры': 'recursive_triggers',
191
+ 'Список_сопоставлений': 'collation_list',
192
+ 'Информация_о_таблице': 'table_info',
193
+ 'Информация_об_индексе': 'index_info',
194
+ 'Список_индексов': 'index_list',
195
+ 'Список_таблиц': 'table_list'
159
196
  }
160
197
 
161
198
  def Получить_токены(запрос):
@@ -285,7 +322,13 @@ def Перевести_токены(токены):
285
322
  break
286
323
 
287
324
  if not найдено_ключевое_слово:
288
- переведённые_токены.append(токен)
325
+ # Специальная обработка для значений PRAGMA
326
+ if токен.upper() == 'ДА':
327
+ переведённые_токены.append('ON')
328
+ elif токен.upper() == 'НЕТ':
329
+ переведённые_токены.append('OFF')
330
+ else:
331
+ переведённые_токены.append(токен)
289
332
  i += 1
290
333
 
291
334
  return переведённые_токены
@@ -320,6 +363,7 @@ def Перевести_код_запроса(текст):
320
363
  r"no such index: (.+)": r'Индекс "\1" не существует.',
321
364
  r"too many SQL variables": r'Слишком много переменных в запросе.',
322
365
  r"maximum recursion depth exceeded": r'Превышена максимальная глубина рекурсии в запросе.',
366
+ r"no such database: (.+)": r'База данных "\1" не существует.', # Добавлено
323
367
  r"incomplete input": r'Неполный запрос.',
324
368
  r"malformed database schema \((.+)\)": r'Некорректная схема базы данных: \1.',
325
369
  r"file is not a database": r'Файл не является базой данных.',
@@ -345,7 +389,12 @@ def Перевести_код_запроса(текст):
345
389
  r"no such module: (.+)": r'Модуль "\1" не существует.',
346
390
  r"parameters are of unsupported type": r'Параметры имеют неподдерживаемый тип.',
347
391
  r"interrupted": r'Операция была прервана.',
348
- r"out of memory": r'Недостаточно памяти для выполнения операции.'
392
+ r"out of memory": r'Недостаточно памяти для выполнения операции.',
393
+ r"no such pragma: (.+)": r'Настройка "\1" не существует.',
394
+ r"invalid value for pragma (.+)": r'Недопустимое значение для настройки "\1".',
395
+ r"unsupported journal mode: (.+)": r'Неподдерживаемый режим журнала: \1.',
396
+ r"invalid encoding: (.+)": r'Недопустимая кодировка: \1.',
397
+ r"invalid synchronous value: (.+)": r'Недопустимое значение синхронизации: \1.'
349
398
  }
350
399
 
351
400
  def Перевести_ошибку(исключение):
@@ -456,7 +505,7 @@ class Соединение():
456
505
  except Ошибка as ош: raise Ошибка(Перевести_ошибку(ош)) from ош
457
506
 
458
507
  def Создать_агрегатную_функцию(здесь, имя, число_аргументов, класс):
459
- try: здесь._соединение.create_aggregate(имя, число_аргументов)
508
+ try: здесь._соединение.create_aggregate(имя, число_аргументов, класс)
460
509
  except Ошибка as ош: raise Ошибка(Перевести_ошибку(ош)) from ош
461
510
 
462
511
  def Создать_сопоставление(здесь, имя, функция):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.5
3
+ Version: 1.2.6
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -3,7 +3,7 @@ from pathlib import Path as Путь
3
3
 
4
4
  Установить(
5
5
  name = 'rupython',
6
- version = '1.2.5',
6
+ version = '1.2.6',
7
7
  description = "Исполнитель кода Русского Питона",
8
8
  packages = [ 'rupython', 'rupython.Модули' ],
9
9
  long_description = (Путь(__file__).parent / 'README.md').read_text('UTF-8'),
File without changes
File without changes
File without changes
File without changes