@@ -15,8 +15,9 @@ class BaseProtocolFile(object):
1515
1616 temp_file_suffix = "temp_knesset_data_protocols_"
1717
18- def __init__ (self , file , proxies = None ):
18+ def __init__ (self , file , proxies = None , extension = None ):
1919 self ._file_type , self ._file_data = file
20+ self .extension = extension
2021 self ._cleanup = []
2122 self ._proxies = proxies if proxies else {}
2223
@@ -55,6 +56,8 @@ def file_extension(self):
5556 if self ._file_type in ("filename" , "url" ) and self ._file_data :
5657 filename , file_extension = os .path .splitext (self ._file_data )
5758 return file_extension [1 :]
59+ if self .extension is not None :
60+ return self .extension
5861 else :
5962 return None
6063
@@ -91,8 +94,8 @@ def _close(self):
9194
9295 @classmethod
9396 @contextlib .contextmanager
94- def _get_from (cls , file_type , file_data , proxies = None ):
95- obj = cls ((file_type , file_data ), proxies = proxies )
97+ def _get_from (cls , file_type , file_data , proxies = None , extension = None ):
98+ obj = cls ((file_type , file_data ), proxies = proxies , extension = extension )
9699 try :
97100 yield obj
98101 finally :
@@ -110,8 +113,8 @@ def get_from_url(cls, url, proxies=None):
110113
111114 @classmethod
112115 @contextlib .contextmanager
113- def get_from_file (cls , file ):
114- with cls ._get_from ('file' , file ) as p : yield p
116+ def get_from_file (cls , file , extension = None ):
117+ with cls ._get_from ('file' , file , extension = extension ) as p : yield p
115118
116119 @classmethod
117120 @contextlib .contextmanager
0 commit comments