rupython 1.2.2__tar.gz → 1.2.3__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.2 → rupython-1.2.3}/PKG-INFO +1 -1
  2. {rupython-1.2.2 → rupython-1.2.3}/rupython/__main__.py +4 -15
  3. rupython-1.2.3/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 +21 -0
  4. rupython-1.2.3/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 +478 -0
  5. {rupython-1.2.2 → rupython-1.2.3}/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 +11 -10
  6. {rupython-1.2.2 → rupython-1.2.3}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/241/320/273/321/203/321/207.py +4 -3
  7. {rupython-1.2.2 → rupython-1.2.3}/rupython.egg-info/PKG-INFO +1 -1
  8. {rupython-1.2.2 → rupython-1.2.3}/rupython.egg-info/SOURCES.txt +2 -0
  9. {rupython-1.2.2 → rupython-1.2.3}/setup.py +1 -1
  10. {rupython-1.2.2 → rupython-1.2.3}/LICENSE +0 -0
  11. {rupython-1.2.2 → rupython-1.2.3}/README.md +0 -0
  12. {rupython-1.2.2 → rupython-1.2.3}/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
  13. {rupython-1.2.2 → rupython-1.2.3}/rupython//320/234/320/276/320/264/321/203/320/273/320/270//320/221/320/224.py" +0 -0
  14. {rupython-1.2.2 → rupython-1.2.3}/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
  15. {rupython-1.2.2 → rupython-1.2.3}/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
  16. {rupython-1.2.2 → rupython-1.2.3}/rupython.egg-info/dependency_links.txt +0 -0
  17. {rupython-1.2.2 → rupython-1.2.3}/rupython.egg-info/top_level.txt +0 -0
  18. {rupython-1.2.2 → rupython-1.2.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -1,4 +1,5 @@
1
1
  from . import Преобразователь
2
+ from . import __Общие_функции__
2
3
  import os as ОС
3
4
  import sys as Система
4
5
 
@@ -13,18 +14,6 @@ def Перехватчик_прерывания_клавиатурой(тип_и
13
14
  Исходник = Преобразователь.Преобразовать_код(Путь_к_файлу)
14
15
  if Исходник: Преобразователь.Запустить_код(Название_файла, Исходник, Путь_к_файлу)
15
16
 
16
- def Ожидать_нажатие_клавиши(сообщение):
17
- if ОС.name == 'nt':
18
- import msvcrt
19
- print('\n' + сообщение)
20
- msvcrt.getch()
21
- else:
22
- import tty
23
- import termios
24
- print('\n' + сообщение)
25
- fd = Система.stdin.fileno()
26
- старые_настройки = termios.tcgetattr(fd)
27
- try: tty.setraw(fd); Система.stdin.read(1)
28
- finally: termios.tcsetattr(fd, termios.TCSADRAIN, старые_настройки)
29
-
30
- Ожидать_нажатие_клавиши('=== Исполнение кода завершено. Нажмите любую клавишу для выхода. ===')
17
+ __Общие_функции__.Ожидать_нажатие_клавиши(
18
+ '=== Исполнение кода завершено. Нажмите любую клавишу для выхода. ==='
19
+ )
@@ -0,0 +1,21 @@
1
+ import os as ОС
2
+
3
+ def Заменить_ключи_в_словаре(словарь, замены):
4
+ новый = {}
5
+ for н, з in словарь.items():
6
+ новый.setdefault(замены[н] if н in замены.keys() else н, з)
7
+ return новый
8
+
9
+ def Ожидать_нажатие_клавиши(сообщение):
10
+ if ОС.name == 'nt':
11
+ import msvcrt
12
+ print('\n' + сообщение)
13
+ msvcrt.getch()
14
+ else:
15
+ import tty
16
+ import termios
17
+ print('\n' + сообщение)
18
+ fd = Система.stdin.fileno()
19
+ старые_настройки = termios.tcgetattr(fd)
20
+ try: tty.setraw(fd); Система.stdin.read(1)
21
+ finally: termios.tcsetattr(fd, termios.TCSADRAIN, старые_настройки)
@@ -0,0 +1,478 @@
1
+ import datetime
2
+ from rupython import __Общие_функции__
3
+
4
+ Часовой_пояс = datetime.timezone
5
+ Временная_метка = datetime.datetime
6
+
7
+ Формат_даты = '%Д.%М.%Г'
8
+ Формат_времени = '%ч:%м:%с'
9
+ Формат_даты_и_времени = '%Д.%М.%Г %ч:%м:%с'
10
+
11
+ Словарь_спецификаторов = {
12
+ '%Г': '%Y', # год (4 цифры, например 1945)
13
+ '%М': '%m', # месяц (2 цифры, 01–12)
14
+ '%Д': '%d', # день (2 цифры, 01–31)
15
+ '%ч': '%H', # часы (2 цифры, 00–23)
16
+ '%м': '%M', # минуты (2 цифры, 00–59)
17
+ '%с': '%S', # секунды (2 цифры, 00–59)
18
+ '%д': '%f' # дробная часть секунды (в микросекундах) (6 цифр, 000000–999999)
19
+ }
20
+
21
+ Словарь_параметров = {
22
+ 'год': 'year', 'месяц': 'month', 'день': 'day',
23
+ 'часов': 'hour', 'минут': 'minute', 'секунд': 'second',
24
+ 'микросекунд': 'microsecond', 'часовой_пояс': 'tzinfo',
25
+ 'добавка_летнего_времени': 'fold'
26
+ }
27
+
28
+ Словарь_параметров_интервала = {
29
+ 'дней': 'days', 'секунд': 'seconds',
30
+ 'микросекунд': 'microseconds', 'миллисекунд': 'milliseconds',
31
+ 'минут': 'minutes', 'часов': 'hours', 'недель': 'weeks'
32
+ }
33
+
34
+ def Перевести_формат(формат):
35
+ for русский, питоновский in Словарь_спецификаторов.items():
36
+ формат = формат.replace(русский, питоновский)
37
+ return формат
38
+
39
+ class Дата_и_время:
40
+ def __init__(здесь, *ПА, **ИА):
41
+ if len(ПА) > 0 and type(ПА[0]) == datetime.datetime: здесь._дата_время = ПА[0]
42
+ else:
43
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(
44
+ ИА, Словарь_параметров
45
+ )
46
+ здесь._дата_время = datetime.datetime(*ПА, **ИА)
47
+
48
+ @staticmethod
49
+ def Сейчас(часовой_пояс=None):
50
+ return Дата_и_время(datetime.datetime.now(часовой_пояс))
51
+
52
+ @staticmethod
53
+ def До_сейчас():
54
+ return Дата_и_время(datetime.datetime.utcnow())
55
+
56
+ @staticmethod
57
+ def Из_метки_времени(метка_времени, часовой_пояс=None):
58
+ return Дата_и_время(datetime.datetime.fromtimestamp(метка_времени, часовой_пояс))
59
+
60
+ @staticmethod
61
+ def Из_формата_ISO(строка):
62
+ return Дата_и_время(datetime.datetime.fromisoformat(строка))
63
+
64
+ @staticmethod
65
+ def Разобрать(строка, формат):
66
+ формат = Перевести_формат(формат)
67
+ return Дата_и_время(datetime.datetime.strptime(строка, формат))
68
+
69
+ def Формат(здесь, формат):
70
+ формат = Перевести_формат(формат)
71
+ return здесь._дата_время.strftime(формат)
72
+
73
+ def В_строку(здесь):
74
+ return здесь._дата_время.isoformat()
75
+
76
+ def В_метку_времени(здесь):
77
+ return здесь._дата_время.timestamp()
78
+
79
+ def День_недели(здесь):
80
+ return здесь._дата_время.weekday()
81
+
82
+ def Номер_дня_недели(здесь):
83
+ return здесь._дата_время.isoweekday()
84
+
85
+ def Добавить(здесь, интервал):
86
+ return Дата_и_время(здесь._дата_время + интервал._интервал)
87
+
88
+ def Вычесть(здесь, интервал):
89
+ return Дата_и_время(здесь._дата_время - интервал._интервал)
90
+
91
+ def __add__(здесь, другой):
92
+ if isinstance(другой, Интервал):
93
+ return здесь.Добавить(другой)
94
+ return NotImplemented
95
+
96
+ def __radd__(здесь, другой):
97
+ if isinstance(другой, Интервал):
98
+ return здесь.Добавить(другой)
99
+ return NotImplemented
100
+
101
+ def __sub__(здесь, другой):
102
+ if isinstance(другой, Интервал):
103
+ return здесь.Вычесть(другой)
104
+ return NotImplemented
105
+
106
+ def __eq__(здесь, другой):
107
+ if isinstance(другой, Дата_и_время):
108
+ return здесь._дата_время == другой._дата_время
109
+ return NotImplemented
110
+
111
+ def __lt__(здесь, другой):
112
+ if isinstance(другой, Дата_и_время):
113
+ return здесь._дата_время < другой._дата_время
114
+ return NotImplemented
115
+
116
+ def __le__(здесь, другой):
117
+ if isinstance(другой, Дата_и_время):
118
+ return здесь._дата_время <= другой._дата_время
119
+ return NotImplemented
120
+
121
+ def __gt__(здесь, другой):
122
+ if isinstance(другой, Дата_и_время):
123
+ return здесь._дата_время > другой._дата_время
124
+ return NotImplemented
125
+
126
+ def __ge__(здесь, другой):
127
+ if isinstance(другой, Дата_и_время):
128
+ return здесь._дата_время >= другой._дата_время
129
+ return NotImplemented
130
+
131
+ @property
132
+ def Год(здесь):
133
+ return здесь._дата_время.year
134
+
135
+ @property
136
+ def Месяц(здесь):
137
+ return здесь._дата_время.month
138
+
139
+ @property
140
+ def День(здесь):
141
+ return здесь._дата_время.day
142
+
143
+ @property
144
+ def Часов(здесь):
145
+ return здесь._дата_время.hour
146
+
147
+ @property
148
+ def Минут(здесь):
149
+ return здесь._дата_время.minute
150
+
151
+ @property
152
+ def Секунд(здесь):
153
+ return здесь._дата_время.second
154
+
155
+ @property
156
+ def Микросекунд(здесь):
157
+ return здесь._дата_время.microsecond
158
+
159
+ @property
160
+ def Часовой_пояс(здесь):
161
+ return здесь._дата_время.tzinfo
162
+
163
+ class Дата:
164
+ def __init__(здесь, *ПА, **ИА):
165
+ if len(ПА) > 0 and type(ПА[0]) == datetime.date: здесь._дата = ПА[0]
166
+ else:
167
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(
168
+ ИА, Словарь_параметров
169
+ )
170
+ здесь._дата = datetime.date(*ПА, **ИА)
171
+
172
+ @staticmethod
173
+ def Сегодня():
174
+ return Дата(datetime.date.today())
175
+
176
+ @staticmethod
177
+ def От_даты(порядковый_номер):
178
+ return Дата(datetime.date.fromordinal(порядковый_номер))
179
+
180
+ def Формат(здесь, формат):
181
+ формат = Перевести_формат(формат)
182
+ return здесь._дата.strftime(формат)
183
+
184
+ def В_строку(здесь):
185
+ return здесь._дата.isoformat()
186
+
187
+ def День_недели(здесь):
188
+ return здесь._дата.isoweekday()
189
+
190
+ def Добавить(здесь, интервал):
191
+ return Дата(здесь._дата + интервал._интервал)
192
+
193
+ def Вычесть(здесь, интервал):
194
+ return Дата(здесь._дата - интервал._интервал)
195
+
196
+ def __add__(здесь, другой):
197
+ if isinstance(другой, Интервал):
198
+ return здесь.Добавить(другой)
199
+ return NotImplemented
200
+
201
+ def __radd__(здесь, другой):
202
+ if isinstance(другой, Интервал):
203
+ return здесь.Добавить(другой)
204
+ return NotImplemented
205
+
206
+ def __sub__(здесь, другой):
207
+ if isinstance(другой, Интервал):
208
+ return здесь.Вычесть(другой)
209
+ return NotImplemented
210
+
211
+ def __eq__(здесь, другой):
212
+ if isinstance(другой, Дата):
213
+ return здесь._дата == другой._дата
214
+ return NotImplemented
215
+
216
+ def __lt__(здесь, другой):
217
+ if isinstance(другой, Дата):
218
+ return здесь._дата < другой._дата
219
+ return NotImplemented
220
+
221
+ def __le__(здесь, другой):
222
+ if isinstance(другой, Дата):
223
+ return здесь._дата <= другой._дата
224
+ return NotImplemented
225
+
226
+ def __gt__(здесь, другой):
227
+ if isinstance(другой, Дата):
228
+ return здесь._дата > другой._дата
229
+ return NotImplemented
230
+
231
+ def __ge__(здесь, другой):
232
+ if isinstance(другой, Дата):
233
+ return здесь._дата >= другой._дата
234
+ return NotImplemented
235
+
236
+ @property
237
+ def год(здесь): return здесь._дата.year
238
+
239
+ @property
240
+ def месяц(здесь): return здесь._дата.month
241
+
242
+ @property
243
+ def день(здесь): return здесь._дата.day
244
+
245
+ class Время:
246
+ def __init__(здесь, *ПА, **ИА):
247
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(
248
+ ИА, Словарь_параметров
249
+ )
250
+ здесь._время = datetime.time(*ПА, **ИА)
251
+
252
+ def Формат(здесь, формат):
253
+ формат = Перевести_формат(формат)
254
+ return здесь._время.strftime(формат)
255
+
256
+ def В_строку(здесь):
257
+ return здесь._время.isoformat()
258
+
259
+ def Заменить(здесь, **ИА):
260
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(
261
+ ИА, Словарь_параметров
262
+ )
263
+ return Время(здесь._время.replace(**ИА))
264
+
265
+ def Добавить(здесь, интервал):
266
+ базовая_дата = datetime.datetime(1970, 1, 1, здесь._время.hour, здесь._время.minute, здесь._время.second, здесь._время.microsecond, здесь._время.tzinfo)
267
+ результат = базовая_дата + интервал._интервал
268
+ return Время(результат.hour, результат.minute, результат.second, результат.microsecond, здесь._время.tzinfo)
269
+
270
+ def Вычесть(здесь, интервал):
271
+ базовая_дата = datetime.datetime(1970, 1, 1, здесь._время.hour, здесь._время.minute, здесь._время.second, здесь._время.microsecond, здесь._время.tzinfo)
272
+ результат = базовая_дата - интервал._интервал
273
+ return Время(результат.hour, результат.minute, результат.second, результат.microsecond, здесь._время.tzinfo)
274
+
275
+ def __add__(здесь, другой):
276
+ if isinstance(другой, Интервал):
277
+ return здесь.Добавить(другой)
278
+ return NotImplemented
279
+
280
+ def __radd__(здесь, другой):
281
+ if isinstance(другой, Интервал):
282
+ return здесь.Добавить(другой)
283
+ return NotImplemented
284
+
285
+ def __sub__(здесь, другой):
286
+ if isinstance(другой, Интервал):
287
+ return здесь.Вычесть(другой)
288
+ return NotImplemented
289
+
290
+ def __eq__(здесь, другой):
291
+ if isinstance(другой, Время):
292
+ return здесь._время == другой._время
293
+ return NotImplemented
294
+
295
+ def __lt__(здесь, другой):
296
+ if isinstance(другой, Время):
297
+ return здесь._время < другой._время
298
+ return NotImplemented
299
+
300
+ def __le__(здесь, другой):
301
+ if isinstance(другой, Время):
302
+ return здесь._время <= другой._время
303
+ return NotImplemented
304
+
305
+ def __gt__(здесь, другой):
306
+ if isinstance(другой, Время):
307
+ return здесь._время > другой._время
308
+ return NotImplemented
309
+
310
+ def __ge__(здесь, другой):
311
+ if isinstance(другой, Время):
312
+ return здесь._время >= другой._время
313
+ return NotImplemented
314
+
315
+ @property
316
+ def Часов(здесь):
317
+ return здесь._время.hour
318
+
319
+ @property
320
+ def Минут(здесь):
321
+ return здесь._время.minute
322
+
323
+ @property
324
+ def Секунд(здесь):
325
+ return здесь._время.second
326
+
327
+ @property
328
+ def Микросекунд(здесь):
329
+ return здесь._время.microsecond
330
+
331
+ @property
332
+ def Часовой_пояс(здесь):
333
+ return здесь._время.tzinfo
334
+
335
+ class Интервал:
336
+ def __init__(здесь, *ПА, **ИА):
337
+ if len(ПА) > 0 and type(ПА[0]) == datetime.timedelta: здесь._интервал = ПА[0]
338
+ else:
339
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(
340
+ ИА, Словарь_параметров_интервала
341
+ )
342
+ здесь._интервал = datetime.timedelta(*ПА, **ИА)
343
+
344
+ def Добавить(здесь, другой):
345
+ return Интервал(дней=(здесь._интервал + другой._интервал).days, секунд=(здесь._интервал + другой._интервал).seconds, микросекунд=(здесь._интервал + другой._интервал).microseconds)
346
+
347
+ def Вычесть(здесь, другой):
348
+ return Интервал(дней=(здесь._интервал - другой._интервал).days, секунд=(здесь._интервал - другой._интервал).seconds, микросекунд=(здесь._интервал - другой._интервал).microseconds)
349
+
350
+ def __add__(здесь, другой):
351
+ if isinstance(другой, Интервал):
352
+ return здесь.Добавить(другой)
353
+ return NotImplemented
354
+
355
+ def __sub__(здесь, другой):
356
+ if isinstance(другой, Интервал):
357
+ return здесь.Вычесть(другой)
358
+ return NotImplemented
359
+
360
+ def __eq__(здесь, другой):
361
+ if isinstance(другой, Интервал):
362
+ return здесь._интервал == другой._интервал
363
+ return NotImplemented
364
+
365
+ def __lt__(здесь, другой):
366
+ if isinstance(другой, Интервал):
367
+ return здесь._интервал < другой._интервал
368
+ return NotImplemented
369
+
370
+ def __le__(здесь, другой):
371
+ if isinstance(другой, Интервал):
372
+ return здесь._интервал <= другой._интервал
373
+ return NotImplemented
374
+
375
+ def __gt__(здесь, другой):
376
+ if isinstance(другой, Интервал):
377
+ return здесь._интервал > другой._интервал
378
+ return NotImplemented
379
+
380
+ def __ge__(здесь, другой):
381
+ if isinstance(другой, Интервал):
382
+ return здесь._интервал >= другой._интервал
383
+ return NotImplemented
384
+
385
+ @property
386
+ def Дней(здесь):
387
+ return здесь._интервал.days
388
+
389
+ @property
390
+ def Секунд(здесь):
391
+ return здесь._интервал.seconds
392
+
393
+ @property
394
+ def Микросекунд(здесь):
395
+ return здесь._интервал.microseconds
396
+
397
+ @property
398
+ def Всего_секунд(здесь):
399
+ return здесь._интервал.total_seconds()
400
+
401
+ def Совместить(дата, время):
402
+ return Дата_время(datetime.datetime.combine(дата._дата, время._время))
403
+
404
+ class ДатаСтСт:
405
+ def __init__(здесь, *ПА):
406
+ if len(ПА) == 3:
407
+ здесь.год, здесь.месяц, здесь.день = ПА
408
+ здесь._Посчитать_дни()
409
+ else:
410
+ if isinstance(ПА[0], ДатаСтСт):
411
+ здесь.в_днях = ПА[0].в_днях
412
+ else:
413
+ здесь.в_днях = ПА[0]
414
+ здесь._Посчитать_дату()
415
+
416
+ def _Посчитать_день_недели_и_года(здесь):
417
+ здесь.день_недели = (здесь.в_днях - 1) % 7
418
+ if здесь.день_недели == 0: здесь.день_недели = 7
419
+ здесь.день_года = (
420
+ (275 * здесь.месяц // 9)
421
+ - (((здесь.месяц + 9) // 12) * (1 + ((здесь.год - 4 * (здесь.год // 4) + 2) // 3)))
422
+ + здесь.день
423
+ - 31
424
+ )
425
+
426
+ def _Посчитать_дни(здесь):
427
+ здесь.в_днях = (
428
+ 367 * здесь.год
429
+ - int((7 * (здесь.год + 5001 + int((здесь.месяц - 9) / 7))) / 4)
430
+ + int((275 * здесь.месяц) / 9)
431
+ + здесь.день
432
+ + 8353
433
+ )
434
+ здесь._Посчитать_день_недели_и_года()
435
+
436
+ def _Посчитать_дату(здесь):
437
+ a = здесь.в_днях + 1890
438
+ b = int((a - 122.1) / 365.25)
439
+ c = int(365.25 * b)
440
+ d = int((a - c) / 30.6001)
441
+ здесь.день = a - c - int(30.6001 * d)
442
+ здесь.месяц = d - (13 if d > 13 else 1)
443
+ здесь.год = b - (3 if здесь.месяц < 3 else 4)
444
+ здесь._Посчитать_день_недели_и_года()
445
+
446
+ def Добавить_дни(здесь, количество):
447
+ здесь.в_днях += количество
448
+ здесь._Посчитать_дату()
449
+ return здесь
450
+
451
+ def Разница_в_днях(здесь, другая_дата):
452
+ return здесь.в_днях - другая_дата.в_днях
453
+
454
+ def Сравнить(здесь, другая_дата):
455
+ if здесь.в_днях < другая_дата.в_днях: return -1
456
+ elif здесь.в_днях > другая_дата.в_днях: return 1
457
+ else: return 0
458
+
459
+ def В_новый_стиль(здесь):
460
+ разница = здесь.год // 100 - здесь.год // 400 - 2
461
+ год_увеличения_разницы = здесь.год % 100 == 0 and здесь.год % 400 != 0
462
+ if год_увеличения_разницы:
463
+ if здесь.день_года < 60: разница -= 1
464
+ if здесь.день_года == 59 and год_увеличения_разницы:
465
+ дата = Дата(здесь.год, 3, 1) + Интервал(дней = разница)
466
+ else:
467
+ дата = Дата(здесь.год, здесь.месяц, здесь.день)
468
+ дата += Интервал(дней = разница)
469
+ return дата
470
+
471
+ def Пасха(год, нов_ст = None):
472
+ смещение = (год % 19 * 19 + 15) % 30
473
+ смещение += (год % 4 * 2 + год % 7 * 4 + 6 * смещение + 6) % 7
474
+ нов_ст = True if нов_ст is None and год >= 1918 else нов_ст
475
+ дата = ДатаСтСт(год, 3, 22)
476
+ дата.Добавить_дни(смещение)
477
+ if нов_ст: return дата.В_новый_стиль()
478
+ else: return дата
@@ -1,4 +1,5 @@
1
1
  import re
2
+ from rupython import __Общие_функции__
2
3
 
3
4
  БезФлагов = 0
4
5
  Знаки7бит = A = re.ASCII
@@ -19,42 +20,42 @@ class Шаблон:
19
20
  здесь.шаблон = объект.pattern
20
21
 
21
22
  def Поиск(здесь, *ПА, **ИА):
22
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
23
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
23
24
  { 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
24
25
  return здесь.объект.search(*ПА, **ИА)
25
26
 
26
27
  def СовпадНач(здесь, *ПА, **ИА):
27
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
28
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
28
29
  { 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
29
30
  return здесь.объект.match(*ПА, **ИА)
30
31
 
31
32
  def ПолнСоотв(здесь, *ПА, **ИА):
32
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
33
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
33
34
  { 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
34
35
  return здесь.объект.fullmatch(*ПА, **ИА)
35
36
 
36
37
  def Разбить(здесь, *ПА, **ИА):
37
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
38
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
38
39
  { 'строка': 'string', 'макс_делений': 'maxsplit' })
39
40
  return здесь.объект.split(*ПА, **ИА)
40
41
 
41
42
  def НайтиВсё(здесь, *ПА, **ИА):
42
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
43
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
43
44
  { 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
44
45
  return здесь.объект.findall(*ПА, **ИА)
45
46
 
46
47
  def ИскатьПеречисл(здесь, *ПА, **ИА):
47
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
48
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
48
49
  { 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
49
50
  return здесь.объект.finditer(*ПА, **ИА)
50
51
 
51
52
  def Заменить(здесь, *ПА, **ИА):
52
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
53
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
53
54
  { 'замена': 'repl', 'строка': 'string', 'количество': 'count' })
54
55
  return здесь.объект.sub(*ПА, **ИА)
55
56
 
56
57
  def ЗаменитьСч(здесь, *ПА, **ИА):
57
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
58
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
58
59
  { 'замена': 'repl', 'строка': 'string', 'количество': 'count' })
59
60
  return здесь.объект.subn(*ПА, **ИА)
60
61
 
@@ -74,11 +75,11 @@ class Соответствие:
74
75
  def __getitem__(здесь, индекс): return объект[индекс]
75
76
 
76
77
  def Группы(здесь, *ПА, **ИА):
77
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
78
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
78
79
  return здесь.объект.groups(*ПА, **ИА)
79
80
 
80
81
  def ИменовГруппы(здесь, *ПА, **ИА):
81
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
82
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
82
83
  return здесь.объект.groupdict(*ПА, **ИА)
83
84
 
84
85
  def Начало(здесь, *группа): return здесь.объект.start(*группа)
@@ -1,4 +1,5 @@
1
1
  import random
2
+ from rupython import __Общие_функции__
2
3
 
3
4
  # Управление
4
5
  def НачЗнач(a = None): return random.seed(a, version = 2)
@@ -10,7 +11,7 @@ def СлучБайты(n): return random.randbytes(n)
10
11
 
11
12
  # Целые числа
12
13
  def ИзДиапазона(*ПА, **ИА):
13
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
14
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
14
15
  { 'нач': 'start', 'кон': 'stop', 'шаг': 'step' })
15
16
  return random.randrange(*ПА, **ИА)
16
17
  def СлучЦелое(a, b): return random.randint(a, b)
@@ -19,12 +20,12 @@ def СлучБиты(k): return random.getrandbits(k)
19
20
  # Последовательности
20
21
  def ВыбратьИзПосл(посл): return random.choice(посл)
21
22
  def ВыбратьПосл(*ПА, **ИА):
22
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
23
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
23
24
  { 'посл': 'population', 'веса': 'weights', 'накоплВеса': 'cum_weights' })
24
25
  return random.choices(*ПА, **ИА)
25
26
  def Перемешать(x): return random.shuffle(x)
26
27
  def СлучПосл(*ПА, **ИА):
27
- ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
28
+ ИА = __Общие_функции__.Заменить_ключи_в_словаре(ИА, \
28
29
  { 'посл': 'population', 'колич': 'counts' })
29
30
  return random.sample(*ПА, **ИА)
30
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rupython
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: Исполнитель кода Русского Питона
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -4,12 +4,14 @@ setup.cfg
4
4
  setup.py
5
5
  rupython/__main__.py
6
6
  rupython/__Заголовочный_код__.py
7
+ rupython/__Общие_функции__.py
7
8
  rupython/Преобразователь.py
8
9
  rupython.egg-info/PKG-INFO
9
10
  rupython.egg-info/SOURCES.txt
10
11
  rupython.egg-info/dependency_links.txt
11
12
  rupython.egg-info/top_level.txt
12
13
  rupython/Модули/БД.py
14
+ rupython/Модули/ДатаВремя.py
13
15
  rupython/Модули/Матем.py
14
16
  rupython/Модули/РегВыр.py
15
17
  rupython/Модули/Случ.py
@@ -3,7 +3,7 @@ from pathlib import Path as Путь
3
3
 
4
4
  Установить(
5
5
  name = 'rupython',
6
- version = '1.2.2',
6
+ version = '1.2.3',
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