diff --git a/python/obitools3/files/universalopener.pxd b/python/obitools3/files/universalopener.pxd new file mode 100644 index 0000000..7743db6 --- /dev/null +++ b/python/obitools3/files/universalopener.pxd @@ -0,0 +1,5 @@ +#cython: language_level=3 + +from .uncompress cimport CompressedFile + +cpdef CompressedFile uopen(str name, mode=?) \ No newline at end of file diff --git a/python/obitools3/files/universalopener.pyx b/python/obitools3/files/universalopener.pyx new file mode 100644 index 0000000..3aefb92 --- /dev/null +++ b/python/obitools3/files/universalopener.pyx @@ -0,0 +1,23 @@ +#cython: language_level=3 + +''' +Created on 25 mars 2016 + +@author: coissac +''' + +from urllib.request import urlopen + + +cpdef CompressedFile uopen(str name, mode='r'): + cdef CompressedFile c + + try: + f = urlopen(name) + except ValueError: + f = open(name,mode) + + c = CompressedFile(f) + + return c + \ No newline at end of file