1616# You should have received a copy of the GNU Lesser Public License
1717# along with this program. If not, see [http://www.gnu.org/licenses/].
1818
19+ """This module contains a object that represents a Telegram Audio"""
1920
2021from telegram import TelegramObject
2122
2223
2324class Audio (TelegramObject ):
25+ """This object represents a Telegram Audio.
26+
27+ Attributes:
28+ file_id (str):
29+ duration (int):
30+ performer (str):
31+ title (str):
32+ mime_type (str):
33+ file_size (int):
34+
35+ Args:
36+ file_id (str):
37+ duration (int):
38+ **kwargs: Arbitrary keyword arguments.
39+
40+ Keyword Args:
41+ performer (Optional[str]):
42+ title (Optional[str]):
43+ mime_type (Optional[str]):
44+ file_size (Optional[int]):
45+ """
46+
2447 def __init__ (self ,
2548 file_id ,
2649 duration ,
27- performer = None ,
28- title = None ,
29- mime_type = None ,
30- file_size = None ):
50+ ** kwargs ):
51+ # Required
3152 self .file_id = file_id
32- self .duration = duration
33- self .performer = performer
34- self .title = title
35- self .mime_type = mime_type
36- self .file_size = file_size
53+ self .duration = int (duration )
54+ # Optionals
55+ self .performer = kwargs .get ('performer' , '' )
56+ self .title = kwargs .get ('title' , '' )
57+ self .mime_type = kwargs .get ('mime_type' , '' )
58+ self .file_size = int (kwargs .get ('file_size' , 0 ))
3759
3860 @staticmethod
3961 def de_json (data ):
40- return Audio (file_id = data .get ('file_id' , None ),
41- duration = data .get ('duration' , None ),
42- performer = data .get ('performer' , None ),
43- title = data .get ('title' , None ),
44- mime_type = data .get ('mime_type' , None ),
45- file_size = data .get ('file_size' , None ))
62+ """
63+ Args:
64+ data (str):
65+
66+ Returns:
67+ telegram.Audio:
68+ """
69+ if not data :
70+ return None
71+
72+ audio = dict ()
73+
74+ # Required
75+ audio ['file_id' ] = data ['file_id' ]
76+ audio ['duration' ] = data ['duration' ]
77+ # Optionals
78+ audio ['performer' ] = data .get ('performer' )
79+ audio ['title' ] = data .get ('title' )
80+ audio ['mime_type' ] = data .get ('mime_type' )
81+ audio ['file_size' ] = data .get ('file_size' , 0 )
82+
83+ return Audio (** audio )
4684
4785 def to_dict (self ):
48- data = {'file_id' : self .file_id ,
49- 'duration' : self .duration }
86+ """
87+ Returns:
88+ dict:
89+ """
90+ data = dict ()
91+
92+ # Required
93+ data ['file_id' ] = self .file_id
94+ data ['duration' ] = self .duration
95+ # Optionals
5096 if self .performer :
5197 data ['performer' ] = self .performer
5298 if self .title :
@@ -55,4 +101,5 @@ def to_dict(self):
55101 data ['mime_type' ] = self .mime_type
56102 if self .file_size :
57103 data ['file_size' ] = self .file_size
104+
58105 return data
0 commit comments