You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
521 B
22 lines
521 B
6 years ago
|
class FileOpener(object):
|
||
|
def __init__(self, file_path, parameters=None):
|
||
|
self.file_path = file_path
|
||
|
self.parameters = parameters
|
||
|
|
||
|
self.file = None
|
||
|
|
||
|
def __enter__(self):
|
||
|
self.file = ASIO.get_handler().open(
|
||
|
self.file_path,
|
||
|
self.parameters.handlers.get(ASIO.get_handler())
|
||
|
)
|
||
|
|
||
|
return self.file
|
||
|
|
||
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
||
|
if not self.file:
|
||
|
return
|
||
|
|
||
|
self.file.close()
|
||
|
self.file = None
|