Browse Source

Move _null_event and _verify_successful_response to utils

They might be used in other files in the future.
pull/42/merge
Rapptz 9 years ago
parent
commit
077817c126
  1. 69
      discord/client.py
  2. 10
      discord/utils.py

69
discord/client.py

@ -53,15 +53,6 @@ log = logging.getLogger(__name__)
request_logging_format = '{response.request.method} {response.url} has returned {response.status_code}'
request_success_log = '{response.url} with {json} received {data}'
def _null_event(*args, **kwargs):
pass
def _verify_successful_response(response):
code = response.status_code
success = code >= 200 and code < 300
if not success:
raise HTTPException(response)
class KeepAliveHandler(threading.Thread):
def __init__(self, seconds, socket, **kwargs):
threading.Thread.__init__(self, **kwargs)
@ -567,9 +558,9 @@ class Client(object):
log.debug("Dispatching event {}".format(event))
handle_method = '_'.join(('handle', event))
event_method = '_'.join(('on', event))
getattr(self, handle_method, _null_event)(*args, **kwargs)
getattr(self, handle_method, utils._null_event)(*args, **kwargs)
try:
getattr(self, event_method, _null_event)(*args, **kwargs)
getattr(self, event_method, utils._null_event)(*args, **kwargs)
except Exception as e:
getattr(self, 'on_error')(event_method, *args, **kwargs)
@ -626,7 +617,7 @@ class Client(object):
r = requests.post('{}/{}/channels'.format(endpoints.USERS, self.user.id), json=payload, headers=self.headers)
log.debug(request_logging_format.format(response=r))
_verify_successful_response(r)
utils._verify_successful_response(r)
data = r.json()
log.debug(request_success_log.format(response=r, json=payload, data=data))
self.private_channels.append(PrivateChannel(id=data['id'], user=user))
@ -674,7 +665,7 @@ class Client(object):
response = requests.post(url, json=payload, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, json=payload, data=data))
channel = self.get_channel(data.get('channel_id'))
@ -697,7 +688,7 @@ class Client(object):
response = requests.post(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def send_file(self, destination, fp, filename=None):
"""Sends a message to the destination given with the file given.
@ -753,7 +744,7 @@ class Client(object):
response = requests.post(url, files=files, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, json=response.text, data=filename))
channel = self.get_channel(data.get('channel_id'))
@ -774,7 +765,7 @@ class Client(object):
url = '{}/{}/messages/{}'.format(endpoints.CHANNELS, message.channel.id, message.id)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def edit_message(self, message, new_content, mentions=True):
"""Edits a :class:`Message` with the new message content.
@ -802,7 +793,7 @@ class Client(object):
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, json=payload, data=data))
return Message(channel=channel, **data)
@ -829,7 +820,7 @@ class Client(object):
r = requests.post(endpoints.LOGIN, json=payload)
log.debug(request_logging_format.format(response=r))
_verify_successful_response(r)
utils._verify_successful_response(r)
log.info('logging in returned status code {}'.format(r.status_code))
self.email = email
@ -867,7 +858,7 @@ class Client(object):
r = requests.post(endpoints.REGISTER, json=payload)
log.debug(request_logging_format.format(response=r))
_verify_successful_response(r)
utils._verify_successful_response(r)
log.info('register returned a successful status code')
self.email = ''
@ -955,7 +946,7 @@ class Client(object):
response = requests.get(url, params=params, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
messages = response.json()
for message in messages:
yield Message(channel=channel, **message)
@ -990,7 +981,7 @@ class Client(object):
url = '{}/{}'.format(endpoints.CHANNELS, channel.id)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def kick(self, server, user):
"""Kicks a :class:`User` from their respective :class:`Server`.
@ -1006,7 +997,7 @@ class Client(object):
url = '{base}/{server}/members/{user}'.format(base=endpoints.SERVERS, server=server.id, user=user.id)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def ban(self, server, user):
"""Bans a :class:`User` from their respective :class:`Server`.
@ -1022,7 +1013,7 @@ class Client(object):
url = '{base}/{server}/bans/{user}'.format(base=endpoints.SERVERS, server=server.id, user=user.id)
response = requests.put(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def unban(self, server, user):
"""Unbans a :class:`User` from their respective :class:`Server`.
@ -1039,7 +1030,7 @@ class Client(object):
url = '{base}/{server}/bans/{user}'.format(base=endpoints.SERVERS, server=server.id, user=user.id)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def edit_profile(self, password, **fields):
"""Edits the current profile of the client.
@ -1065,7 +1056,7 @@ class Client(object):
url = '{0}/@me'.format(endpoints.USERS)
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, json=payload, data=data))
@ -1098,7 +1089,7 @@ class Client(object):
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, json=payload, data=data))
@ -1125,7 +1116,7 @@ class Client(object):
url = '{0}/{1.id}/channels'.format(endpoints.SERVERS, server)
response = requests.post(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(response=response, data=data, json=payload))
@ -1144,7 +1135,7 @@ class Client(object):
url = '{0}/{1.id}'.format(endpoints.SERVERS, server)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def create_invite(self, destination, **options):
"""Creates an invite for the destination which could be either a :class:`Server` or :class:`Channel`.
@ -1172,7 +1163,7 @@ class Client(object):
response = requests.post(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(json=payload, response=response, data=data))
data['server'] = self.connection._get_server(data['guild']['id'])
@ -1194,7 +1185,7 @@ class Client(object):
rurl = '{0}/invite/{1}'.format(endpoints.API_BASE, destination)
response = requests.get(rurl, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
server = self.connection._get_server(data['guild']['id'])
data['server'] = server
@ -1223,7 +1214,7 @@ class Client(object):
url = '{0}/invite/{1}'.format(endpoints.API_BASE, destination)
response = requests.post(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def edit_role(self, server, role, **fields):
"""Edits the specified :class:`Role` for the entire :class:`Server`.
@ -1262,7 +1253,7 @@ class Client(object):
response = requests.patch(url, json=payload, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
log.debug(request_success_log.format(json=payload, response=response, data=data))
@ -1281,7 +1272,7 @@ class Client(object):
url = '{0}/{1.id}/roles/{2.id}'.format(endpoints.SERVERS, server, role)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def add_roles(self, member, *roles):
"""Gives the specified :class:`Member` a number of :class:`Role` s.
@ -1303,7 +1294,7 @@ class Client(object):
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def remove_roles(self, member, *roles):
"""Removes the :class:`Role` s from the :class:`Member`.
@ -1328,7 +1319,7 @@ class Client(object):
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def replace_roles(self, member, *roles):
"""Replaces the :class:`Member`'s roles.
@ -1354,7 +1345,7 @@ class Client(object):
response = requests.patch(url, headers=self.headers, json=payload)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
member.roles = list(roles)
@ -1371,7 +1362,7 @@ class Client(object):
url = '{0}/{1.id}/roles'.format(endpoints.SERVERS, server)
response = requests.post(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
data = response.json()
everyone = server.id == data.get('id')
@ -1435,7 +1426,7 @@ class Client(object):
response = requests.put(url, json=payload, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def delete_channel_permissions(self, channel, target):
"""Removes a channel specific permission overwrites for a target
@ -1453,7 +1444,7 @@ class Client(object):
url = '{0}/{1.id}/permissions/{2.id}'.format(endpoints.CHANNELS, channel, target)
response = requests.delete(url, headers=self.headers)
log.debug(request_logging_format.format(response=response))
_verify_successful_response(response)
utils._verify_successful_response(response)
def change_status(self, game_id=None, idle=False):
"""Changes the client's status.

10
discord/utils.py

@ -25,6 +25,7 @@ DEALINGS IN THE SOFTWARE.
"""
from re import split as re_split
from .errors import HTTPException
import datetime
@ -55,3 +56,12 @@ def find(predicate, seq):
if predicate(element):
return element
return None
def _null_event(*args, **kwargs):
pass
def _verify_successful_response(response):
code = response.status_code
success = code >= 200 and code < 300
if not success:
raise HTTPException(response)

Loading…
Cancel
Save