rupython 1.2.4__py3-none-any.whl → 1.2.6__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.
@@ -74,11 +74,11 @@ import re as РегВыр
74
74
  'ДОБАВИВ': 'ADD',
75
75
  'УДАЛИВ': 'DROP',
76
76
  'ИНДЕКС': 'INDEX',
77
- 'СХЕМУ': 'SCHEME',
78
- 'ТАБЛИЦУ': 'TABLE',
77
+ 'СХЕМУ': 'SCHEMA',
79
78
  'УНИКАЛЬНЫЙ': 'UNIQUE',
80
79
  'ПРЕДСТАВЛЕНИЕ': 'VIEW',
81
80
  'СТОЛБЕЦ': 'COLUMN',
81
+ 'ТРИГГЕР': 'TRIGGER',
82
82
  'СТРОГО': 'STRICT',
83
83
 
84
84
  'ЯВЛЯЕТСЯ ПУСТЫМ': 'IS NULL',
@@ -118,7 +118,7 @@ import re as РегВыр
118
118
  'ДА': 'TRUE',
119
119
  'НЕТ': 'FALSE',
120
120
  'ПО_УМОЛЧАНИЮ': 'DEFAULT',
121
- 'САМОУВЕЛИЧИВАЮЩЕЕСЯ': 'AUTO_INCREMENT',
121
+ 'САМОУВЕЛИЧИВАЮЩЕЕСЯ': 'AUTOINCREMENT',
122
122
  'ССЫЛАЕТСЯ НА': 'REFERENCES',
123
123
 
124
124
  'ОТОБРАВ': 'FILTER',
@@ -131,7 +131,7 @@ import re as РегВыр
131
131
  'ДЛИНА': 'LENGTH',
132
132
  'В_ЗАГЛАВНЫЕ': 'UPPER',
133
133
  'В_СТРОЧНЫЕ': 'LOWER',
134
- 'ПОДСТРОКА': 'SUBSTRING',
134
+ 'ПОДСТРОКА': 'SUBSTR',
135
135
  'ЗАМЕНИТЬ': 'REPLACE',
136
136
  'ОКРУГЛИТЬ': 'ROUND',
137
137
  'ОКРУГЛИТЬ_ВНИЗ': 'FLOOR',
@@ -143,7 +143,56 @@ import re as РегВыр
143
143
  'ИЗВЛЕЧЬ': 'EXTRACT',
144
144
  'ГОД': 'YEAR',
145
145
  'МЕСЯЦ': 'MONTH',
146
- 'ДЕНЬ': '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'
147
196
  }
148
197
 
149
198
  def Получить_токены(запрос):
@@ -273,7 +322,13 @@ def Перевести_токены(токены):
273
322
  break
274
323
 
275
324
  if not найдено_ключевое_слово:
276
- переведённые_токены.append(токен)
325
+ # Специальная обработка для значений PRAGMA
326
+ if токен.upper() == 'ДА':
327
+ переведённые_токены.append('ON')
328
+ elif токен.upper() == 'НЕТ':
329
+ переведённые_токены.append('OFF')
330
+ else:
331
+ переведённые_токены.append(токен)
277
332
  i += 1
278
333
 
279
334
  return переведённые_токены
@@ -308,6 +363,7 @@ def Перевести_код_запроса(текст):
308
363
  r"no such index: (.+)": r'Индекс "\1" не существует.',
309
364
  r"too many SQL variables": r'Слишком много переменных в запросе.',
310
365
  r"maximum recursion depth exceeded": r'Превышена максимальная глубина рекурсии в запросе.',
366
+ r"no such database: (.+)": r'База данных "\1" не существует.', # Добавлено
311
367
  r"incomplete input": r'Неполный запрос.',
312
368
  r"malformed database schema \((.+)\)": r'Некорректная схема базы данных: \1.',
313
369
  r"file is not a database": r'Файл не является базой данных.',
@@ -333,7 +389,12 @@ def Перевести_код_запроса(текст):
333
389
  r"no such module: (.+)": r'Модуль "\1" не существует.',
334
390
  r"parameters are of unsupported type": r'Параметры имеют неподдерживаемый тип.',
335
391
  r"interrupted": r'Операция была прервана.',
336
- 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.'
337
398
  }
338
399
 
339
400
  def Перевести_ошибку(исключение):
@@ -444,7 +505,7 @@ class Соединение():
444
505
  except Ошибка as ош: raise Ошибка(Перевести_ошибку(ош)) from ош
445
506
 
446
507
  def Создать_агрегатную_функцию(здесь, имя, число_аргументов, класс):
447
- try: здесь._соединение.create_aggregate(имя, число_аргументов)
508
+ try: здесь._соединение.create_aggregate(имя, число_аргументов, класс)
448
509
  except Ошибка as ош: raise Ошибка(Перевести_ошибку(ош)) from ош
449
510
 
450
511
  def Создать_сопоставление(здесь, имя, функция):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.4
3
+ Version: 1.2.6
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -12,6 +12,10 @@ License-File: LICENSE
12
12
  * Повышение производительности труда работников, выполняющих задачи автоматизации процессов и формализации алгоритмов, за счёт применения лексики на родном им языке, что априори повышает усвоение и читаемость кода.
13
13
  * Упрощение освоения навыков алгоритмизации и составления компьютерных программ учащимися путём устранения искусственного препятствия в виде необходимости оперировать лексикой иностранного языка.
14
14
 
15
+ Когда-то, в эпоху, когда железо и разум сливались в первых советских вычислительных машинах, русские ЯП были не просто инструментом — они были голосом нации, стремящейся к технологическому величию. В цехах заводов, на полигонах оборонных предприятий и в тиши академических кабинетов инструкции программного кода звучали на русском языке, воплощая мощь отечественной промышленности и науки. Сегодня, когда цифровой мир задаёт ритм жизни, возрождение русских ЯП становится не просто возможностью, но и необходимостью — способом вернуть себе право творить технологии на родном языке.
16
+
17
+ Алгоритмические языки на русской лексической базе повышают производительность труда разработчиков, поскольку работа на знакомом языке не требует от них приложения ненужных умственных усилий для переключения на иностранный язык, чем снижается когнитивная нагрузка, улучшается читаемость и качество создаваемого кода и повышается эффективность коммуникации в команде. Русский код априори является более понятным и воспринимаемым интуитивно в контексте культурных и языковых особенностей русских людей, снижая порог вхождения и устраняя искусственный барьер в виде необходимости овладения иностранным языком на уровне, достаточном для беглого чтения кода.
18
+
15
19
  Приложения на Русском Питоне могут использовать все возможности оригинального Python, включая всё богатство подключаемых пакетов и библиотек. Код может быть написан на обоих вариантах языка.
16
20
 
17
21
  ### Установка
@@ -2,13 +2,13 @@ rupython/__main__.py,sha256=wfmjyJhg6iQN1_9Hl6tIu6mKHO95xP2ibVcDdIIEXjE,1256
2
2
  rupython/__Заголовочный_код__.py,sha256=VWghfQc6dv9lwIeQvJotpdOlBtHZeN00NBeL4RdWloA,10998
3
3
  rupython/__Общие_функции__.py,sha256=FLbN5hhnnXXqAwqRRNJ2Y_0fXAAYCC_7Pn06_DZjX3w,826
4
4
  rupython/Преобразователь.py,sha256=-0oxZb63T3s50sT-0jiH3cA4KqRs3qVpaGsfSyAb8TY,47550
5
- rupython/Модули/БД.py,sha256=ypjYa-9s0wO1Y_nXRiyiS80F_TStRlsSHRpisBWMT4g,23957
5
+ rupython/Модули/БД.py,sha256=NvBLOlVKY3Hv50DBSZa1afmC1jHspyK8C1hE4EU-UQc,27227
6
6
  rupython/Модули/ДатаВремя.py,sha256=YdpACxtHXt57zV7uYpZJZeH3T4bMd6orud-Y34DqWTI,25087
7
7
  rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
8
8
  rupython/Модули/РегВыр.py,sha256=T3yxVP-B5AwAzbUTjWpog3HCzRTGLZ58CEQpfA-0dsY,6341
9
9
  rupython/Модули/Случ.py,sha256=foIuQo2QZ5z0iyxp9fn4NaunSx96vYzC2pRjwaT2FD8,2723
10
- rupython-1.2.4.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
11
- rupython-1.2.4.dist-info/METADATA,sha256=ENvZ7Aqr11YPad-tvpwOXT_TL5Q4rsaQ2v2FurUIM5M,27473
12
- rupython-1.2.4.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
13
- rupython-1.2.4.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
14
- rupython-1.2.4.dist-info/RECORD,,
10
+ rupython-1.2.6.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
11
+ rupython-1.2.6.dist-info/METADATA,sha256=wGdkS9E3kdm1twNHf61HVz30XToKUIkgAOnrXWgibRs,29768
12
+ rupython-1.2.6.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
13
+ rupython-1.2.6.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
14
+ rupython-1.2.6.dist-info/RECORD,,