rupython 1.2.12__tar.gz → 1.2.13__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 (29) hide show
  1. {rupython-1.2.12 → rupython-1.2.13}/PKG-INFO +3 -3
  2. {rupython-1.2.12 → rupython-1.2.13}/README.md +2 -2
  3. {rupython-1.2.12 → rupython-1.2.13}/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 +49 -4
  4. rupython-1.2.13/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/220/321/201/320/270/320/275/321/205/321/200.py +206 -0
  5. {rupython-1.2.12 → rupython-1.2.13}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/221/320/224.py +56 -56
  6. rupython-1.2.13/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 +566 -0
  7. rupython-1.2.13/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/232/320/276/320/273/320/273/320/265/320/272/321/206/320/270/320/270.py +559 -0
  8. rupython-1.2.13/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/232/321/203/321/207/320/260.py +87 -0
  9. rupython-1.2.13/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/236/321/207/320/265/321/200/320/265/320/264/321/214.py +177 -0
  10. rupython-1.2.13/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/237/320/276/321/202/320/276/320/272/320/270.py +273 -0
  11. {rupython-1.2.12 → rupython-1.2.13}/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 +42 -42
  12. {rupython-1.2.12 → rupython-1.2.13}/rupython.egg-info/PKG-INFO +3 -3
  13. {rupython-1.2.12 → rupython-1.2.13}/setup.py +1 -1
  14. rupython-1.2.12/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/220/321/201/320/270/320/275/321/205/321/200.py +0 -206
  15. rupython-1.2.12/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 -566
  16. rupython-1.2.12/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/232/320/276/320/273/320/273/320/265/320/272/321/206/320/270/320/270.py +0 -559
  17. rupython-1.2.12/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/232/321/203/321/207/320/260.py +0 -87
  18. rupython-1.2.12/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/236/321/207/320/265/321/200/320/265/320/264/321/214.py +0 -177
  19. rupython-1.2.12/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/237/320/276/321/202/320/276/320/272/320/270.py +0 -273
  20. {rupython-1.2.12 → rupython-1.2.13}/LICENSE +0 -0
  21. {rupython-1.2.12 → rupython-1.2.13}/rupython/__main__.py +0 -0
  22. {rupython-1.2.12 → rupython-1.2.13}/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
  23. {rupython-1.2.12 → rupython-1.2.13}/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
  24. {rupython-1.2.12 → rupython-1.2.13}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/241/320/273/321/203/321/207.py" +0 -0
  25. {rupython-1.2.12 → rupython-1.2.13}/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
  26. {rupython-1.2.12 → rupython-1.2.13}/rupython.egg-info/SOURCES.txt +0 -0
  27. {rupython-1.2.12 → rupython-1.2.13}/rupython.egg-info/dependency_links.txt +0 -0
  28. {rupython-1.2.12 → rupython-1.2.13}/rupython.egg-info/top_level.txt +0 -0
  29. {rupython-1.2.12 → rupython-1.2.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.12
3
+ Version: 1.2.13
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -154,8 +154,8 @@ k = l это m и m это не n
154
154
  ##### Класс
155
155
  ```
156
156
  Класс Пример(Другой_класс):
157
- Функция __Подготовка__(здесь, перем = 0):
158
- здесь.зн = перем
157
+ Функция __Подготовка__(экземпляр, перем = 0):
158
+ экземпляр.зн = перем
159
159
 
160
160
  Объект = Пример(1)
161
161
  ```
@@ -147,8 +147,8 @@ k = l это m и m это не n
147
147
  ##### Класс
148
148
  ```
149
149
  Класс Пример(Другой_класс):
150
- Функция __Подготовка__(здесь, перем = 0):
151
- здесь.зн = перем
150
+ Функция __Подготовка__(экземпляр, перем = 0):
151
+ экземпляр.зн = перем
152
152
 
153
153
  Объект = Пример(1)
154
154
  ```
@@ -183,15 +183,15 @@ def Заменить_преобразование_в_строку(класс, ф
183
183
  setattr(Объект_типа.from_address(id(класс)), 'tp_str', Объект_типа._fields_[-1])
184
184
  Выполнить(класс, функция)
185
185
 
186
- Обёртка__Вещ_в_стр = lambda здесь: Вещ_в_стр(здесь).replace('.', ',').replace('inf', 'Бскн')
186
+ Обёртка__Вещ_в_стр = lambda экземпляр: Вещ_в_стр(экземпляр).replace('.', ',').replace('inf', 'Бскн')
187
187
  Вещ_в_стр = float.__str__
188
188
  Заменить_преобразование_в_строку(float, Обёртка__Вещ_в_стр)
189
189
 
190
- Обёртка__Логич_в_стр = lambda здесь: Логич_в_стр(здесь).replace('True', 'Да').replace('False', 'Нет')
190
+ Обёртка__Логич_в_стр = lambda экземпляр: Логич_в_стр(экземпляр).replace('True', 'Да').replace('False', 'Нет')
191
191
  Логич_в_стр = bool.__str__
192
192
  Заменить_преобразование_в_строку(bool, Обёртка__Логич_в_стр)
193
193
 
194
- Обёртка__Пусто_в_стр = lambda здесь: Пусто_в_стр(здесь).replace('None', 'Пусто')
194
+ Обёртка__Пусто_в_стр = lambda экземпляр: Пусто_в_стр(экземпляр).replace('None', 'Пусто')
195
195
  Пусто_в_стр = type(None).__str__
196
196
  Заменить_преобразование_в_строку(type(None), Обёртка__Пусто_в_стр)
197
197
 
@@ -215,7 +215,52 @@ def Свёртка(функция, перебираемое, нач_знач = N
215
215
  for эл in перебираемое: рез = функция(рез, эл)
216
216
  return рез
217
217
 
218
+ class ТрЛогич:
219
+ _instance_map = {}
220
+
221
+ def __new__(класс, название):
222
+ if название not in класс._instance_map:
223
+ класс._instance_map[название] = super().__new__(класс)
224
+ класс._instance_map[название]._name = название
225
+ return класс._instance_map[название]
226
+
227
+ def __and__(экземпляр, значение):
228
+ if not isinstance(значение, ТрЛогич):
229
+ raise TypeError("Операция 'И' возможна только между троичными логическими значениями.")
230
+ if экземпляр is Ложь or значение is Ложь: return Ложь
231
+ if экземпляр is Истина and значение is Истина: return Истина
232
+ return Неопр
233
+
234
+ def __or__(экземпляр, значение):
235
+ if not isinstance(значение, ТрЛогич):
236
+ raise TypeError("Операция 'Или' возможна только между троичными логическими значениями.")
237
+ if экземпляр is Истина or значение is Истина: return Истина
238
+ if экземпляр is Ложь and значение is Ложь: return Ложь
239
+ return Неопр
240
+
241
+ def __invert__(экземпляр):
242
+ if экземпляр is Истина: return Ложь
243
+ if экземпляр is Ложь: return Истина
244
+ return Неопр
245
+
246
+ def __eq__(экземпляр, значение):
247
+ if not isinstance(значение, ТрЛогич): return NotImplemented
248
+ return экземпляр is значение
249
+
250
+ def __bool__(экземпляр):
251
+ if экземпляр is Истина: return True
252
+ elif экземпляр is Ложь: return False
253
+ else:
254
+ raise TypeError("Невозможно преобразовать 'Неопр' в двоичное логическое значение.")
255
+
256
+ def __repr__(экземпляр):
257
+ return f"Троичное({экземпляр._name})"
258
+
259
+ def __str__(экземпляр):
260
+ return экземпляр._name
261
+
218
262
  __builtins__.update(
219
263
  __Проверить_существование__ = Проверить_существование,
220
- Свёртка = Свёртка
264
+ Свёртка = Свёртка,
265
+ Истина = ТрЛогич("Истина"), Ложь = ТрЛогич("ТрЛогич"), Неопр = ТрЛогич("Неопр")
221
266
  )
@@ -0,0 +1,206 @@
1
+ import queue
2
+ from rupython import __Общие_функции__
3
+
4
+ Очередь_пуста = queue.Empty
5
+ Очередь_полна = queue.Full
6
+
7
+ Словарь_параметров = {
8
+ 'максимальный_размер': 'maxsize',
9
+ 'элемент': 'item',
10
+ 'блоковать': 'block',
11
+ 'таймаут': 'timeout',
12
+ 'приоритет': 'priority'
13
+ }
14
+
15
+ Словарь_склонений = {
16
+ 'элемент': ['элемент', 'элемента', 'элементов'],
17
+ 'задача': ['задача', 'задачи', 'задач']
18
+ }
19
+
20
+ class Очередь:
21
+ def __init__(экземпляр, максимальный_размер = 0):
22
+ ИА = {'maxsize': максимальный_размер}
23
+ экземпляр._queue = queue.Queue(**ИА)
24
+
25
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
26
+ ИА = {'item': элемент, 'block': блоковать}
27
+ if таймаут is not None:
28
+ ИА['timeout'] = таймаут
29
+ экземпляр._queue.put(**ИА)
30
+
31
+ def Добавить_без_блокования(экземпляр, элемент):
32
+ экземпляр._queue.put_nowait(элемент)
33
+
34
+ def Получить(экземпляр, блоковать = True, таймаут = None):
35
+ ИА = {'block': блоковать}
36
+ if таймаут is not None:
37
+ ИА['timeout'] = таймаут
38
+ return экземпляр._queue.get(**ИА)
39
+
40
+ def Получить_без_блокования(экземпляр):
41
+ return экземпляр._queue.get_nowait()
42
+
43
+ def Задача_выполнена(экземпляр):
44
+ экземпляр._queue.task_done()
45
+
46
+ def Ждать_завершения(экземпляр):
47
+ экземпляр._queue.join()
48
+
49
+ def Пустая(экземпляр):
50
+ return экземпляр._queue.empty()
51
+
52
+ def Полная(экземпляр):
53
+ return экземпляр._queue.full()
54
+
55
+ def Размер(экземпляр):
56
+ return экземпляр._queue.qsize()
57
+
58
+ def __len__(экземпляр):
59
+ return экземпляр._queue.qsize()
60
+
61
+ def __str__(экземпляр):
62
+ размер = экземпляр.Размер()
63
+ return f"Очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
64
+
65
+ def В_строку_с_задачами(экземпляр):
66
+ размер = экземпляр.Размер()
67
+ return f"Очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
68
+
69
+ class Стековая_очередь:
70
+ def __init__(экземпляр, максимальный_размер = 0):
71
+ ИА = {'maxsize': максимальный_размер}
72
+ экземпляр._queue = queue.LifoQueue(**ИА)
73
+
74
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
75
+ ИА = {'item': элемент, 'block': блоковать}
76
+ if таймаут is not None:
77
+ ИА['timeout'] = таймаут
78
+ экземпляр._queue.put(**ИА)
79
+
80
+ def Добавить_без_блокования(экземпляр, элемент):
81
+ экземпляр._queue.put_nowait(элемент)
82
+
83
+ def Получить(экземпляр, блоковать = True, таймаут = None):
84
+ ИА = {'block': блоковать}
85
+ if таймаут is not None:
86
+ ИА['timeout'] = таймаут
87
+ return экземпляр._queue.get(**ИА)
88
+
89
+ def Получить_без_блокования(экземпляр):
90
+ return экземпляр._queue.get_nowait()
91
+
92
+ def Задача_выполнена(экземпляр):
93
+ экземпляр._queue.task_done()
94
+
95
+ def Ждать_завершения(экземпляр):
96
+ экземпляр._queue.join()
97
+
98
+ def Пустая(экземпляр):
99
+ return экземпляр._queue.empty()
100
+
101
+ def Полная(экземпляр):
102
+ return экземпляр._queue.full()
103
+
104
+ def Размер(экземпляр):
105
+ return экземпляр._queue.qsize()
106
+
107
+ def __len__(экземпляр):
108
+ return экземпляр._queue.qsize()
109
+
110
+ def __str__(экземпляр):
111
+ размер = экземпляр.Размер()
112
+ return f"Стековая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
113
+
114
+ def В_строку_с_задачами(экземпляр):
115
+ размер = экземпляр.Размер()
116
+ return f"Стековая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
117
+
118
+ class Приоритетная_очередь:
119
+ def __init__(экземпляр, максимальный_размер = 0):
120
+ ИА = {'maxsize': максимальный_размер}
121
+ экземпляр._queue = queue.PriorityQueue(**ИА)
122
+
123
+ def Добавить(экземпляр, элемент, приоритет, блоковать = True, таймаут = None):
124
+ ИА = {'item': (приоритет, элемент), 'block': блоковать}
125
+ if таймаут is not None:
126
+ ИА['timeout'] = таймаут
127
+ экземпляр._queue.put(**ИА)
128
+
129
+ def Добавить_без_блокования(экземпляр, элемент, приоритет):
130
+ экземпляр._queue.put_nowait((приоритет, элемент))
131
+
132
+ def Получить(экземпляр, блоковать = True, таймаут = None):
133
+ ИА = {'block': блоковать}
134
+ if таймаут is not None:
135
+ ИА['timeout'] = таймаут
136
+ приоритет, элемент = экземпляр._queue.get(**ИА)
137
+ return элемент
138
+
139
+ def Получить_с_приоритетом(экземпляр, блоковать = True, таймаут = None):
140
+ ИА = {'block': блоковать}
141
+ if таймаут is not None:
142
+ ИА['timeout'] = таймаут
143
+ return экземпляр._queue.get(**ИА)
144
+
145
+ def Получить_без_блокования(экземпляр):
146
+ приоритет, элемент = экземпляр._queue.get_nowait()
147
+ return элемент
148
+
149
+ def Получить_без_блокования_с_приоритетом(экземпляр):
150
+ return экземпляр._queue.get_nowait()
151
+
152
+ def Задача_выполнена(экземпляр):
153
+ экземпляр._queue.task_done()
154
+
155
+ def Ждать_завершения(экземпляр):
156
+ экземпляр._queue.join()
157
+
158
+ def Пустая(экземпляр):
159
+ return экземпляр._queue.empty()
160
+
161
+ def Полная(экземпляр):
162
+ return экземпляр._queue.full()
163
+
164
+ def Размер(экземпляр):
165
+ return экземпляр._queue.qsize()
166
+
167
+ def __len__(экземпляр):
168
+ return экземпляр._queue.qsize()
169
+
170
+ def __str__(экземпляр):
171
+ размер = экземпляр.Размер()
172
+ return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
173
+
174
+ def В_строку_с_задачами(экземпляр):
175
+ размер = экземпляр.Размер()
176
+ return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
177
+
178
+ class Простая_очередь:
179
+ def __init__(экземпляр):
180
+ экземпляр._queue = queue.SimpleQueue()
181
+
182
+ def Добавить(экземпляр, элемент):
183
+ экземпляр._queue.put(элемент)
184
+
185
+ def Получить(экземпляр):
186
+ return экземпляр._queue.get()
187
+
188
+ def Получить_без_блокования(экземпляр):
189
+ return экземпляр._queue.get_nowait()
190
+
191
+ def Пустая(экземпляр):
192
+ экземпляр._queue.empty()
193
+
194
+ def Размер(экземпляр):
195
+ return экземпляр._queue.qsize()
196
+
197
+ def __len__(экземпляр):
198
+ return экземпляр._queue.qsize()
199
+
200
+ def __str__(экземпляр):
201
+ размер = экземпляр.Размер()
202
+ return f"Простая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
203
+
204
+ def В_строку_с_задачами(экземпляр):
205
+ размер = экземпляр.Размер()
206
+ return f"Простая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
@@ -423,68 +423,68 @@ def Перевести_ошибку(исключение):
423
423
  return f"Неизвестная ошибка: {сообщение}"
424
424
 
425
425
  class Указатель():
426
- def __init__(здесь, курсор):
427
- здесь._курсор = курсор
426
+ def __init__(экземпляр, курсор):
427
+ экземпляр._курсор = курсор
428
428
 
429
- def Выполнить_запрос(здесь, запрос, параметры=()):
429
+ def Выполнить_запрос(экземпляр, запрос, параметры=()):
430
430
  try:
431
431
  запрос = Перевести_код_запроса(запрос)
432
- здесь._курсор.execute(запрос, параметры)
432
+ экземпляр._курсор.execute(запрос, параметры)
433
433
  except Ошибка as ош:
434
434
  raise Ошибка(Перевести_ошибку(ош)) from ош
435
435
 
436
- def Выполнить_запросы(здесь, запрос, последовательность_параметров):
436
+ def Выполнить_запросы(экземпляр, запрос, последовательность_параметров):
437
437
  try:
438
438
  запрос = Перевести_код_запроса(запрос)
439
- здесь._курсор.executemany(запрос, последовательность_параметров)
439
+ экземпляр._курсор.executemany(запрос, последовательность_параметров)
440
440
  except Ошибка as ош:
441
441
  raise Ошибка(Перевести_ошибку(ош)) from ош
442
442
 
443
- def Выполнить_сценарий(здесь, сценарий):
443
+ def Выполнить_сценарий(экземпляр, сценарий):
444
444
  try:
445
445
  скрипт = Перевести_код_запроса(сценарий)
446
- здесь._курсор.executescript(скрипт)
446
+ экземпляр._курсор.executescript(скрипт)
447
447
  except Ошибка as ош:
448
448
  raise Ошибка(Перевести_ошибку(ош)) from ош
449
449
 
450
- def Извлечь_запись(здесь):
450
+ def Извлечь_запись(экземпляр):
451
451
  try:
452
- return здесь._курсор.fetchone()
452
+ return экземпляр._курсор.fetchone()
453
453
  except Ошибка as ош:
454
454
  raise Ошибка(Перевести_ошибку(ош)) from ош
455
455
 
456
- def Извлечь_записи(здесь, количество):
456
+ def Извлечь_записи(экземпляр, количество):
457
457
  try:
458
- return здесь._курсор.fetchmany(количество)
458
+ return экземпляр._курсор.fetchmany(количество)
459
459
  except Ошибка as ош:
460
460
  raise Ошибка(Перевести_ошибку(ош)) from ош
461
461
 
462
- def Извлечь_все_записи(здесь):
462
+ def Извлечь_все_записи(экземпляр):
463
463
  try:
464
- return здесь._курсор.fetchall()
464
+ return экземпляр._курсор.fetchall()
465
465
  except Ошибка as ош:
466
466
  raise Ошибка(Перевести_ошибку(ош)) from ош
467
467
 
468
- def Закрыть(здесь):
468
+ def Закрыть(экземпляр):
469
469
  try:
470
- здесь._курсор.close()
470
+ экземпляр._курсор.close()
471
471
  except Ошибка as ош:
472
472
  raise Ошибка(Перевести_ошибку(ош)) from ош
473
473
 
474
474
  @property
475
- def Описание(здесь):
476
- return здесь._курсор.description
475
+ def Описание(экземпляр):
476
+ return экземпляр._курсор.description
477
477
 
478
478
  @property
479
- def Количество_строк(здесь):
480
- return здесь._курсор.rowcount
479
+ def Количество_строк(экземпляр):
480
+ return экземпляр._курсор.rowcount
481
481
 
482
482
  @property
483
- def Последний_идентификатор(здесь):
484
- return здесь._курсор.lastrowid
483
+ def Последний_идентификатор(экземпляр):
484
+ return экземпляр._курсор.lastrowid
485
485
 
486
486
  class Соединение():
487
- def __init__(здесь,
487
+ def __init__(экземпляр,
488
488
  путь, *,
489
489
  таймаут = 5.0,
490
490
  обнаружение_типов = 0,
@@ -499,7 +499,7 @@ class Соединение():
499
499
  else: уровень_изоляции = None
500
500
 
501
501
  try:
502
- здесь._соединение = sqlite3.connect(
502
+ экземпляр._соединение = sqlite3.connect(
503
503
  путь,
504
504
  timeout=таймаут,
505
505
  detect_types=обнаружение_типов,
@@ -511,94 +511,94 @@ class Соединение():
511
511
  except Ошибка as ош:
512
512
  raise Ошибка(Перевести_ошибку(ош)) from ош
513
513
 
514
- def __enter__(здесь):
515
- return здесь
514
+ def __enter__(экземпляр):
515
+ return экземпляр
516
516
 
517
- def __exit__(здесь, exc_type, exc_value, traceback):
518
- здесь.Закрыть()
517
+ def __exit__(экземпляр, exc_type, exc_value, traceback):
518
+ экземпляр.Закрыть()
519
519
 
520
- def Создать_указатель(здесь):
520
+ def Создать_указатель(экземпляр):
521
521
  try:
522
- курсор = здесь._соединение.cursor()
522
+ курсор = экземпляр._соединение.cursor()
523
523
  return Указатель(курсор)
524
524
  except Ошибка as ош:
525
525
  raise Ошибка(Перевести_ошибку(ош)) from ош
526
526
 
527
- def Выполнить_запрос(здесь, запрос, параметры=()):
527
+ def Выполнить_запрос(экземпляр, запрос, параметры=()):
528
528
  try:
529
529
  запрос = Перевести_код_запроса(запрос)
530
- указатель = здесь._соединение.execute(запрос, параметры)
530
+ указатель = экземпляр._соединение.execute(запрос, параметры)
531
531
  return Указатель(указатель)
532
532
  except Ошибка as ош:
533
533
  raise Ошибка(Перевести_ошибку(ош)) from ош
534
534
 
535
- def Выполнить_запросы(здесь, запрос, параметры):
535
+ def Выполнить_запросы(экземпляр, запрос, параметры):
536
536
  try:
537
537
  запрос = Перевести_код_запроса(запрос)
538
- указатель = здесь._соединение.executemany(запрос, параметры)
538
+ указатель = экземпляр._соединение.executemany(запрос, параметры)
539
539
  return Указатель(указатель)
540
540
  except Ошибка as ош:
541
541
  raise Ошибка(Перевести_ошибку(ош)) from ош
542
542
 
543
- def Выполнить_сценарий(здесь, сценарий):
543
+ def Выполнить_сценарий(экземпляр, сценарий):
544
544
  try:
545
545
  скрипт = Перевести_код_запроса(сценарий)
546
- здесь._соединение.executescript(скрипт)
546
+ экземпляр._соединение.executescript(скрипт)
547
547
  except Ошибка as ош:
548
548
  raise Ошибка(Перевести_ошибку(ош)) from ош
549
549
 
550
- def Создать_функцию(здесь, имя, количество_параметров, функция):
550
+ def Создать_функцию(экземпляр, имя, количество_параметров, функция):
551
551
  try:
552
- здесь._соединение.create_function(имя, количество_параметров, функция)
552
+ экземпляр._соединение.create_function(имя, количество_параметров, функция)
553
553
  except Ошибка as ош:
554
554
  raise Ошибка(Перевести_ошибку(ош)) from ош
555
555
 
556
- def Создать_агрегатную_функцию(здесь, имя, число_аргументов, класс):
556
+ def Создать_агрегатную_функцию(экземпляр, имя, число_аргументов, класс):
557
557
  try:
558
- здесь._соединение.create_aggregate(имя, число_аргументов, класс)
558
+ экземпляр._соединение.create_aggregate(имя, число_аргументов, класс)
559
559
  except Ошибка as ош:
560
560
  raise Ошибка(Перевести_ошибку(ош)) from ош
561
561
 
562
- def Создать_сопоставление(здесь, имя, функция):
562
+ def Создать_сопоставление(экземпляр, имя, функция):
563
563
  try:
564
- здесь._соединение.create_collation(имя, функция)
564
+ экземпляр._соединение.create_collation(имя, функция)
565
565
  except Ошибка as ош:
566
566
  raise Ошибка(Перевести_ошибку(ош)) from ош
567
567
 
568
- def Прервать(здесь):
568
+ def Прервать(экземпляр):
569
569
  try:
570
- здесь._соединение.interrupt()
570
+ экземпляр._соединение.interrupt()
571
571
  except Ошибка as ош:
572
572
  raise Ошибка(Перевести_ошибку(ош)) from ош
573
573
 
574
- def Закрыть(здесь):
574
+ def Закрыть(экземпляр):
575
575
  try:
576
- здесь._соединение.close()
576
+ экземпляр._соединение.close()
577
577
  except Ошибка as ош:
578
578
  raise Ошибка(Перевести_ошибку(ош)) from ош
579
579
 
580
- def Утвердить(здесь):
580
+ def Утвердить(экземпляр):
581
581
  try:
582
- здесь._соединение.commit()
582
+ экземпляр._соединение.commit()
583
583
  except Ошибка as ош:
584
584
  raise Ошибка(Перевести_ошибку(ош)) from ош
585
585
 
586
- def Откатить(здесь):
586
+ def Откатить(экземпляр):
587
587
  try:
588
- здесь._соединение.rollback()
588
+ экземпляр._соединение.rollback()
589
589
  except Ошибка as ош:
590
590
  raise Ошибка(Перевести_ошибку(ош)) from ош
591
591
 
592
592
  @property
593
- def В_транзакции(здесь):
594
- return здесь._соединение.in_transaction
593
+ def В_транзакции(экземпляр):
594
+ return экземпляр._соединение.in_transaction
595
595
 
596
596
  @property
597
- def Изоляция(здесь):
598
- return здесь._соединение.isolation_level
597
+ def Изоляция(экземпляр):
598
+ return экземпляр._соединение.isolation_level
599
599
 
600
600
  @Изоляция.setter
601
- def Изоляция(здесь, значение):
601
+ def Изоляция(экземпляр, значение):
602
602
  if значение not in (None, 'DEFERRED', 'IMMEDIATE', 'EXCLUSIVE'):
603
603
  raise ValueError(f"Недопустимый уровень изоляции: {значение}")
604
- здесь._соединение.isolation_level = значение
604
+ экземпляр._соединение.isolation_level = значение