rupython 1.2.12__py3-none-any.whl → 1.2.13__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 (15) 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 +49 -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/252/342/225/244/320/223/342/225/244/320/227/342/225/250/342/226/221.py +32 -32
  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/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
  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/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
  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/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
  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/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
  10. {rupython-1.2.12.dist-info → rupython-1.2.13.dist-info}/METADATA +3 -3
  11. rupython-1.2.13.dist-info/RECORD +19 -0
  12. rupython-1.2.12.dist-info/RECORD +0 -19
  13. {rupython-1.2.12.dist-info → rupython-1.2.13.dist-info}/LICENSE +0 -0
  14. {rupython-1.2.12.dist-info → rupython-1.2.13.dist-info}/WHEEL +0 -0
  15. {rupython-1.2.12.dist-info → rupython-1.2.13.dist-info}/top_level.txt +0 -0
@@ -18,160 +18,160 @@ from rupython import __Общие_функции__
18
18
  }
19
19
 
20
20
  class Очередь:
21
- def __init__(здесь, максимальный_размер = 0):
21
+ def __init__(экземпляр, максимальный_размер = 0):
22
22
  kwargs = {'maxsize': максимальный_размер}
23
- здесь._queue = queue.Queue(**kwargs)
23
+ экземпляр._queue = queue.Queue(**kwargs)
24
24
 
25
- def Добавить(здесь, элемент, блоковать = True, таймаут = None):
25
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
26
26
  kwargs = {'item': элемент, 'block': блоковать}
27
27
  if таймаут is not None:
28
28
  kwargs['timeout'] = таймаут
29
- здесь._queue.put(**kwargs)
29
+ экземпляр._queue.put(**kwargs)
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
  kwargs = {'block': блоковать}
36
36
  if таймаут is not None:
37
37
  kwargs['timeout'] = таймаут
38
- return здесь._queue.get(**kwargs)
38
+ return экземпляр._queue.get(**kwargs)
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
  kwargs = {'maxsize': максимальный_размер}
72
- здесь._queue = queue.LifoQueue(**kwargs)
72
+ экземпляр._queue = queue.LifoQueue(**kwargs)
73
73
 
74
- def Добавить(здесь, элемент, блоковать = True, таймаут = None):
74
+ def Добавить(экземпляр, элемент, блоковать = True, таймаут = None):
75
75
  kwargs = {'item': элемент, 'block': блоковать}
76
76
  if таймаут is not None:
77
77
  kwargs['timeout'] = таймаут
78
- здесь._queue.put(**kwargs)
78
+ экземпляр._queue.put(**kwargs)
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
  kwargs = {'block': блоковать}
85
85
  if таймаут is not None:
86
86
  kwargs['timeout'] = таймаут
87
- return здесь._queue.get(**kwargs)
87
+ return экземпляр._queue.get(**kwargs)
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
  kwargs = {'maxsize': максимальный_размер}
121
- здесь._queue = queue.PriorityQueue(**kwargs)
121
+ экземпляр._queue = queue.PriorityQueue(**kwargs)
122
122
 
123
- def Добавить(здесь, элемент, приоритет, блоковать = True, таймаут = None):
123
+ def Добавить(экземпляр, элемент, приоритет, блоковать = True, таймаут = None):
124
124
  kwargs = {'item': (приоритет, элемент), 'block': блоковать}
125
125
  if таймаут is not None:
126
126
  kwargs['timeout'] = таймаут
127
- здесь._queue.put(**kwargs)
127
+ экземпляр._queue.put(**kwargs)
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
  kwargs = {'block': блоковать}
134
134
  if таймаут is not None:
135
135
  kwargs['timeout'] = таймаут
136
- приоритет, элемент = здесь._queue.get(**kwargs)
136
+ приоритет, элемент = экземпляр._queue.get(**kwargs)
137
137
  return элемент
138
138
 
139
- def Получить_с_приоритетом(здесь, блоковать = True, таймаут = None):
139
+ def Получить_с_приоритетом(экземпляр, блоковать = True, таймаут = None):
140
140
  kwargs = {'block': блоковать}
141
141
  if таймаут is not None:
142
142
  kwargs['timeout'] = таймаут
143
- return здесь._queue.get(**kwargs)
143
+ return экземпляр._queue.get(**kwargs)
144
144
 
145
- def Получить_без_блокования(здесь):
146
- приоритет, элемент = здесь._queue.get_nowait()
145
+ def Получить_без_блокования(экземпляр):
146
+ приоритет, элемент = экземпляр._queue.get_nowait()
147
147
  return элемент
148
148
 
149
- def Получить_без_блокования_с_приоритетом(здесь):
149
+ def Получить_без_блокования_с_приоритетом(экземпляр):
150
150
  """Возвращает кортеж (приоритет, элемент)."""
151
- return здесь._queue.get_nowait()
151
+ return экземпляр._queue.get_nowait()
152
152
 
153
- def Задача_выполнена(здесь):
154
- здесь._queue.task_done()
153
+ def Задача_выполнена(экземпляр):
154
+ экземпляр._queue.task_done()
155
155
 
156
- def Ждать_завершения(здесь):
157
- здесь._queue.join()
156
+ def Ждать_завершения(экземпляр):
157
+ экземпляр._queue.join()
158
158
 
159
- def Пустая(здесь):
160
- return здесь._queue.empty()
159
+ def Пустая(экземпляр):
160
+ return экземпляр._queue.empty()
161
161
 
162
- def Полная(здесь):
163
- return здесь._queue.full()
162
+ def Полная(экземпляр):
163
+ return экземпляр._queue.full()
164
164
 
165
- def Размер(здесь):
166
- return здесь._queue.qsize()
165
+ def Размер(экземпляр):
166
+ return экземпляр._queue.qsize()
167
167
 
168
- def __len__(здесь):
169
- return здесь._queue.qsize()
168
+ def __len__(экземпляр):
169
+ return экземпляр._queue.qsize()
170
170
 
171
- def __str__(здесь):
172
- размер = здесь.Размер()
171
+ def __str__(экземпляр):
172
+ размер = экземпляр.Размер()
173
173
  return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['элемент'])}"
174
174
 
175
- def В_строку_с_задачами(здесь):
176
- размер = здесь.Размер()
175
+ def В_строку_с_задачами(экземпляр):
176
+ размер = экземпляр.Размер()
177
177
  return f"Приоритетная_очередь с {__Общие_функции__.Склонение_после_числительного(размер, Словарь_склонений['задача'])}"
@@ -26,7 +26,7 @@ from rupython import __Общие_функции__
26
26
  }
27
27
 
28
28
  class Поток:
29
- def __init__(здесь, цель = None, имя = None, аргументы = (), именовАргументы = None, после_окончания = None):
29
+ def __init__(экземпляр, цель = None, имя = None, аргументы = (), именовАргументы = None, после_окончания = None):
30
30
  ИА = {}
31
31
  if цель is not None:
32
32
  ИА['target'] = цель
@@ -38,227 +38,227 @@ class Поток:
38
38
  ИА['kwargs'] = именовАргументы
39
39
  if после_окончания is not None:
40
40
  ИА['daemon'] = после_окончания
41
- здесь._thread = threading.Thread(**ИА)
41
+ экземпляр._thread = threading.Thread(**ИА)
42
42
 
43
- def Начать(здесь):
44
- здесь._thread.start()
43
+ def Начать(экземпляр):
44
+ экземпляр._thread.start()
45
45
 
46
- def Ждать(здесь, время_ожидания = None):
46
+ def Ждать(экземпляр, время_ожидания = None):
47
47
  ИА = {}
48
48
  if время_ожидания is not None:
49
49
  ИА['timeout'] = время_ожидания
50
- здесь._thread.join(**kwargs)
50
+ экземпляр._thread.join(**kwargs)
51
51
 
52
- def Живой(здесь):
53
- return здесь._thread.is_alive()
52
+ def Живой(экземпляр):
53
+ return экземпляр._thread.is_alive()
54
54
 
55
- def Получить_имя(здесь):
56
- return здесь._thread.getName()
55
+ def Получить_имя(экземпляр):
56
+ return экземпляр._thread.getName()
57
57
 
58
- def Установить_имя(здесь, имя):
59
- здесь._thread.setName(имя)
58
+ def Установить_имя(экземпляр, имя):
59
+ экземпляр._thread.setName(имя)
60
60
 
61
- def Получить_идентификатор(здесь):
62
- return здесь._thread.ident
61
+ def Получить_идентификатор(экземпляр):
62
+ return экземпляр._thread.ident
63
63
 
64
- def После_окончания(здесь):
65
- return здесь._thread.daemon
64
+ def После_окончания(экземпляр):
65
+ return экземпляр._thread.daemon
66
66
 
67
- def Установить_после_окончания(здесь, после_окончания):
68
- здесь._thread.daemon = после_окончания
67
+ def Установить_после_окончания(экземпляр, после_окончания):
68
+ экземпляр._thread.daemon = после_окончания
69
69
 
70
- def __str__(здесь):
71
- return f"Поток(имя={здесь.Получить_имя()}, живой={здесь.Живой()})"
70
+ def __str__(экземпляр):
71
+ return f"Поток(имя={экземпляр.Получить_имя()}, живой={экземпляр.Живой()})"
72
72
 
73
73
  class Блокование:
74
- def __init__(здесь):
75
- здесь._lock = threading.Lock()
74
+ def __init__(экземпляр):
75
+ экземпляр._lock = threading.Lock()
76
76
 
77
- def Захватить(здесь, блоковать = True, время_ожидания = None):
77
+ def Захватить(экземпляр, блоковать = True, время_ожидания = None):
78
78
  ИА = {'block': блоковать}
79
79
  if время_ожидания is not None:
80
80
  ИА['timeout'] = время_ожидания
81
- return здесь._lock.acquire(**ИА)
81
+ return экземпляр._lock.acquire(**ИА)
82
82
 
83
- def Освободить(здесь):
84
- здесь._lock.release()
83
+ def Освободить(экземпляр):
84
+ экземпляр._lock.release()
85
85
 
86
- def Захвачено(здесь):
87
- return здесь._lock.locked()
86
+ def Захвачено(экземпляр):
87
+ return экземпляр._lock.locked()
88
88
 
89
- def __enter__(здесь):
90
- здесь.Захватить()
91
- return здесь
89
+ def __enter__(экземпляр):
90
+ экземпляр.Захватить()
91
+ return экземпляр
92
92
 
93
- def __exit__(здесь, тип_исключения, значение_исключения, трассировка):
94
- здесь.Освободить()
93
+ def __exit__(экземпляр, тип_исключения, значение_исключения, трассировка):
94
+ экземпляр.Освободить()
95
95
 
96
- def __str__(здесь):
97
- return f"Блокование(захвачено={здесь.Захвачено()})"
96
+ def __str__(экземпляр):
97
+ return f"Блокование(захвачено={экземпляр.Захвачено()})"
98
98
 
99
99
  class Повторное_блокование:
100
- def __init__(здесь):
101
- здесь._rlock = threading.RLock()
100
+ def __init__(экземпляр):
101
+ экземпляр._rlock = threading.RLock()
102
102
 
103
- def Захватить(здесь, блоковать = True, время_ожидания = None):
103
+ def Захватить(экземпляр, блоковать = True, время_ожидания = None):
104
104
  ИА = {'block': блоковать}
105
105
  if время_ожидания is not None:
106
106
  ИА['timeout'] = время_ожидания
107
- return здесь._rlock.acquire(**ИА)
107
+ return экземпляр._rlock.acquire(**ИА)
108
108
 
109
- def Освободить(здесь):
110
- здесь._rlock.release()
109
+ def Освободить(экземпляр):
110
+ экземпляр._rlock.release()
111
111
 
112
- def __enter__(здесь):
113
- здесь.Захватить()
114
- return здесь
112
+ def __enter__(экземпляр):
113
+ экземпляр.Захватить()
114
+ return экземпляр
115
115
 
116
- def __exit__(здесь, тип_исключения, значение_исключения, трассировка):
117
- здесь.Освободить()
116
+ def __exit__(экземпляр, тип_исключения, значение_исключения, трассировка):
117
+ экземпляр.Освободить()
118
118
 
119
- def __str__(здесь):
120
- return f"Повторное_блокование(владелец={здесь._rlock._owner}, счётчик={здесь._rlock._count})"
119
+ def __str__(экземпляр):
120
+ return f"Повторное_блокование(владелец={экземпляр._rlock._owner}, счётчик={экземпляр._rlock._count})"
121
121
 
122
122
  class Семафор:
123
- def __init__(здесь, количество = 1):
123
+ def __init__(экземпляр, количество = 1):
124
124
  ИА = {'value': количество}
125
- здесь._semaphore = threading.Semaphore(**ИА)
125
+ экземпляр._semaphore = threading.Semaphore(**ИА)
126
126
 
127
- def Захватить(здесь, блоковать = True, время_ожидания = None):
127
+ def Захватить(экземпляр, блоковать = True, время_ожидания = None):
128
128
  ИА = {'block': блоковать}
129
129
  if время_ожидания is not None:
130
130
  ИА['timeout'] = время_ожидания
131
- return здесь._semaphore.acquire(**ИА)
131
+ return экземпляр._semaphore.acquire(**ИА)
132
132
 
133
- def Освободить(здесь):
134
- здесь._semaphore.release()
133
+ def Освободить(экземпляр):
134
+ экземпляр._semaphore.release()
135
135
 
136
- def __enter__(здесь):
137
- здесь.Захватить()
138
- return здесь
136
+ def __enter__(экземпляр):
137
+ экземпляр.Захватить()
138
+ return экземпляр
139
139
 
140
- def __exit__(здесь, тип_исключения, значение_исключения, трассировка):
141
- здесь.Освободить()
140
+ def __exit__(экземпляр, тип_исключения, значение_исключения, трассировка):
141
+ экземпляр.Освободить()
142
142
 
143
- def __str__(здесь):
144
- return f"Семафор(ресурсов={здесь._semaphore._value})"
143
+ def __str__(экземпляр):
144
+ return f"Семафор(ресурсов={экземпляр._semaphore._value})"
145
145
 
146
146
  class Ограниченный_семафор(Семафор):
147
- def __init__(здесь, количество = 1):
147
+ def __init__(экземпляр, количество = 1):
148
148
  ИА = {'value': количество}
149
- здесь._semaphore = threading.BoundedSemaphore(**ИА)
149
+ экземпляр._semaphore = threading.BoundedSemaphore(**ИА)
150
150
 
151
151
  class Событие:
152
- def __init__(здесь):
153
- здесь._event = threading.Event()
152
+ def __init__(экземпляр):
153
+ экземпляр._event = threading.Event()
154
154
 
155
- def Установить(здесь):
156
- здесь._event.set()
155
+ def Установить(экземпляр):
156
+ экземпляр._event.set()
157
157
 
158
- def Сбросить(здесь):
159
- здесь._event.clear()
158
+ def Сбросить(экземпляр):
159
+ экземпляр._event.clear()
160
160
 
161
- def Активно(здесь):
162
- return здесь._event.is_set()
161
+ def Активно(экземпляр):
162
+ return экземпляр._event.is_set()
163
163
 
164
- def Ждать(здесь, время_ожидания = None):
164
+ def Ждать(экземпляр, время_ожидания = None):
165
165
  ИА = {}
166
166
  if время_ожидания is not None:
167
167
  ИА['timeout'] = время_ожидания
168
- return здесь._event.wait(**ИА)
168
+ return экземпляр._event.wait(**ИА)
169
169
 
170
- def __str__(здесь):
171
- return f"Событие(активно={здесь.Активно()})"
170
+ def __str__(экземпляр):
171
+ return f"Событие(активно={экземпляр.Активно()})"
172
172
 
173
173
  class Условие:
174
- def __init__(здесь, блокование = None):
174
+ def __init__(экземпляр, блокование = None):
175
175
  ИА = {}
176
176
  if блокование is not None:
177
177
  ИА['lock'] = блокование._lock if isinstance(блокование, (Блокование, Повторное_блокование)) else блокование
178
- здесь._condition = threading.Condition(**ИА)
178
+ экземпляр._condition = threading.Condition(**ИА)
179
179
 
180
- def Захватить(здесь):
181
- return здесь._condition.acquire()
180
+ def Захватить(экземпляр):
181
+ return экземпляр._condition.acquire()
182
182
 
183
- def Освободить(здесь):
184
- здесь._condition.release()
183
+ def Освободить(экземпляр):
184
+ экземпляр._condition.release()
185
185
 
186
- def Ждать(здесь, время_ожидания = None):
186
+ def Ждать(экземпляр, время_ожидания = None):
187
187
  ИА = {}
188
188
  if время_ожидания is not None:
189
189
  ИА['timeout'] = время_ожидания
190
- return здесь._condition.wait(**ИА)
190
+ return экземпляр._condition.wait(**ИА)
191
191
 
192
- def Уведомить(здесь, количество = 1):
192
+ def Уведомить(экземпляр, количество = 1):
193
193
  ИА = {'n': количество}
194
- здесь._condition.notify(**ИА)
194
+ экземпляр._condition.notify(**ИА)
195
195
 
196
- def Уведомить_все(здесь):
197
- здесь._condition.notify_all()
196
+ def Уведомить_все(экземпляр):
197
+ экземпляр._condition.notify_all()
198
198
 
199
- def __enter__(здесь):
200
- здесь.Захватить()
201
- return здесь
199
+ def __enter__(экземпляр):
200
+ экземпляр.Захватить()
201
+ return экземпляр
202
202
 
203
- def __exit__(здесь, тип_исключения, значение_исключения, трассировка):
204
- здесь.Освободить()
203
+ def __exit__(экземпляр, тип_исключения, значение_исключения, трассировка):
204
+ экземпляр.Освободить()
205
205
 
206
- def __str__(здесь):
207
- return f"Условие(захвачено={здесь._condition._is_owned()})"
206
+ def __str__(экземпляр):
207
+ return f"Условие(захвачено={экземпляр._condition._is_owned()})"
208
208
 
209
209
  class Барьер:
210
- def __init__(здесь, количество, действие = None, время_ожидания = None):
210
+ def __init__(экземпляр, количество, действие = None, время_ожидания = None):
211
211
  ИА = {'parties': количество}
212
212
  if действие is not None:
213
213
  ИА['action'] = действие
214
214
  if время_ожидания is not None:
215
215
  ИА['timeout'] = время_ожидания
216
- здесь._barrier = threading.Barrier(**ИА)
216
+ экземпляр._barrier = threading.Barrier(**ИА)
217
217
 
218
- def Ждать(здесь, время_ожидания = None):
218
+ def Ждать(экземпляр, время_ожидания = None):
219
219
  ИА = {}
220
220
  if время_ожидания is not None:
221
221
  ИА['timeout'] = время_ожидания
222
- return здесь._barrier.wait(**ИА)
222
+ return экземпляр._barrier.wait(**ИА)
223
223
 
224
- def Сбросить(здесь):
225
- здесь._barrier.reset()
224
+ def Сбросить(экземпляр):
225
+ экземпляр._barrier.reset()
226
226
 
227
- def Прервать(здесь):
228
- здесь._barrier.abort()
227
+ def Прервать(экземпляр):
228
+ экземпляр._barrier.abort()
229
229
 
230
- def Количество_участников(здесь):
231
- return здесь._barrier.parties
230
+ def Количество_участников(экземпляр):
231
+ return экземпляр._barrier.parties
232
232
 
233
- def Количество_ожидающих(здесь):
234
- return здесь._barrier.n_waiting
233
+ def Количество_ожидающих(экземпляр):
234
+ return экземпляр._barrier.n_waiting
235
235
 
236
- def Сломан(здесь):
237
- return здесь._barrier.broken
236
+ def Сломан(экземпляр):
237
+ return экземпляр._barrier.broken
238
238
 
239
- def __str__(здесь):
240
- return f"Барьер({__Общие_функции__.Склонение_после_числительного(здесь.Количество_ожидающих(), Словарь_склонений['участник'])} из {здесь.Количество_участников()})"
239
+ def __str__(экземпляр):
240
+ return f"Барьер({__Общие_функции__.Склонение_после_числительного(экземпляр.Количество_ожидающих(), Словарь_склонений['участник'])} из {экземпляр.Количество_участников()})"
241
241
 
242
242
  class Таймер(Поток):
243
- def __init__(здесь, интервал, цель, аргументы = (), именовАргументы = None, обратный_вызов = None, аргументыОбрВыз = (), именовАргументыОбрВыз = None):
243
+ def __init__(экземпляр, интервал, цель, аргументы = (), именовАргументы = None, обратный_вызов = None, аргументыОбрВыз = (), именовАргументыОбрВыз = None):
244
244
  ИА = {'interval': интервал, 'function': цель}
245
245
  if аргументы:
246
246
  ИА['args'] = аргументы
247
247
  if именовАргументы is not None:
248
248
  ИА['kwargs'] = именовАргументы
249
- здесь._timer = threading.Timer(**ИА)
250
- здесь._callback = обратный_вызов
251
- здесь._callback_args = аргументыОбрВыз
252
- здесь._callback_kwargs = именовАргументыОбрВыз or {}
249
+ экземпляр._timer = threading.Timer(**ИА)
250
+ экземпляр._callback = обратный_вызов
251
+ экземпляр._callback_args = аргументыОбрВыз
252
+ экземпляр._callback_kwargs = именовАргументыОбрВыз or {}
253
253
 
254
- def Отменить(здесь):
255
- здесь._timer.cancel()
254
+ def Отменить(экземпляр):
255
+ экземпляр._timer.cancel()
256
256
 
257
- def Завершён(здесь):
258
- return здесь._timer.finished.is_set()
257
+ def Завершён(экземпляр):
258
+ return экземпляр._timer.finished.is_set()
259
259
 
260
- def __str__(здесь):
261
- return f"Таймер(интервал={здесь._timer.interval}, завершён={здесь.Завершён()})"
260
+ def __str__(экземпляр):
261
+ return f"Таймер(интервал={экземпляр._timer.interval}, завершён={экземпляр.Завершён()})"
262
262
 
263
263
  def Текущий_поток():
264
264
  return Поток(цель = lambda: None, имя = threading.current_thread().getName())