rupython 1.2.12__py3-none-any.whl → 1.2.14__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.
Files changed (19) hide show
  1. rupython/__/342/225/250/320/247/342/225/250/342/226/221/342/225/250/342/224/202/342/225/250/342/225/233/342/225/250/342/225/227/342/225/250/342/225/233/342/225/250/342/226/223/342/225/250/342/225/233/342/225/244/320/227/342/225/250/342/225/234/342/225/244/320/233/342/225/250/342/225/243_/342/225/250/342/225/221/342/225/250/342/225/233/342/225/250/342/224/244__.py +50 -4
  2. 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/240/342/225/244/320/221/342/225/250/342/225/225/342/225/250/342/225/234/342/225/244/320/225/342/225/244/320/220.py +100 -100
  3. 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 +56 -56
  4. 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/244/342/225/250/342/226/221/342/225/244/320/222/342/225/250/342/226/221/342/225/250/320/242/342/225/244/320/220/342/225/250/342/225/241/342/225/250/342/225/235/342/225/244/320/237.py +212 -212
  5. 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/247/342/225/250/342/226/221/342/225/250/342/224/220/342/225/244/320/220/342/225/250/342/225/233/342/225/244/320/221/342/225/244/320/233.py +141 -0
  6. 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/252/342/225/244/320/223/342/225/244/320/227/342/225/250/342/226/221.py +32 -32
  7. 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/252/342/225/250/342/225/233/342/225/250/342/225/227/342/225/250/342/225/227/342/225/250/342/225/241/342/225/250/342/225/221/342/225/244/320/226/342/225/250/342/225/225/342/225/250/342/225/225.py +326 -326
  8. 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/254/342/225/250/342/226/221/342/225/244/320/222/342/225/250/342/225/241/342/225/250/342/225/235.py +4 -4
  9. 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/256/342/225/244/320/227/342/225/250/342/225/241/342/225/244/320/220/342/225/250/342/225/241/342/225/250/342/224/244/342/225/244/320/234.py +82 -82
  10. 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/257/342/225/250/342/225/233/342/225/244/320/222/342/225/250/342/225/233/342/225/250/342/225/221/342/225/250/342/225/225.py +121 -121
  11. 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/260/342/225/250/342/225/241/342/225/250/342/224/202/342/225/250/320/242/342/225/244/320/233/342/225/244/320/220.py +42 -42
  12. 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/264/342/225/250/342/226/221/342/225/250/342/225/243/342/225/250/342/225/227/342/225/244/320/233.py +123 -0
  13. rupython-1.2.14.dist-info/LICENSE +55 -0
  14. {rupython-1.2.12.dist-info → rupython-1.2.14.dist-info}/METADATA +6 -3
  15. rupython-1.2.14.dist-info/RECORD +21 -0
  16. rupython-1.2.12.dist-info/LICENSE +0 -27
  17. rupython-1.2.12.dist-info/RECORD +0 -19
  18. {rupython-1.2.12.dist-info → rupython-1.2.14.dist-info}/WHEEL +0 -0
  19. {rupython-1.2.12.dist-info → rupython-1.2.14.dist-info}/top_level.txt +0 -0
@@ -171,6 +171,7 @@ for классы, таблица in Встроенные_поля.items():
171
171
  eval("Установить_поле(" + класс + ", '" + замена + "', lambda *ПА, **ИА: " + класс + "." + название + "(*ПА, **ИА))")
172
172
 
173
173
  Система.path.insert(0, ОС.path.dirname(__file__) + '/Модули')
174
+ Система.path.insert(0, ОС.path.dirname(__file__) + '/Модули/Дополнительно')
174
175
 
175
176
  def Заменить_преобразование_в_строку(класс, функция):
176
177
  class Объект_типа(ctypes.Structure): pass
@@ -183,15 +184,15 @@ def Заменить_преобразование_в_строку(класс, ф
183
184
  setattr(Объект_типа.from_address(id(класс)), 'tp_str', Объект_типа._fields_[-1])
184
185
  Выполнить(класс, функция)
185
186
 
186
- Обёртка__Вещ_в_стр = lambda здесь: Вещ_в_стр(здесь).replace('.', ',').replace('inf', 'Бскн')
187
+ Обёртка__Вещ_в_стр = lambda экземпляр: Вещ_в_стр(экземпляр).replace('.', ',').replace('inf', 'Бскн')
187
188
  Вещ_в_стр = float.__str__
188
189
  Заменить_преобразование_в_строку(float, Обёртка__Вещ_в_стр)
189
190
 
190
- Обёртка__Логич_в_стр = lambda здесь: Логич_в_стр(здесь).replace('True', 'Да').replace('False', 'Нет')
191
+ Обёртка__Логич_в_стр = lambda экземпляр: Логич_в_стр(экземпляр).replace('True', 'Да').replace('False', 'Нет')
191
192
  Логич_в_стр = bool.__str__
192
193
  Заменить_преобразование_в_строку(bool, Обёртка__Логич_в_стр)
193
194
 
194
- Обёртка__Пусто_в_стр = lambda здесь: Пусто_в_стр(здесь).replace('None', 'Пусто')
195
+ Обёртка__Пусто_в_стр = lambda экземпляр: Пусто_в_стр(экземпляр).replace('None', 'Пусто')
195
196
  Пусто_в_стр = type(None).__str__
196
197
  Заменить_преобразование_в_строку(type(None), Обёртка__Пусто_в_стр)
197
198
 
@@ -215,7 +216,52 @@ def Свёртка(функция, перебираемое, нач_знач = N
215
216
  for эл in перебираемое: рез = функция(рез, эл)
216
217
  return рез
217
218
 
219
+ class ТрЛогич:
220
+ _instance_map = {}
221
+
222
+ def __new__(класс, название):
223
+ if название not in класс._instance_map:
224
+ класс._instance_map[название] = super().__new__(класс)
225
+ класс._instance_map[название]._name = название
226
+ return класс._instance_map[название]
227
+
228
+ def __and__(экземпляр, значение):
229
+ if not isinstance(значение, ТрЛогич):
230
+ raise TypeError("Операция 'И' возможна только между троичными логическими значениями.")
231
+ if экземпляр is Ложь or значение is Ложь: return Ложь
232
+ if экземпляр is Истина and значение is Истина: return Истина
233
+ return Неопр
234
+
235
+ def __or__(экземпляр, значение):
236
+ if not isinstance(значение, ТрЛогич):
237
+ raise TypeError("Операция 'Или' возможна только между троичными логическими значениями.")
238
+ if экземпляр is Истина or значение is Истина: return Истина
239
+ if экземпляр is Ложь and значение is Ложь: return Ложь
240
+ return Неопр
241
+
242
+ def __invert__(экземпляр):
243
+ if экземпляр is Истина: return Ложь
244
+ if экземпляр is Ложь: return Истина
245
+ return Неопр
246
+
247
+ def __eq__(экземпляр, значение):
248
+ if not isinstance(значение, ТрЛогич): return NotImplemented
249
+ return экземпляр is значение
250
+
251
+ def __bool__(экземпляр):
252
+ if экземпляр is Истина: return True
253
+ elif экземпляр is Ложь: return False
254
+ else:
255
+ raise TypeError("Невозможно преобразовать 'Неопр' в двоичное логическое значение.")
256
+
257
+ def __repr__(экземпляр):
258
+ return f"Троичное({экземпляр._name})"
259
+
260
+ def __str__(экземпляр):
261
+ return экземпляр._name
262
+
218
263
  __builtins__.update(
219
264
  __Проверить_существование__ = Проверить_существование,
220
- Свёртка = Свёртка
265
+ Свёртка = Свёртка,
266
+ Истина = ТрЛогич("Истина"), Ложь = ТрЛогич("ТрЛогич"), Неопр = ТрЛогич("Неопр")
221
267
  )
@@ -18,189 +18,189 @@ from rupython import __Общие_функции__
18
18
  }
19
19
 
20
20
  class Очередь:
21
- def __init__(здесь, максимальный_размер = 0):
21
+ def __init__(экземпляр, максимальный_размер = 0):
22
22
  ИА = {'maxsize': максимальный_размер}
23
- здесь._queue = queue.Queue(**ИА)
23
+ экземпляр._queue = queue.Queue(**ИА)
24
24
 
25
- def Добавить(здесь, элемент, блоковать = True, таймаут = None):
25
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
26
26
  ИА = {'item': элемент, 'block': блоковать}
27
27
  if таймаут is not None:
28
28
  ИА['timeout'] = таймаут
29
- здесь._queue.put(**ИА)
29
+ экземпляр._queue.put(**ИА)
30
30
 
31
- def Добавить_без_блокования(здесь, элемент):
32
- здесь._queue.put_nowait(элемент)
31
+ def Добавить_без_блокования(экземпляр, элемент):
32
+ экземпляр._queue.put_nowait(элемент)
33
33
 
34
- def Получить(здесь, блоковать = True, таймаут = None):
34
+ def Получить(экземпляр, блоковать = True, таймаут = None):
35
35
  ИА = {'block': блоковать}
36
36
  if таймаут is not None:
37
37
  ИА['timeout'] = таймаут
38
- return здесь._queue.get(**ИА)
38
+ return экземпляр._queue.get(**ИА)
39
39
 
40
- def Получить_без_блокования(здесь):
41
- return здесь._queue.get_nowait()
40
+ def Получить_без_блокования(экземпляр):
41
+ return экземпляр._queue.get_nowait()
42
42
 
43
- def Задача_выполнена(здесь):
44
- здесь._queue.task_done()
43
+ def Задача_выполнена(экземпляр):
44
+ экземпляр._queue.task_done()
45
45
 
46
- def Ждать_завершения(здесь):
47
- здесь._queue.join()
46
+ def Ждать_завершения(экземпляр):
47
+ экземпляр._queue.join()
48
48
 
49
- def Пустая(здесь):
50
- return здесь._queue.empty()
49
+ def Пустая(экземпляр):
50
+ return экземпляр._queue.empty()
51
51
 
52
- def Полная(здесь):
53
- return здесь._queue.full()
52
+ def Полная(экземпляр):
53
+ return экземпляр._queue.full()
54
54
 
55
- def Размер(здесь):
56
- return здесь._queue.qsize()
55
+ def Размер(экземпляр):
56
+ return экземпляр._queue.qsize()
57
57
 
58
- def __len__(здесь):
59
- return здесь._queue.qsize()
58
+ def __len__(экземпляр):
59
+ return экземпляр._queue.qsize()
60
60
 
61
- def __str__(здесь):
62
- размер = здесь.Размер()
61
+ def __str__(экземпляр):
62
+ размер = экземпляр.Размер()
63
63
  return f"Очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
64
64
 
65
- def В_строку_с_задачами(здесь):
66
- размер = здесь.Размер()
65
+ def В_строку_с_задачами(экземпляр):
66
+ размер = экземпляр.Размер()
67
67
  return f"Очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
68
68
 
69
69
  class Стековая_очередь:
70
- def __init__(здесь, максимальный_размер = 0):
70
+ def __init__(экземпляр, максимальный_размер = 0):
71
71
  ИА = {'maxsize': максимальный_размер}
72
- здесь._queue = queue.LifoQueue(**ИА)
72
+ экземпляр._queue = queue.LifoQueue(**ИА)
73
73
 
74
- def Добавить(здесь, элемент, блоковать = True, таймаут = None):
74
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
75
75
  ИА = {'item': элемент, 'block': блоковать}
76
76
  if таймаут is not None:
77
77
  ИА['timeout'] = таймаут
78
- здесь._queue.put(**ИА)
78
+ экземпляр._queue.put(**ИА)
79
79
 
80
- def Добавить_без_блокования(здесь, элемент):
81
- здесь._queue.put_nowait(элемент)
80
+ def Добавить_без_блокования(экземпляр, элемент):
81
+ экземпляр._queue.put_nowait(элемент)
82
82
 
83
- def Получить(здесь, блоковать = True, таймаут = None):
83
+ def Получить(экземпляр, блоковать = True, таймаут = None):
84
84
  ИА = {'block': блоковать}
85
85
  if таймаут is not None:
86
86
  ИА['timeout'] = таймаут
87
- return здесь._queue.get(**ИА)
87
+ return экземпляр._queue.get(**ИА)
88
88
 
89
- def Получить_без_блокования(здесь):
90
- return здесь._queue.get_nowait()
89
+ def Получить_без_блокования(экземпляр):
90
+ return экземпляр._queue.get_nowait()
91
91
 
92
- def Задача_выполнена(здесь):
93
- здесь._queue.task_done()
92
+ def Задача_выполнена(экземпляр):
93
+ экземпляр._queue.task_done()
94
94
 
95
- def Ждать_завершения(здесь):
96
- здесь._queue.join()
95
+ def Ждать_завершения(экземпляр):
96
+ экземпляр._queue.join()
97
97
 
98
- def Пустая(здесь):
99
- return здесь._queue.empty()
98
+ def Пустая(экземпляр):
99
+ return экземпляр._queue.empty()
100
100
 
101
- def Полная(здесь):
102
- return здесь._queue.full()
101
+ def Полная(экземпляр):
102
+ return экземпляр._queue.full()
103
103
 
104
- def Размер(здесь):
105
- return здесь._queue.qsize()
104
+ def Размер(экземпляр):
105
+ return экземпляр._queue.qsize()
106
106
 
107
- def __len__(здесь):
108
- return здесь._queue.qsize()
107
+ def __len__(экземпляр):
108
+ return экземпляр._queue.qsize()
109
109
 
110
- def __str__(здесь):
111
- размер = здесь.Размер()
110
+ def __str__(экземпляр):
111
+ размер = экземпляр.Размер()
112
112
  return f"Стековая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
113
113
 
114
- def В_строку_с_задачами(здесь):
115
- размер = здесь.Размер()
114
+ def В_строку_с_задачами(экземпляр):
115
+ размер = экземпляр.Размер()
116
116
  return f"Стековая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
117
117
 
118
118
  class Приоритетная_очередь:
119
- def __init__(здесь, максимальный_размер = 0):
119
+ def __init__(экземпляр, максимальный_размер = 0):
120
120
  ИА = {'maxsize': максимальный_размер}
121
- здесь._queue = queue.PriorityQueue(**ИА)
121
+ экземпляр._queue = queue.PriorityQueue(**ИА)
122
122
 
123
- def Добавить(здесь, элемент, приоритет, блоковать = True, таймаут = None):
123
+ def Добавить(экземпляр, элемент, приоритет, блоковать = True, таймаут = None):
124
124
  ИА = {'item': (приоритет, элемент), 'block': блоковать}
125
125
  if таймаут is not None:
126
126
  ИА['timeout'] = таймаут
127
- здесь._queue.put(**ИА)
127
+ экземпляр._queue.put(**ИА)
128
128
 
129
- def Добавить_без_блокования(здесь, элемент, приоритет):
130
- здесь._queue.put_nowait((приоритет, элемент))
129
+ def Добавить_без_блокования(экземпляр, элемент, приоритет):
130
+ экземпляр._queue.put_nowait((приоритет, элемент))
131
131
 
132
- def Получить(здесь, блоковать = True, таймаут = None):
132
+ def Получить(экземпляр, блоковать = True, таймаут = None):
133
133
  ИА = {'block': блоковать}
134
134
  if таймаут is not None:
135
135
  ИА['timeout'] = таймаут
136
- приоритет, элемент = здесь._queue.get(**ИА)
136
+ приоритет, элемент = экземпляр._queue.get(**ИА)
137
137
  return элемент
138
138
 
139
- def Получить_с_приоритетом(здесь, блоковать = True, таймаут = None):
139
+ def Получить_с_приоритетом(экземпляр, блоковать = True, таймаут = None):
140
140
  ИА = {'block': блоковать}
141
141
  if таймаут is not None:
142
142
  ИА['timeout'] = таймаут
143
- return здесь._queue.get(**ИА)
143
+ return экземпляр._queue.get(**ИА)
144
144
 
145
- def Получить_без_блокования(здесь):
146
- приоритет, элемент = здесь._queue.get_nowait()
145
+ def Получить_без_блокования(экземпляр):
146
+ приоритет, элемент = экземпляр._queue.get_nowait()
147
147
  return элемент
148
148
 
149
- def Получить_без_блокования_с_приоритетом(здесь):
150
- return здесь._queue.get_nowait()
149
+ def Получить_без_блокования_с_приоритетом(экземпляр):
150
+ return экземпляр._queue.get_nowait()
151
151
 
152
- def Задача_выполнена(здесь):
153
- здесь._queue.task_done()
152
+ def Задача_выполнена(экземпляр):
153
+ экземпляр._queue.task_done()
154
154
 
155
- def Ждать_завершения(здесь):
156
- здесь._queue.join()
155
+ def Ждать_завершения(экземпляр):
156
+ экземпляр._queue.join()
157
157
 
158
- def Пустая(здесь):
159
- return здесь._queue.empty()
158
+ def Пустая(экземпляр):
159
+ return экземпляр._queue.empty()
160
160
 
161
- def Полная(здесь):
162
- return здесь._queue.full()
161
+ def Полная(экземпляр):
162
+ return экземпляр._queue.full()
163
163
 
164
- def Размер(здесь):
165
- return здесь._queue.qsize()
164
+ def Размер(экземпляр):
165
+ return экземпляр._queue.qsize()
166
166
 
167
- def __len__(здесь):
168
- return здесь._queue.qsize()
167
+ def __len__(экземпляр):
168
+ return экземпляр._queue.qsize()
169
169
 
170
- def __str__(здесь):
171
- размер = здесь.Размер()
170
+ def __str__(экземпляр):
171
+ размер = экземпляр.Размер()
172
172
  return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
173
173
 
174
- def В_строку_с_задачами(здесь):
175
- размер = здесь.Размер()
174
+ def В_строку_с_задачами(экземпляр):
175
+ размер = экземпляр.Размер()
176
176
  return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
177
177
 
178
178
  class Простая_очередь:
179
- def __init__(здесь):
180
- здесь._queue = queue.SimpleQueue()
179
+ def __init__(экземпляр):
180
+ экземпляр._queue = queue.SimpleQueue()
181
181
 
182
- def Добавить(здесь, элемент):
183
- здесь._queue.put(элемент)
182
+ def Добавить(экземпляр, элемент):
183
+ экземпляр._queue.put(элемент)
184
184
 
185
- def Получить(здесь):
186
- return здесь._queue.get()
185
+ def Получить(экземпляр):
186
+ return экземпляр._queue.get()
187
187
 
188
- def Получить_без_блокования(здесь):
189
- return здесь._queue.get_nowait()
188
+ def Получить_без_блокования(экземпляр):
189
+ return экземпляр._queue.get_nowait()
190
190
 
191
- def Пустая(здесь):
192
- здесь._queue.empty()
191
+ def Пустая(экземпляр):
192
+ экземпляр._queue.empty()
193
193
 
194
- def Размер(здесь):
195
- return здесь._queue.qsize()
194
+ def Размер(экземпляр):
195
+ return экземпляр._queue.qsize()
196
196
 
197
- def __len__(здесь):
198
- return здесь._queue.qsize()
197
+ def __len__(экземпляр):
198
+ return экземпляр._queue.qsize()
199
199
 
200
- def __str__(здесь):
201
- размер = здесь.Размер()
200
+ def __str__(экземпляр):
201
+ размер = экземпляр.Размер()
202
202
  return f"Простая_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
203
203
 
204
- def В_строку_с_задачами(здесь):
205
- размер = здесь.Размер()
204
+ def В_строку_с_задачами(экземпляр):
205
+ размер = экземпляр.Размер()
206
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 = значение