MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / Network

Class Network

service/network.py:56–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54
55
56class Network:
57 # Request constants - every request must supply this, as it is checked if
58 # enabled or not via settings
59 ENABLED = 1
60 EVE = 2 # Mostly API, but also covers CREST requests. update: might be useless these days, this Network class needs to be reviewed
61 PRICES = 4
62 UPDATE = 8
63
64 _instance = None
65
66 @classmethod
67 def getInstance(cls):
68 if cls._instance is None:
69 cls._instance = Network()
70
71 return cls._instance
72
73 def get(self, url, type, **kwargs):
74 self.__networkAccessCheck(type)
75
76 headers = self.__getHeaders()
77 proxies = self.__getProxies()
78
79 try:
80 resp = requests.get(url, headers=headers, proxies=proxies, **kwargs)
81 resp.raise_for_status()
82 return resp
83 except requests.exceptions.HTTPError as error:
84 pyfalog.warning('HTTPError:')
85 pyfalog.warning(error)
86 if error.response.status_code == 404:
87 raise RequestError()
88 elif error.response.status_code == 403:
89 raise AuthenticationError()
90 elif error.response.status_code >= 500:
91 raise ServerError()
92 raise Error(error)
93 except requests.exceptions.Timeout:
94 raise TimeoutError()
95 except (KeyboardInterrupt, SystemExit):
96 raise
97 except Exception as error:
98 raise Error(error)
99
100 def post(self, url, type, jsonData, **kwargs):
101 self.__networkAccessCheck(type)
102
103 headers = self.__getHeaders()
104 proxies = self.__getProxies()
105
106 try:
107 resp = requests.post(url, json=jsonData, headers=headers, proxies=proxies, **kwargs)
108 resp.raise_for_status()
109 return resp
110 except requests.exceptions.HTTPError as error:
111 pyfalog.warning('HTTPError:')
112 pyfalog.warning(error)
113 if error.response.status_code == 404:

Callers 1

getInstanceMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected