rupython 1.2.11__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 (16) 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/256/342/225/250/342/226/222/342/225/244/320/231/342/225/250/342/225/225/342/225/250/342/225/241_/342/225/244/320/224/342/225/244/320/223/342/225/250/342/225/234/342/225/250/342/225/221/342/225/244/320/226/342/225/250/342/225/225/342/225/250/342/225/225__.py +9 -0
  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/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 +206 -0
  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/241/342/225/250/320/244.py +61 -76
  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/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 +222 -209
  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 +87 -0
  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 +529 -396
  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/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 +177 -0
  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/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 +273 -0
  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/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 +51 -51
  11. {rupython-1.2.11.dist-info → rupython-1.2.13.dist-info}/METADATA +4 -4
  12. rupython-1.2.13.dist-info/RECORD +19 -0
  13. rupython-1.2.11.dist-info/RECORD +0 -15
  14. {rupython-1.2.11.dist-info → rupython-1.2.13.dist-info}/LICENSE +0 -0
  15. {rupython-1.2.11.dist-info → rupython-1.2.13.dist-info}/WHEEL +0 -0
  16. {rupython-1.2.11.dist-info → rupython-1.2.13.dist-info}/top_level.txt +0 -0
@@ -59,20 +59,20 @@ def Перевести_формат(формат):
59
59
  return формат
60
60
 
61
61
  class Дата_и_время:
62
- def __init__(здесь, *ПА, **ИА):
63
- if len(ПА) > 0 and type(ПА[0]) == datetime.datetime: здесь._дата_время = ПА[0]
62
+ def __init__(экземпляр, *ПА, **ИА):
63
+ if len(ПА) > 0 and type(ПА[0]) == datetime.datetime: экземпляр._дата_время = ПА[0]
64
64
  else:
65
65
  ИА = __Общие_функции__.Заменить_ключи_в_словаре(
66
66
  ИА, Словарь_параметров
67
67
  )
68
- здесь._дата_время = datetime.datetime(*ПА, **ИА)
68
+ экземпляр._дата_время = datetime.datetime(*ПА, **ИА)
69
69
 
70
70
  @staticmethod
71
- def Сейчас(часовой_пояс=None):
71
+ def Сейчас(часовой_пояс = None):
72
72
  return Дата_и_время(datetime.datetime.now(часовой_пояс))
73
73
 
74
74
  @staticmethod
75
- def Из_метки_времени(метка_времени, часовой_пояс=None):
75
+ def Из_метки_времени(метка_времени, часовой_пояс = None):
76
76
  return Дата_и_время(datetime.datetime.fromtimestamp(метка_времени, часовой_пояс))
77
77
 
78
78
  @staticmethod
@@ -84,124 +84,127 @@ class Дата_и_время:
84
84
  формат = Перевести_формат(формат)
85
85
  return Дата_и_время(datetime.datetime.strptime(строка, формат))
86
86
 
87
- def В_формат(здесь, формат):
87
+ def В_формат(экземпляр, формат):
88
88
  формат = Перевести_формат(формат)
89
- return здесь._дата_время.strftime(формат)
89
+ return экземпляр._дата_время.strftime(формат)
90
90
 
91
- def __str__(строка):
91
+ def __str__(экземпляр):
92
92
  формат = Перевести_формат(Формат_даты_и_времени)
93
- return здесь._дата_время.strftime(формат)
93
+ return экземпляр._дата_время.strftime(формат)
94
94
 
95
- def Словами(здесь, формат='полный'):
96
- день_недели = здесь.Номер_дня_недели()
95
+ def Словами(экземпляр, формат = 'полный'):
96
+ день_недели = экземпляр.Номер_дня_недели()
97
97
  if формат == 'полный':
98
- return f"{Дни_недели_полные[день_недели]}, {здесь.День} {Месяцы_родительный[здесь.Месяц]} {здесь.Год} года, {здесь.Часов:02d}:{здесь.Минут:02d}"
98
+ return f"{Дни_недели_полные[день_недели]}, {экземпляр.День} {Месяцы_родительный[экземпляр.Месяц]} {экземпляр.Год} года, {экземпляр.Часов:02d}:{экземпляр.Минут:02d}"
99
99
  elif формат == 'краткий':
100
- return f"{Дни_недели_краткие[день_недели]}, {здесь.День} {Месяцы_родительный[здесь.Месяц]} {здесь.Год} г."
100
+ return f"{Дни_недели_краткие[день_недели]}, {экземпляр.День} {Месяцы_родительный[экземпляр.Месяц]} {экземпляр.Год} г."
101
101
  elif формат == 'дата':
102
- return f"{здесь.День} {Месяцы_родительный[здесь.Месяц]} {здесь.Год} года"
102
+ return f"{экземпляр.День} {Месяцы_родительный[экземпляр.Месяц]} {экземпляр.Год} года"
103
103
  elif формат == 'время':
104
- return f"{здесь.Часов:02d}:{здесь.Минут:02d}"
104
+ return f"{экземпляр.Часов:02d}:{экземпляр.Минут:02d}"
105
105
  elif формат == 'день_недели':
106
106
  return Дни_недели_полные[день_недели]
107
107
  else:
108
108
  raise ValueError("Неподдерживаемый формат")
109
109
 
110
- def В_метку_времени(здесь):
111
- return здесь._дата_время.timestamp()
110
+ def В_метку_времени(экземпляр):
111
+ return экземпляр._дата_время.timestamp()
112
112
 
113
- def День_недели(здесь):
114
- return здесь._дата_время.weekday()
113
+ def День_недели(экземпляр):
114
+ return экземпляр._дата_время.weekday()
115
115
 
116
- def Номер_дня_недели(здесь):
117
- return здесь._дата_время.isoweekday()
116
+ def Номер_дня_недели(экземпляр):
117
+ return экземпляр._дата_время.isoweekday()
118
118
 
119
- def Добавить(здесь, интервал):
120
- return Дата_и_время(здесь._дата_время + интервал._интервал)
119
+ def Добавить(экземпляр, интервал):
120
+ return Дата_и_время(экземпляр._дата_время + интервал._интервал)
121
121
 
122
- def Вычесть(здесь, интервал):
123
- return Дата_и_время(здесь._дата_время - интервал._интервал)
122
+ def Вычесть(экземпляр, интервал):
123
+ return Дата_и_время(экземпляр._дата_время - интервал._интервал)
124
124
 
125
- def __add__(здесь, другой):
125
+ def __add__(экземпляр, другой):
126
126
  if isinstance(другой, Интервал):
127
- return здесь.Добавить(другой)
127
+ return экземпляр.Добавить(другой)
128
128
  return NotImplemented
129
129
 
130
- def __radd__(здесь, другой):
130
+ def __radd__(экземпляр, другой):
131
131
  if isinstance(другой, Интервал):
132
- return здесь.Добавить(другой)
132
+ return экземпляр.Добавить(другой)
133
133
  return NotImplemented
134
134
 
135
- def __sub__(здесь, другой):
135
+ def __sub__(экземпляр, другой):
136
136
  if isinstance(другой, Интервал):
137
- return здесь.Вычесть(другой)
137
+ return экземпляр.Вычесть(другой)
138
138
  return NotImplemented
139
139
 
140
- def __eq__(здесь, другой):
140
+ def __eq__(экземпляр, другой):
141
141
  if isinstance(другой, Дата_и_время):
142
- return здесь._дата_время == другой._дата_время
142
+ return экземпляр._дата_время == другой._дата_время
143
143
  return NotImplemented
144
144
 
145
- def __lt__(здесь, другой):
145
+ def __lt__(экземпляр, другой):
146
146
  if isinstance(другой, Дата_и_время):
147
- return здесь._дата_время < другой._дата_время
147
+ return экземпляр._дата_время < другой._дата_время
148
148
  return NotImplemented
149
149
 
150
- def __le__(здесь, другой):
150
+ def __le__(экземпляр, другой):
151
151
  if isinstance(другой, Дата_и_время):
152
- return здесь._дата_время <= другой._дата_время
152
+ return экземпляр._дата_время <= другой._дата_время
153
153
  return NotImplemented
154
154
 
155
- def __gt__(здесь, другой):
155
+ def __gt__(экземпляр, другой):
156
156
  if isinstance(другой, Дата_и_время):
157
- return здесь._дата_время > другой._дата_время
157
+ return экземпляр._дата_время > другой._дата_время
158
158
  return NotImplemented
159
159
 
160
- def __ge__(здесь, другой):
160
+ def __ge__(экземпляр, другой):
161
161
  if isinstance(другой, Дата_и_время):
162
- return здесь._дата_время >= другой._дата_время
162
+ return экземпляр._дата_время >= другой._дата_время
163
163
  return NotImplemented
164
164
 
165
+ def __format__(экземпляр, формат):
166
+ return экземпляр.В_формат(формат)
167
+
165
168
  @property
166
- def Год(здесь):
167
- return здесь._дата_время.year
169
+ def Год(экземпляр):
170
+ return экземпляр._дата_время.year
168
171
 
169
172
  @property
170
- def Месяц(здесь):
171
- return здесь._дата_время.month
173
+ def Месяц(экземпляр):
174
+ return экземпляр._дата_время.month
172
175
 
173
176
  @property
174
- def День(здесь):
175
- return здесь._дата_время.day
177
+ def День(экземпляр):
178
+ return экземпляр._дата_время.day
176
179
 
177
180
  @property
178
- def Часов(здесь):
179
- return здесь._дата_время.hour
181
+ def Часов(экземпляр):
182
+ return экземпляр._дата_время.hour
180
183
 
181
184
  @property
182
- def Минут(здесь):
183
- return здесь._дата_время.minute
185
+ def Минут(экземпляр):
186
+ return экземпляр._дата_время.minute
184
187
 
185
188
  @property
186
- def Секунд(здесь):
187
- return здесь._дата_время.second
189
+ def Секунд(экземпляр):
190
+ return экземпляр._дата_время.second
188
191
 
189
192
  @property
190
- def Микросекунд(здесь):
191
- return здесь._дата_время.microsecond
193
+ def Микросекунд(экземпляр):
194
+ return экземпляр._дата_время.microsecond
192
195
 
193
196
  @property
194
- def Часовой_пояс(здесь):
195
- return здесь._дата_время.tzinfo
197
+ def Часовой_пояс(экземпляр):
198
+ return экземпляр._дата_время.tzinfo
196
199
 
197
200
  class Дата:
198
- def __init__(здесь, *ПА, **ИА):
199
- if len(ПА) > 0 and type(ПА[0]) == datetime.date: здесь._дата = ПА[0]
201
+ def __init__(экземпляр, *ПА, **ИА):
202
+ if len(ПА) > 0 and type(ПА[0]) == datetime.date: экземпляр._дата = ПА[0]
200
203
  else:
201
204
  ИА = __Общие_функции__.Заменить_ключи_в_словаре(
202
205
  ИА, Словарь_параметров
203
206
  )
204
- здесь._дата = datetime.date(*ПА, **ИА)
207
+ экземпляр._дата = datetime.date(*ПА, **ИА)
205
208
 
206
209
  @staticmethod
207
210
  def Сегодня():
@@ -211,186 +214,196 @@ class Дата:
211
214
  def От_даты(порядковый_номер):
212
215
  return Дата(datetime.date.fromordinal(порядковый_номер))
213
216
 
214
- def В_формат(здесь, формат):
217
+ def В_формат(экземпляр, формат):
215
218
  формат = Перевести_формат(формат)
216
- return здесь._дата.strftime(формат)
219
+ return экземпляр._дата.strftime(формат)
217
220
 
218
- def __str__(здесь):
221
+ def __str__(экземпляр):
219
222
  формат = Перевести_формат(Формат_даты)
220
- return здесь._дата.strftime(формат)
223
+ return экземпляр._дата.strftime(формат)
221
224
 
222
225
  def Из_строки(строка):
223
- return Время(Дата_и_время.Разобрать(строка, Формат_времени)._дата_время.time())
226
+ return Дата(Дата_и_время.Разобрать(строка, Формат_времени)._дата_время.time())
224
227
 
225
- def День_недели(здесь):
226
- return здесь._дата.isoweekday()
228
+ def День_недели(экземпляр):
229
+ return экземпляр._дата.isoweekday()
227
230
 
228
- def Добавить(здесь, интервал):
229
- return Дата(здесь._дата + интервал._интервал)
231
+ def Добавить(экземпляр, интервал):
232
+ return Дата(экземпляр._дата + интервал._интервал)
230
233
 
231
- def Вычесть(здесь, интервал):
232
- return Дата(здесь._дата - интервал._интервал)
234
+ def Вычесть(экземпляр, интервал):
235
+ return Дата(экземпляр._дата - интервал._интервал)
233
236
 
234
- def __add__(здесь, другой):
237
+ def __add__(экземпляр, другой):
235
238
  if isinstance(другой, Интервал):
236
- return здесь.Добавить(другой)
239
+ return экземпляр.Добавить(другой)
237
240
  return NotImplemented
238
241
 
239
- def __radd__(здесь, другой):
242
+ def __radd__(экземпляр, другой):
240
243
  if isinstance(другой, Интервал):
241
- return здесь.Добавить(другой)
244
+ return экземпляр.Добавить(другой)
242
245
  return NotImplemented
243
246
 
244
- def __sub__(здесь, другой):
247
+ def __sub__(экземпляр, другой):
245
248
  if isinstance(другой, Интервал):
246
- return здесь.Вычесть(другой)
249
+ return экземпляр.Вычесть(другой)
247
250
  return NotImplemented
248
251
 
249
- def __eq__(здесь, другой):
252
+ def __eq__(экземпляр, другой):
250
253
  if isinstance(другой, Дата):
251
- return здесь._дата == другой._дата
254
+ return экземпляр._дата == другой._дата
252
255
  return NotImplemented
253
256
 
254
- def __lt__(здесь, другой):
257
+ def __lt__(экземпляр, другой):
255
258
  if isinstance(другой, Дата):
256
- return здесь._дата < другой._дата
259
+ return экземпляр._дата < другой._дата
257
260
  return NotImplemented
258
261
 
259
- def __le__(здесь, другой):
262
+ def __le__(экземпляр, другой):
260
263
  if isinstance(другой, Дата):
261
- return здесь._дата <= другой._дата
264
+ return экземпляр._дата <= другой._дата
262
265
  return NotImplemented
263
266
 
264
- def __gt__(здесь, другой):
267
+ def __gt__(экземпляр, другой):
265
268
  if isinstance(другой, Дата):
266
- return здесь._дата > другой._дата
269
+ return экземпляр._дата > другой._дата
267
270
  return NotImplemented
268
271
 
269
- def __ge__(здесь, другой):
272
+ def __ge__(экземпляр, другой):
270
273
  if isinstance(другой, Дата):
271
- return здесь._дата >= другой._дата
274
+ return экземпляр._дата >= другой._дата
272
275
  return NotImplemented
273
276
 
277
+ def __format__(экземпляр, формат):
278
+ return экземпляр.В_формат(формат)
279
+
274
280
  @property
275
- def год(здесь): return здесь._дата.year
281
+ def год(экземпляр): return экземпляр._дата.year
276
282
 
277
283
  @property
278
- def месяц(здесь): return здесь._дата.month
284
+ def месяц(экземпляр): return экземпляр._дата.month
279
285
 
280
286
  @property
281
- def день(здесь): return здесь._дата.day
287
+ def день(экземпляр): return экземпляр._дата.day
282
288
 
283
289
  class Время:
284
- def __init__(здесь, *ПА, **ИА):
290
+ def __init__(экземпляр, *ПА, **ИА):
285
291
  ИА = __Общие_функции__.Заменить_ключи_в_словаре(
286
292
  ИА, Словарь_параметров
287
293
  )
288
- здесь._время = datetime.time(*ПА, **ИА)
294
+ экземпляр._время = datetime.time(*ПА, **ИА)
289
295
 
290
- def В_формат(здесь, формат):
296
+ @staticmethod
297
+ def Сейчас(часовой_пояс=None):
298
+ return Время(datetime.datetime.now(часовой_пояс).time())
299
+
300
+ def В_формат(экземпляр, формат):
291
301
  формат = Перевести_формат(формат)
292
- return здесь._время.strftime(формат)
302
+ return экземпляр._время.strftime(формат)
293
303
 
294
- def __str__(здесь):
304
+ def __str__(экземпляр):
295
305
  формат = Перевести_формат(Формат_времени)
296
- return здесь._время.strftime(формат)
306
+ return экземпляр._время.strftime(формат)
297
307
 
298
- def Заменить(здесь, **ИА):
308
+ def Заменить(экземпляр, **ИА):
299
309
  ИА = __Общие_функции__.Заменить_ключи_в_словаре(
300
310
  ИА, Словарь_параметров
301
311
  )
302
- return Время(здесь._время.replace(**ИА))
312
+ return Время(экземпляр._время.replace(**ИА))
303
313
 
304
- def Добавить(здесь, интервал):
305
- базовая_дата = datetime.datetime(1970, 1, 1, здесь._время.hour, здесь._время.minute, здесь._время.second, здесь._время.microsecond, здесь._время.tzinfo)
314
+ def Добавить(экземпляр, интервал):
315
+ базовая_дата = datetime.datetime(1970, 1, 1, экземпляр._время.hour, экземпляр._время.minute, экземпляр._время.second, экземпляр._время.microsecond, экземпляр._время.tzinfo)
306
316
  результат = базовая_дата + интервал._интервал
307
- return Время(результат.hour, результат.minute, результат.second, результат.microsecond, здесь._время.tzinfo)
317
+ return Время(результат.hour, результат.minute, результат.second, результат.microsecond, экземпляр._время.tzinfo)
308
318
 
309
- def Вычесть(здесь, интервал):
310
- базовая_дата = datetime.datetime(1970, 1, 1, здесь._время.hour, здесь._время.minute, здесь._время.second, здесь._время.microsecond, здесь._время.tzinfo)
319
+ def Вычесть(экземпляр, интервал):
320
+ базовая_дата = datetime.datetime(1970, 1, 1, экземпляр._время.hour, экземпляр._время.minute, экземпляр._время.second, экземпляр._время.microsecond, экземпляр._время.tzinfo)
311
321
  результат = базовая_дата - интервал._интервал
312
- return Время(результат.hour, результат.minute, результат.second, результат.microsecond, здесь._время.tzinfo)
322
+ return Время(результат.hour, результат.minute, результат.second, результат.microsecond, экземпляр._время.tzinfo)
313
323
 
314
- def __add__(здесь, другой):
324
+ def __add__(экземпляр, другой):
315
325
  if isinstance(другой, Интервал):
316
- return здесь.Добавить(другой)
326
+ return экземпляр.Добавить(другой)
317
327
  return NotImplemented
318
328
 
319
- def __radd__(здесь, другой):
329
+ def __radd__(экземпляр, другой):
320
330
  if isinstance(другой, Интервал):
321
- return здесь.Добавить(другой)
331
+ return экземпляр.Добавить(другой)
322
332
  return NotImplemented
323
333
 
324
- def __sub__(здесь, другой):
334
+ def __sub__(экземпляр, другой):
325
335
  if isinstance(другой, Интервал):
326
- return здесь.Вычесть(другой)
336
+ return экземпляр.Вычесть(другой)
327
337
  return NotImplemented
328
338
 
329
- def __eq__(здесь, другой):
339
+ def __eq__(экземпляр, другой):
330
340
  if isinstance(другой, Время):
331
- return здесь._время == другой._время
341
+ return экземпляр._время == другой._время
332
342
  return NotImplemented
333
343
 
334
- def __lt__(здесь, другой):
344
+ def __lt__(экземпляр, другой):
335
345
  if isinstance(другой, Время):
336
- return здесь._время < другой._время
346
+ return экземпляр._время < другой._время
337
347
  return NotImplemented
338
348
 
339
- def __le__(здесь, другой):
349
+ def __le__(экземпляр, другой):
340
350
  if isinstance(другой, Время):
341
- return здесь._время <= другой._время
351
+ return экземпляр._время <= другой._время
342
352
  return NotImplemented
343
353
 
344
- def __gt__(здесь, другой):
354
+ def __gt__(экземпляр, другой):
345
355
  if isinstance(другой, Время):
346
- return здесь._время > другой._время
356
+ return экземпляр._время > другой._время
347
357
  return NotImplemented
348
358
 
349
- def __ge__(здесь, другой):
359
+ def __ge__(экземпляр, другой):
350
360
  if isinstance(другой, Время):
351
- return здесь._время >= другой._время
361
+ return экземпляр._время >= другой._время
352
362
  return NotImplemented
353
363
 
364
+ def __format__(экземпляр, формат):
365
+ return экземпляр.В_формат(формат)
366
+
354
367
  @property
355
- def Часов(здесь):
356
- return здесь._время.hour
368
+ def Часов(экземпляр):
369
+ return экземпляр._время.hour
357
370
 
358
371
  @property
359
- def Минут(здесь):
360
- return здесь._время.minute
372
+ def Минут(экземпляр):
373
+ return экземпляр._время.minute
361
374
 
362
375
  @property
363
- def Секунд(здесь):
364
- return здесь._время.second
376
+ def Секунд(экземпляр):
377
+ return экземпляр._время.second
365
378
 
366
379
  @property
367
- def Микросекунд(здесь):
368
- return здесь._время.microsecond
380
+ def Микросекунд(экземпляр):
381
+ return экземпляр._время.microsecond
369
382
 
370
383
  @property
371
- def Часовой_пояс(здесь):
372
- return здесь._время.tzinfo
384
+ def Часовой_пояс(экземпляр):
385
+ return экземпляр._время.tzinfo
373
386
 
374
387
  class Интервал:
375
- def __init__(здесь, *ПА, **ИА):
376
- if len(ПА) > 0 and type(ПА[0]) == datetime.timedelta: здесь._интервал = ПА[0]
388
+ def __init__(экземпляр, *ПА, **ИА):
389
+ if len(ПА) > 0 and type(ПА[0]) == datetime.timedelta: экземпляр._интервал = ПА[0]
377
390
  else:
378
391
  ИА = __Общие_функции__.Заменить_ключи_в_словаре(
379
392
  ИА, Словарь_параметров_интервала
380
393
  )
381
- здесь._интервал = datetime.timedelta(*ПА, **ИА)
394
+ экземпляр._интервал = datetime.timedelta(*ПА, **ИА)
382
395
 
383
- def Добавить(здесь, другой):
384
- return Интервал(дней=(здесь._интервал + другой._интервал).days, секунд=(здесь._интервал + другой._интервал).seconds, микросекунд=(здесь._интервал + другой._интервал).microseconds)
396
+ def Добавить(экземпляр, другой):
397
+ return Интервал(дней=(экземпляр._интервал + другой._интервал).days, секунд=(экземпляр._интервал + другой._интервал).seconds, микросекунд=(экземпляр._интервал + другой._интервал).microseconds)
385
398
 
386
- def Вычесть(здесь, другой):
387
- return Интервал(дней=(здесь._интервал - другой._интервал).days, секунд=(здесь._интервал - другой._интервал).seconds, микросекунд=(здесь._интервал - другой._интервал).microseconds)
399
+ def Вычесть(экземпляр, другой):
400
+ return Интервал(дней=(экземпляр._интервал - другой._интервал).days, секунд=(экземпляр._интервал - другой._интервал).seconds, микросекунд=(экземпляр._интервал - другой._интервал).microseconds)
388
401
 
389
- def __str__(здесь):
402
+ def __str__(экземпляр):
390
403
  части = []
391
- if здесь.Дней:
392
- части.append(Склонение_после_числительного(здесь.Дней, ['день', 'дня', 'дней']))
393
- секунд = здесь.Секунд
404
+ if экземпляр.Дней:
405
+ части.append(Склонение_после_числительного(экземпляр.Дней, ['день', 'дня', 'дней']))
406
+ секунд = экземпляр.Секунд
394
407
  if секунд >= 3600:
395
408
  часов = секунд // 3600
396
409
  части.append(Склонение_после_числительного(часов, ['час', 'часа', 'часов']))
@@ -422,124 +435,124 @@ class Интервал:
422
435
  i += 2
423
436
  return Интервал(**ИА)
424
437
 
425
- def __add__(здесь, другой):
438
+ def __add__(экземпляр, другой):
426
439
  if isinstance(другой, Интервал):
427
- return здесь.Добавить(другой)
440
+ return экземпляр.Добавить(другой)
428
441
  return NotImplemented
429
442
 
430
- def __sub__(здесь, другой):
443
+ def __sub__(экземпляр, другой):
431
444
  if isinstance(другой, Интервал):
432
- return здесь.Вычесть(другой)
445
+ return экземпляр.Вычесть(другой)
433
446
  return NotImplemented
434
447
 
435
- def __eq__(здесь, другой):
448
+ def __eq__(экземпляр, другой):
436
449
  if isinstance(другой, Интервал):
437
- return здесь._интервал == другой._интервал
450
+ return экземпляр._интервал == другой._интервал
438
451
  return NotImplemented
439
452
 
440
- def __lt__(здесь, другой):
453
+ def __lt__(экземпляр, другой):
441
454
  if isinstance(другой, Интервал):
442
- return здесь._интервал < другой._интервал
455
+ return экземпляр._интервал < другой._интервал
443
456
  return NotImplemented
444
457
 
445
- def __le__(здесь, другой):
458
+ def __le__(экземпляр, другой):
446
459
  if isinstance(другой, Интервал):
447
- return здесь._интервал <= другой._интервал
460
+ return экземпляр._интервал <= другой._интервал
448
461
  return NotImplemented
449
462
 
450
- def __gt__(здесь, другой):
463
+ def __gt__(экземпляр, другой):
451
464
  if isinstance(другой, Интервал):
452
- return здесь._интервал > другой._интервал
465
+ return экземпляр._интервал > другой._интервал
453
466
  return NotImplemented
454
467
 
455
- def __ge__(здесь, другой):
468
+ def __ge__(экземпляр, другой):
456
469
  if isinstance(другой, Интервал):
457
- return здесь._интервал >= другой._интервал
470
+ return экземпляр._интервал >= другой._интервал
458
471
  return NotImplemented
459
472
 
460
473
  @property
461
- def Дней(здесь):
462
- return здесь._интервал.days
474
+ def Дней(экземпляр):
475
+ return экземпляр._интервал.days
463
476
 
464
477
  @property
465
- def Секунд(здесь):
466
- return здесь._интервал.seconds
478
+ def Секунд(экземпляр):
479
+ return экземпляр._интервал.seconds
467
480
 
468
481
  @property
469
- def Микросекунд(здесь):
470
- return здесь._интервал.microseconds
482
+ def Микросекунд(экземпляр):
483
+ return экземпляр._интервал.microseconds
471
484
 
472
485
  @property
473
- def Всего_секунд(здесь):
474
- return здесь._интервал.total_seconds()
486
+ def Всего_секунд(экземпляр):
487
+ return экземпляр._интервал.total_seconds()
475
488
 
476
489
  def Совместить(дата, время):
477
490
  return Дата_время(datetime.datetime.combine(дата._дата, время._время))
478
491
 
479
492
  class ДатаСтСт:
480
- def __init__(здесь, *ПА):
493
+ def __init__(экземпляр, *ПА):
481
494
  if len(ПА) == 3:
482
- здесь.год, здесь.месяц, здесь.день = ПА
483
- здесь._Посчитать_дни()
495
+ экземпляр.год, экземпляр.месяц, экземпляр.день = ПА
496
+ экземпляр._Посчитать_дни()
484
497
  else:
485
498
  if isinstance(ПА[0], ДатаСтСт):
486
- здесь.в_днях = ПА[0].в_днях
499
+ экземпляр.в_днях = ПА[0].в_днях
487
500
  else:
488
- здесь.в_днях = ПА[0]
489
- здесь._Посчитать_дату()
490
-
491
- def _Посчитать_день_недели_и_года(здесь):
492
- здесь.день_недели = (здесь.в_днях - 1) % 7
493
- if здесь.день_недели == 0: здесь.день_недели = 7
494
- здесь.день_года = (
495
- (275 * здесь.месяц // 9)
496
- - (((здесь.месяц + 9) // 12) * (1 + ((здесь.год - 4 * (здесь.год // 4) + 2) // 3)))
497
- + здесь.день
501
+ экземпляр.в_днях = ПА[0]
502
+ экземпляр._Посчитать_дату()
503
+
504
+ def _Посчитать_день_недели_и_года(экземпляр):
505
+ экземпляр.день_недели = (экземпляр.в_днях - 1) % 7
506
+ if экземпляр.день_недели == 0: экземпляр.день_недели = 7
507
+ экземпляр.день_года = (
508
+ (275 * экземпляр.месяц // 9)
509
+ - (((экземпляр.месяц + 9) // 12) * (1 + ((экземпляр.год - 4 * (экземпляр.год // 4) + 2) // 3)))
510
+ + экземпляр.день
498
511
  - 31
499
512
  )
500
513
 
501
- def _Посчитать_дни(здесь):
502
- здесь.в_днях = (
503
- 367 * здесь.год
504
- - int((7 * (здесь.год + 5001 + int((здесь.месяц - 9) / 7))) / 4)
505
- + int((275 * здесь.месяц) / 9)
506
- + здесь.день
514
+ def _Посчитать_дни(экземпляр):
515
+ экземпляр.в_днях = (
516
+ 367 * экземпляр.год
517
+ - int((7 * (экземпляр.год + 5001 + int((экземпляр.месяц - 9) / 7))) / 4)
518
+ + int((275 * экземпляр.месяц) / 9)
519
+ + экземпляр.день
507
520
  + 8353
508
521
  )
509
- здесь._Посчитать_день_недели_и_года()
522
+ экземпляр._Посчитать_день_недели_и_года()
510
523
 
511
- def _Посчитать_дату(здесь):
512
- a = здесь.в_днях + 1890
524
+ def _Посчитать_дату(экземпляр):
525
+ a = экземпляр.в_днях + 1890
513
526
  b = int((a - 122.1) / 365.25)
514
527
  c = int(365.25 * b)
515
528
  d = int((a - c) / 30.6001)
516
- здесь.день = a - c - int(30.6001 * d)
517
- здесь.месяц = d - (13 if d > 13 else 1)
518
- здесь.год = b - (3 if здесь.месяц < 3 else 4)
519
- здесь._Посчитать_день_недели_и_года()
520
-
521
- def Добавить_дни(здесь, количество):
522
- здесь.в_днях += количество
523
- здесь._Посчитать_дату()
524
- return здесь
525
-
526
- def Разница_в_днях(здесь, другая_дата):
527
- return здесь.в_днях - другая_дата.в_днях
528
-
529
- def Сравнить(здесь, другая_дата):
530
- if здесь.в_днях < другая_дата.в_днях: return -1
531
- elif здесь.в_днях > другая_дата.в_днях: return 1
529
+ экземпляр.день = a - c - int(30.6001 * d)
530
+ экземпляр.месяц = d - (13 if d > 13 else 1)
531
+ экземпляр.год = b - (3 if экземпляр.месяц < 3 else 4)
532
+ экземпляр._Посчитать_день_недели_и_года()
533
+
534
+ def Добавить_дни(экземпляр, количество):
535
+ экземпляр.в_днях += количество
536
+ экземпляр._Посчитать_дату()
537
+ return экземпляр
538
+
539
+ def Разница_в_днях(экземпляр, другая_дата):
540
+ return экземпляр.в_днях - другая_дата.в_днях
541
+
542
+ def Сравнить(экземпляр, другая_дата):
543
+ if экземпляр.в_днях < другая_дата.в_днях: return -1
544
+ elif экземпляр.в_днях > другая_дата.в_днях: return 1
532
545
  else: return 0
533
546
 
534
- def В_новый_стиль(здесь):
535
- разница = здесь.год // 100 - здесь.год // 400 - 2
536
- год_увеличения_разницы = здесь.год % 100 == 0 and здесь.год % 400 != 0
547
+ def В_новый_стиль(экземпляр):
548
+ разница = экземпляр.год // 100 - экземпляр.год // 400 - 2
549
+ год_увеличения_разницы = экземпляр.год % 100 == 0 and экземпляр.год % 400 != 0
537
550
  if год_увеличения_разницы:
538
- if здесь.день_года < 60: разница -= 1
539
- if здесь.день_года == 59 and год_увеличения_разницы:
540
- дата = Дата(здесь.год, 3, 1) + Интервал(дней = разница)
551
+ if экземпляр.день_года < 60: разница -= 1
552
+ if экземпляр.день_года == 59 and год_увеличения_разницы:
553
+ дата = Дата(экземпляр.год, 3, 1) + Интервал(дней = разница)
541
554
  else:
542
- дата = Дата(здесь.год, здесь.месяц, здесь.день)
555
+ дата = Дата(экземпляр.год, экземпляр.месяц, экземпляр.день)
543
556
  дата += Интервал(дней = разница)
544
557
  return дата
545
558