Browse Source

Remove old architecture

pull/290/head
XronoZ-create 3 years ago
parent
commit
8fb69d2e46
  1. 75
      steam/webrequests.py

75
steam/webrequests.py

@ -1,75 +0,0 @@
import requests
from bs4 import BeautifulSoup
class BrowserRequests(object):
def __init__(self):
self.session = None
self.steam_id = None
self.session_id = None
def get_avatar_url(self, size=2):
"""Get URL to avatar picture
:param size: possible values are ``0``, ``1``, or ``2`` corresponding to small, medium, large
:type size: :class:`int`
:return: url to avatar
:rtype: :class:`str`
:raises HTTPError: any problem with http request, timeouts, 5xx, 4xx etc
"""
self.url = "https://steamcommunity.com/profiles/%s/edit/avatar"
try:
self.resp = self.session.get(self.url % self.steam_id,
timeout=15,
)
self.req_bs = BeautifulSoup(self.resp.text)
self.avatar_url = str(self.req_bs.find('div', {'class':'playerAvatar'}).find('img')['src'].split('.jpg')[0])
sizes = { # размеры картинок
0: '',
1: '_medium',
2: '_full',
}
except requests.exceptions.RequestException as e:
raise HTTPError(str(e))
return self.avatar_url+sizes[size]+'.jpg'
def set_avatar(self, avatar):
"""Set image to avatar picture
:param avatar: bytes image
:type avatar: :class:`bytes`
:return: json response
:rtype: :class:`dict`
:raises HTTPError: any problem with http request, timeouts, 5xx, 4xx etc
:raises AvatarRequiredNoSend: any problem with the format of the file being sent
"""
self.url = "https://steamcommunity.com/actions/FileUploader/"
try:
self.resp = self.session.post(self.url,
timeout=15,
data={
'type': 'player_avatar_image',
'sId': self.steam_id,
'sessionid': self.session_id,
'doSub': 1,
'json': 1
},
files={'avatar':avatar}
).json()
except requests.exceptions.RequestException as e:
raise HTTPError(str(e))
if self.resp['success'] != True:
raise AvatarRequiredNoSend
return self.resp
class WebAuthException(Exception):
pass
class HTTPError(WebAuthException):
pass
class AvatarRequired(Exception):
pass
class AvatarRequiredNoSend(AvatarRequired):
pass
Loading…
Cancel
Save