2015-07-20 04:06:04 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
2015-07-17 16:53:54 +02:00
|
|
|
|
2015-07-20 04:06:04 +02:00
|
|
|
import json
|
|
|
|
from abc import ABCMeta, abstractmethod
|
2015-07-17 16:53:54 +02:00
|
|
|
|
|
|
|
|
2015-07-20 04:06:04 +02:00
|
|
|
class TelegramObject(object):
|
2015-07-17 16:53:54 +02:00
|
|
|
"""Base class for most telegram object"""
|
|
|
|
|
|
|
|
__metaclass__ = ABCMeta
|
|
|
|
|
|
|
|
def __str__(self):
|
2015-07-20 04:25:44 +02:00
|
|
|
return str(self.to_dict())
|
2015-07-17 16:53:54 +02:00
|
|
|
|
|
|
|
def __getitem__(self, item):
|
2015-07-20 04:06:04 +02:00
|
|
|
return self.__dict__[item]
|
2015-07-17 16:53:54 +02:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def de_json(data):
|
2015-07-20 04:06:04 +02:00
|
|
|
raise NotImplementedError
|
2015-07-17 16:53:54 +02:00
|
|
|
|
|
|
|
def to_json(self):
|
2015-07-20 04:25:44 +02:00
|
|
|
return json.dumps(self.to_dict())
|
2015-07-20 04:06:04 +02:00
|
|
|
|
|
|
|
@abstractmethod
|
2015-07-20 04:25:44 +02:00
|
|
|
def to_dict(self):
|
2015-07-20 04:06:04 +02:00
|
|
|
return
|