33 you can send using the xxxMESSAGE objects.
44"""
55from typing import Any , Callable , Coroutine , Union , Optional
6+ from os .path import basename
67from typeguard import typechecked
78import importlib .util as iu
89import io
@@ -163,7 +164,7 @@ class FILE:
163164 ValueError
164165 The ``data`` parameter is of incorrect format.
165166 """
166- __slots__ = ("_filename" , "_data" )
167+ __slots__ = ("_filename" , "_basename" , " _data" )
167168
168169 def __init__ (self , filename : str , data : Optional [Union [bytes , str ]] = None ):
169170 if data is None :
@@ -174,9 +175,10 @@ def __init__(self, filename: str, data: Optional[Union[bytes, str]] = None):
174175 data = bytes .fromhex (data )
175176
176177 self ._filename = filename
178+ self ._basename = basename (filename )
177179 self ._data = data
178180
179- def __str__ (self ) -> str :
181+ def __repr__ (self ) -> str :
180182 return f"FILE(filename={ self ._filename } )"
181183
182184 @property
@@ -187,6 +189,11 @@ def stream(self) -> io.BytesIO:
187189 @property
188190 def filename (self ) -> str :
189191 "The name of the file"
192+ return self ._basename
193+
194+ @property
195+ def fullpath (self ) -> str :
196+ "The full path to the file"
190197 return self ._filename
191198
192199 @property
@@ -207,7 +214,7 @@ def to_dict(self):
207214 """
208215 return {
209216 "type:" : "File" ,
210- "filename" : self ._filename
217+ "filename" : self .fullpath
211218 }
212219
213220
0 commit comments