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
@@ -0,0 +1,141 @@
1
+ import requests
2
+
3
+ Словарь_параметров_запроса = {
4
+ 'параметры': 'params',
5
+ 'данные': 'data',
6
+ 'данные_json': 'json',
7
+ 'заголовки': 'headers',
8
+ 'куки': 'cookies',
9
+ 'аутентификация': 'auth',
10
+ 'таймаут': 'timeout',
11
+ 'разрешить_перенаправления': 'allow_redirects',
12
+ 'проверить_шифрование': 'verify',
13
+ 'поток': 'stream',
14
+ 'прокси': 'proxies',
15
+ 'кодование_ответа': 'encoding',
16
+ 'задержка_соединения': 'connect',
17
+ 'задержка_чтения': 'read'
18
+ }
19
+
20
+ Успешно = 200
21
+ Создано = 201
22
+ Принято = 202
23
+ Нет_содержимого = 204
24
+ Множественный_выбор = 300
25
+ Перенаправление = 301
26
+ Найдено = 302
27
+ Не_изменено = 304
28
+ Неверный_запрос = 400
29
+ Не_авторизован = 401
30
+ Запрещено = 403
31
+ Не_найдено = 404
32
+ Метод_не_разрешен = 405
33
+ Конфликт = 409
34
+ Ошибка_сервера = 500
35
+ Не_реализовано = 501
36
+ Служба_недоступна = 503
37
+
38
+ class Ответ:
39
+ def __init__(экземпляр, исходный_ответ: requests.Response):
40
+ экземпляр._ответ = исходный_ответ
41
+
42
+ @property
43
+ def код_статуса(экземпляр): return экземпляр._ответ.status_code
44
+
45
+ @property
46
+ def текст(экземпляр): return экземпляр._ответ.text
47
+
48
+ @property
49
+ def json(экземпляр):
50
+ try: return экземпляр._ответ.json()
51
+ except requests.exceptions.JSONDecodeError: return None
52
+
53
+ @property
54
+ def заголовки(экземпляр): return экземпляр._ответ.headers
55
+
56
+ @property
57
+ def байты(экземпляр): return экземпляр._ответ.content
58
+
59
+ @property
60
+ def успешно(экземпляр): return экземпляр._ответ.ok
61
+
62
+ @property
63
+ def кодование(экземпляр): return экземпляр._ответ.encoding
64
+
65
+ @кодование.setter
66
+ def кодование(экземпляр, новое_кодование):
67
+ экземпляр._ответ.encoding = новое_кодование
68
+
69
+ def Выдать_ошибку(экземпляр): экземпляр._ответ.raise_for_status()
70
+
71
+ def __str__(экземпляр):
72
+ return f"Ответ (статус: {экземпляр.код_статуса}, ссылка: {экземпляр._ответ.ссылка})"
73
+
74
+ def __repr__(экземпляр):
75
+ return f"<Ответ - статус: {экземпляр.код_статуса}, ссылка: {экземпляр._ответ.ссылка}>"
76
+
77
+ class Запросы:
78
+ def __init__(экземпляр):
79
+ экземпляр._сессия = requests.Session()
80
+
81
+ def _Перевести_параметры(экземпляр, **ИА):
82
+ новые_ИА = {}
83
+ for ключ, значение in ИА.items():
84
+ if isinstance(ключ, tuple) and ключ[0] == 'таймаут':
85
+ connect_timeout = ИА.get(('таймаут', 'задержка_соединения'), None)
86
+ read_timeout = ИА.get(('таймаут', 'задержка_чтения'), None)
87
+ if connect_timeout is not None or read_timeout is not None:
88
+ новые_ИА['timeout'] = (connect_timeout, read_timeout)
89
+ else:
90
+ if ключ in Словарь_параметров_запроса:
91
+ новые_ИА[Словарь_параметров_запроса[ключ]] = значение
92
+ else:
93
+ новые_ИА[ключ] = значение
94
+ return новые_ИА
95
+
96
+ def Получить(экземпляр, ссылка, **ИА):
97
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
98
+ ответ = экземпляр._сессия.get(ссылка, **переведенные_параметры)
99
+ return Ответ_HTTP(ответ)
100
+
101
+ def Отправить(экземпляр, ссылка, **ИА):
102
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
103
+ ответ = экземпляр._сессия.post(ссылка, **переведенные_параметры)
104
+ return Ответ_HTTP(ответ)
105
+
106
+ def Положить(экземпляр, ссылка, **ИА):
107
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
108
+ ответ = экземпляр._сессия.put(ссылка, **переведенные_параметры)
109
+ return Ответ_HTTP(ответ)
110
+
111
+ def Удалить(экземпляр, ссылка, **ИА):
112
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
113
+ ответ = экземпляр._сессия.delete(ссылка, **переведенные_параметры)
114
+ return Ответ_HTTP(ответ)
115
+
116
+ def Заголовки(экземпляр, ссылка, **ИА):
117
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
118
+ ответ = экземпляр._сессия.head(ссылка, **переведенные_параметры)
119
+ return Ответ_HTTP(ответ)
120
+
121
+ def Опции(экземпляр, ссылка, **ИА):
122
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
123
+ ответ = экземпляр._сессия.options(ссылка, **переведенные_параметры)
124
+ return Ответ_HTTP(ответ)
125
+
126
+ def Изменить(экземпляр, ссылка, **ИА):
127
+ переведенные_параметры = экземпляр._Перевести_параметры(**ИА)
128
+ ответ = экземпляр._сессия.patch(ссылка, **переведенные_параметры)
129
+ return Ответ_HTTP(ответ)
130
+
131
+ def Закрыть_сессию(экземпляр):
132
+ экземпляр._сессия.close()
133
+
134
+ Запросы_по_умолчанию = Запросы()
135
+ def Получить(ссылка, **ИА): return Запросы_по_умолчанию.Получить(ссылка, **ИА)
136
+ def Отправить(ссылка, **ИА): return Запросы_по_умолчанию.Отправить(ссылка, **ИА)
137
+ def Положить(ссылка, **ИА): return Запросы_по_умолчанию.Положить(ссылка, **ИА)
138
+ def Удалить(ссылка, **ИА): return Запросы_по_умолчанию.Удалить(ссылка, **ИА)
139
+ def Заголовки(ссылка, **ИА): return Запросы_по_умолчанию.Заголовки(ссылка, **ИА)
140
+ def Опции(ссылка, **ИА): return Запросы_по_умолчанию.Опции(ссылка, **ИА)
141
+ def Изменить(ссылка, **ИА): return Запросы_по_умолчанию.Изменить(ссылка, **ИА)
@@ -23,59 +23,59 @@ def Склонение_после_числительного(число, сло
23
23
  )
24
24
 
25
25
  class Куча:
26
- def __init__(здесь, перебираемое=None):
27
- здесь._heap = list(перебираемое or [])
28
- heapq.heapify(здесь._heap)
26
+ def __init__(экземпляр, перебираемое=None):
27
+ экземпляр._heap = list(перебираемое or [])
28
+ heapq.heapify(экземпляр._heap)
29
29
 
30
- def Добавить(здесь, элемент):
31
- heapq.heappush(здесь._heap, элемент)
30
+ def Добавить(экземпляр, элемент):
31
+ heapq.heappush(экземпляр._heap, элемент)
32
32
 
33
- def Извлечь(здесь):
34
- if not здесь._heap:
33
+ def Извлечь(экземпляр):
34
+ if not экземпляр._heap:
35
35
  raise IndexError("Куча пуста")
36
- return heapq.heappop(здесь._heap)
36
+ return heapq.heappop(экземпляр._heap)
37
37
 
38
- def Добавить_и_извлечь(здесь, элемент):
39
- return heapq.heappushpop(здесь._heap, элемент)
38
+ def Добавить_и_извлечь(экземпляр, элемент):
39
+ return heapq.heappushpop(экземпляр._heap, элемент)
40
40
 
41
- def Заменить(здесь, элемент):
42
- if not здесь._heap:
41
+ def Заменить(экземпляр, элемент):
42
+ if not экземпляр._heap:
43
43
  raise IndexError("Куча пуста")
44
- return heapq.heapreplace(здесь._heap, элемент)
44
+ return heapq.heapreplace(экземпляр._heap, элемент)
45
45
 
46
- def Наибольшие(здесь, количество, ключ=None):
46
+ def Наибольшие(экземпляр, количество, ключ=None):
47
47
  kwargs = {'n': количество}
48
48
  if ключ is not None:
49
49
  kwargs['key'] = ключ
50
- return heapq.nlargest(**kwargs, iterable=здесь._heap)
50
+ return heapq.nlargest(**kwargs, iterable=экземпляр._heap)
51
51
 
52
- def Наименьшие(здесь, количество, ключ=None):
52
+ def Наименьшие(экземпляр, количество, ключ=None):
53
53
  kwargs = {'n': количество}
54
54
  if ключ is not None:
55
55
  kwargs['key'] = ключ
56
- return heapq.nsmallest(**kwargs, iterable=здесь._heap)
56
+ return heapq.nsmallest(**kwargs, iterable=экземпляр._heap)
57
57
 
58
- def Размер(здесь):
59
- return len(здесь._heap)
58
+ def Размер(экземпляр):
59
+ return len(экземпляр._heap)
60
60
 
61
- def Пустая(здесь):
62
- return len(здесь._heap) == 0
61
+ def Пустая(экземпляр):
62
+ return len(экземпляр._heap) == 0
63
63
 
64
- def Получить_список(здесь):
65
- return list(здесь._heap)
64
+ def Получить_список(экземпляр):
65
+ return list(экземпляр._heap)
66
66
 
67
- def __len__(здесь):
68
- return len(здесь._heap)
67
+ def __len__(экземпляр):
68
+ return len(экземпляр._heap)
69
69
 
70
- def __iter__(здесь):
71
- return iter(здесь._heap)
70
+ def __iter__(экземпляр):
71
+ return iter(экземпляр._heap)
72
72
 
73
- def __contains__(здесь, элемент):
74
- return элемент in здесь._heap
73
+ def __contains__(экземпляр, элемент):
74
+ return элемент in экземпляр._heap
75
75
 
76
- def __str__(здесь):
77
- размер = здесь.Размер()
78
- return f"Куча с {Склонение_после_числительного(размер, Словарь_склонений['элемент'])}: {здесь._heap}"
76
+ def __str__(экземпляр):
77
+ размер = экземпляр.Размер()
78
+ return f"Куча с {Склонение_после_числительного(размер, Словарь_склонений['элемент'])}: {экземпляр._heap}"
79
79
 
80
80
  def Слить_кучи(*перебираемые, ключ=None):
81
81
  kwargs = {}