Skip to content

Commit 2f0d890

Browse files
author
Tzafrir Cohen
committed
protocols: get_from_file: allow passing extension
Allow passing the name of the extension if protocol object was created with get_from_file().
1 parent 9f42302 commit 2f0d890

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

knesset_data/protocols/base.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)