This commit is contained in:
leandrotoledo 2015-07-20 08:26:29 -03:00
commit b6fb2bc6bf
19 changed files with 51 additions and 36 deletions

13
CHANGES
View file

@ -1,3 +1,16 @@
2015-07-20
Released 2.1
Fix to_dict for Document and Video
2015-07-19
Released 2.0
Fixes bugs
Improves __str__ over to_json()
Creates abstractclass TelegramObject
2015-07-15 2015-07-15
Released 1.9 Released 1.9

View file

@ -15,7 +15,7 @@ def read(*paths):
setup( setup(
name='python-telegram-bot', name='python-telegram-bot',
version='1.9', version='2.1',
author='Leandro Toledo', author='Leandro Toledo',
author_email='leandrotoledodesouza@gmail.com', author_email='leandrotoledodesouza@gmail.com',
license='GPLv2', license='GPLv2',

View file

@ -3,7 +3,7 @@
"""A library that provides a Python interface to the Telegram Bots API""" """A library that provides a Python interface to the Telegram Bots API"""
__author__ = 'leandrotoledodesouza@gmail.com' __author__ = 'leandrotoledodesouza@gmail.com'
__version__ = '1.9' __version__ = '2.1'
from .base import TelegramObject from .base import TelegramObject
from .user import User from .user import User

View file

@ -22,7 +22,7 @@ class Audio(TelegramObject):
mime_type=data.get('mime_type', None), mime_type=data.get('mime_type', None),
file_size=data.get('file_size', None)) file_size=data.get('file_size', None))
def to_data(self): def to_dict(self):
data = {'file_id': self.file_id, data = {'file_id': self.file_id,
'duration': self.duration} 'duration': self.duration}
if self.mime_type: if self.mime_type:

View file

@ -11,7 +11,7 @@ class TelegramObject(object):
__metaclass__ = ABCMeta __metaclass__ = ABCMeta
def __str__(self): def __str__(self):
return str(self.to_data()) return str(self.to_dict())
def __getitem__(self, item): def __getitem__(self, item):
return self.__dict__[item] return self.__dict__[item]
@ -21,8 +21,8 @@ class TelegramObject(object):
raise NotImplementedError raise NotImplementedError
def to_json(self): def to_json(self):
return json.dumps(self.to_data()) return json.dumps(self.to_dict())
@abstractmethod @abstractmethod
def to_data(self): def to_dict(self):
return return

View file

@ -22,7 +22,7 @@ class Contact(TelegramObject):
last_name=data.get('last_name', None), last_name=data.get('last_name', None),
user_id=data.get('user_id', None)) user_id=data.get('user_id', None))
def to_data(self): def to_dict(self):
data = {'phone_number': self.phone_number, data = {'phone_number': self.phone_number,
'first_name': self.first_name} 'first_name': self.first_name}
if self.last_name: if self.last_name:

View file

@ -31,9 +31,10 @@ class Document(TelegramObject):
mime_type=data.get('mime_type', None), mime_type=data.get('mime_type', None),
file_size=data.get('file_size', None)) file_size=data.get('file_size', None))
def to_data(self): def to_dict(self):
data = {'file_id': self.file_id, data = {'file_id': self.file_id}
'thumb': self.thumb.to_data()} if self.thumb:
data['thumb'] = self.thumb.to_dict()
if self.file_name: if self.file_name:
data['file_name'] = self.file_name data['file_name'] = self.file_name
if self.mime_type: if self.mime_type:

View file

@ -16,7 +16,7 @@ class ForceReply(TelegramObject):
return ForceReply(force_reply=data.get('force_reply', None), return ForceReply(force_reply=data.get('force_reply', None),
selective=data.get('selective', None)) selective=data.get('selective', None))
def to_data(self): def to_dict(self):
data = {'force_reply': self.force_reply} data = {'force_reply': self.force_reply}
if self.selective: if self.selective:
data['selective'] = self.selective data['selective'] = self.selective

View file

@ -16,7 +16,7 @@ class GroupChat(TelegramObject):
return GroupChat(id=data.get('id', None), return GroupChat(id=data.get('id', None),
title=data.get('title', None)) title=data.get('title', None))
def to_data(self): def to_dict(self):
data = {'id': self.id, data = {'id': self.id,
'title': self.title} 'title': self.title}
return data return data

View file

@ -16,7 +16,7 @@ class Location(TelegramObject):
return Location(longitude=data.get('longitude', None), return Location(longitude=data.get('longitude', None),
latitude=data.get('latitude', None)) latitude=data.get('latitude', None))
def to_data(self): def to_dict(self):
data = {'longitude': self.longitude, data = {'longitude': self.longitude,
'latitude': self.latitude} 'latitude': self.latitude}
return data return data

View file

@ -163,11 +163,11 @@ class Message(TelegramObject):
delete_chat_photo=data.get('delete_chat_photo', None), delete_chat_photo=data.get('delete_chat_photo', None),
group_chat_created=data.get('group_chat_created', None)) group_chat_created=data.get('group_chat_created', None))
def to_data(self): def to_dict(self):
data = {'message_id': self.message_id, data = {'message_id': self.message_id,
'from': self.from_user.to_data(), 'from': self.from_user.to_dict(),
'date': self.date, 'date': self.date,
'chat': self.chat.to_data()} 'chat': self.chat.to_dict()}
if self.forward_from: if self.forward_from:
data['forward_from'] = self.forward_from data['forward_from'] = self.forward_from
if self.forward_date: if self.forward_date:
@ -177,19 +177,19 @@ class Message(TelegramObject):
if self.text: if self.text:
data['text'] = self.text data['text'] = self.text
if self.audio: if self.audio:
data['audio'] = self.audio.to_data() data['audio'] = self.audio.to_dict()
if self.document: if self.document:
data['document'] = self.document.to_data() data['document'] = self.document.to_dict()
if self.photo: if self.photo:
data['photo'] = [p.to_data() for p in self.photo] data['photo'] = [p.to_dict() for p in self.photo]
if self.sticker: if self.sticker:
data['sticker'] = self.sticker.to_data() data['sticker'] = self.sticker.to_dict()
if self.video: if self.video:
data['video'] = self.video.to_data() data['video'] = self.video.to_dict()
if self.contact: if self.contact:
data['contact'] = self.contact.to_data() data['contact'] = self.contact.to_dict()
if self.location: if self.location:
data['location'] = self.location.to_data() data['location'] = self.location.to_dict()
if self.new_chat_participant: if self.new_chat_participant:
data['new_chat_participant'] = self.new_chat_participant data['new_chat_participant'] = self.new_chat_participant
if self.left_chat_participant: if self.left_chat_participant:

View file

@ -22,7 +22,7 @@ class PhotoSize(TelegramObject):
height=data.get('height', None), height=data.get('height', None),
file_size=data.get('file_size', None)) file_size=data.get('file_size', None))
def to_data(self): def to_dict(self):
data = {'file_id': self.file_id, data = {'file_id': self.file_id,
'width': self.width, 'width': self.width,
'height': self.height} 'height': self.height}

View file

@ -16,7 +16,7 @@ class ReplyKeyboardHide(ReplyMarkup):
return ReplyKeyboardHide(hide_keyboard=data.get('hide_keyboard', None), return ReplyKeyboardHide(hide_keyboard=data.get('hide_keyboard', None),
selective=data.get('selective', None)) selective=data.get('selective', None))
def to_data(self): def to_dict(self):
data = {'hide_keyboard': self.hide_keyboard} data = {'hide_keyboard': self.hide_keyboard}
if self.selective: if self.selective:
data['selective'] = self.selective data['selective'] = self.selective

View file

@ -26,7 +26,7 @@ class ReplyKeyboardMarkup(ReplyMarkup):
), ),
selective=data.get('selective', None)) selective=data.get('selective', None))
def to_data(self): def to_dict(self):
data = {'keyboard': self.keyboard} data = {'keyboard': self.keyboard}
if self.resize_keyboard: if self.resize_keyboard:
data['resize_keyboard'] = self.resize_keyboard data['resize_keyboard'] = self.resize_keyboard

View file

@ -31,11 +31,11 @@ class Sticker(TelegramObject):
thumb=thumb, thumb=thumb,
file_size=data.get('file_size', None)) file_size=data.get('file_size', None))
def to_data(self): def to_dict(self):
data = {'file_id': self.file_id, data = {'file_id': self.file_id,
'width': self.width, 'width': self.width,
'height': self.height, 'height': self.height,
'thumb': self.thumb.to_data()} 'thumb': self.thumb.to_dict()}
if self.file_size: if self.file_size:
data['file_size'] = self.file_size data['file_size'] = self.file_size
return data return data

View file

@ -22,8 +22,8 @@ class Update(TelegramObject):
return Update(update_id=data.get('update_id', None), return Update(update_id=data.get('update_id', None),
message=message) message=message)
def to_data(self): def to_dict(self):
data = {'update_id': self.update_id} data = {'update_id': self.update_id}
if self.message: if self.message:
data['message'] = self.message.to_data() data['message'] = self.message.to_dict()
return data return data

View file

@ -30,7 +30,7 @@ class User(TelegramObject):
last_name=data.get('last_name', None), last_name=data.get('last_name', None),
username=data.get('username', None)) username=data.get('username', None))
def to_data(self): def to_dict(self):
data = {'id': self.id, data = {'id': self.id,
'first_name': self.first_name} 'first_name': self.first_name}
if self.last_name: if self.last_name:

View file

@ -24,12 +24,12 @@ class UserProfilePhotos(TelegramObject):
return UserProfilePhotos(total_count=data.get('total_count', None), return UserProfilePhotos(total_count=data.get('total_count', None),
photos=photos) photos=photos)
def to_data(self): def to_dict(self):
data = {} data = {}
if self.total_count: if self.total_count:
data['total_count'] = self.total_count data['total_count'] = self.total_count
if self.photos: if self.photos:
data['photos'] = [] data['photos'] = []
for photo in self.photos: for photo in self.photos:
data['photos'].append([x.to_data() for x in photo]) data['photos'].append([x.to_dict() for x in photo])
return data return data

View file

@ -40,12 +40,13 @@ class Video(TelegramObject):
file_size=data.get('file_size', None), file_size=data.get('file_size', None),
caption=data.get('caption', None)) caption=data.get('caption', None))
def to_data(self): def to_dict(self):
data = {'file_id': self.file_id, data = {'file_id': self.file_id,
'width': self.width, 'width': self.width,
'height': self.height, 'height': self.height,
'duration': self.duration, 'duration': self.duration}
'thumb': self.thumb.to_data()} if self.thumb:
data['thumb'] = self.thumb.to_dict()
if self.mime_type: if self.mime_type:
data['mime_type'] = self.mime_type data['mime_type'] = self.mime_type
if self.file_size: if self.file_size: