@@ -54,18 +54,15 @@ class File:
5454 __slots__ = (
5555 "filename" ,
5656 "content" ,
57+ "attachment_url" ,
5758 "_lines_of_code" ,
5859 "_character_count" ,
5960 )
6061
61- def __init__ (
62- self ,
63- * ,
64- filename : str ,
65- content : str ,
66- ) -> None :
62+ def __init__ (self , * , filename : str , content : str , attachment_url : Optional [str ]) -> None :
6763 self .filename : str = filename
6864 self .content : str = content
65+ self .attachment_url : Optional [str ] = attachment_url
6966
7067 @property
7168 def lines_of_code (self ) -> int :
@@ -77,10 +74,7 @@ def character_count(self) -> int:
7774
7875 @classmethod
7976 def from_data (cls , payload : FileResponse , / ) -> Self :
80- self = cls (
81- content = payload ["content" ],
82- filename = payload ["filename" ],
83- )
77+ self = cls (content = payload ["content" ], filename = payload ["filename" ], attachment_url = payload ["attachment" ])
8478 self ._lines_of_code = payload ["loc" ]
8579 self ._character_count = payload ["charcount" ]
8680
@@ -120,16 +114,11 @@ class Paste:
120114 "_last_edited" ,
121115 )
122116
123- def __init__ (
124- self ,
125- * ,
126- id : str ,
127- created_at : str ,
128- files : List [File ],
129- ) -> None :
117+ def __init__ (self , * , id : str , created_at : str , files : List [File ], notice : Optional [str ]) -> None :
130118 self .id : str = id
131119 self .created_at : datetime .datetime = datetime .datetime .fromisoformat (created_at )
132- self .files : list [File ] = files
120+ self .files : List [File ] = files
121+ self .notice : Optional [str ] = notice
133122
134123 def __str__ (self ) -> str :
135124 return self .url
@@ -156,19 +145,15 @@ def views(self) -> Optional[int]:
156145 @classmethod
157146 def from_data (cls , payload : PasteResponse , / ) -> Self :
158147 files = [File .from_data (data ) for data in payload ["files" ]]
159- self = cls (
160- id = payload ["id" ],
161- created_at = payload ["created_at" ],
162- files = files ,
163- )
148+ self = cls (id = payload ["id" ], created_at = payload ["created_at" ], files = files , notice = payload ["notice" ])
164149 self ._views = payload .get ("views" )
165- last_edited = payload . get ( "last_edited" )
150+ last_edited = payload [ "last_edited" ]
166151 if last_edited :
167152 self ._last_edited = datetime .datetime .fromisoformat (last_edited )
168153 else :
169154 self ._last_edited = None
170155
171- expires = payload . get ( "expires" )
156+ expires = payload [ "expires" ]
172157 if expires :
173158 self ._expires = datetime .datetime .fromisoformat (expires )
174159 else :
0 commit comments