Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log warning raised when opening an OLEfile without context manager #191

Open
vr0al opened this issue May 17, 2022 · 0 comments
Open

Log warning raised when opening an OLEfile without context manager #191

vr0al opened this issue May 17, 2022 · 0 comments

Comments

@vr0al
Copy link

vr0al commented May 17, 2022

If you run the following script with a file as the first argument, OLEfile throws a warning exception as pyhwp is not opening a file within a with context manager.

Reproduce

import sys

import hwp5.storage
import hwp5.xmlmodel

hwp5file = hwp5.xmlmodel.Hwp5File(sys.argv[1])
print("File opened")
File opened
/usr/local/lib/python3.8/dist-packages/olefile-0.47.dev4-py3.8.egg/olefile/olefile.py:1410: OleFileIONotClosed: Deleting OleFileIO instance with open file handle. You should ensure that OleFileIO is never deleted without calling close() first. Consider using "with OleFileIO(...) as ole: ...".
Stacktrace of open() call:
  File "test.py", line 5, in <module>
    hwp5file = hwp5.xmlmodel.Hwp5File(sys.argv[1])
  File "/home/yog/.local/lib/python3.8/site-packages/hwp5/filestructure.py", line 537, in __init__
    stg = Hwp5FileBase(stg)
  File "/home/yog/.local/lib/python3.8/site-packages/hwp5/filestructure.py", line 188, in __init__
    stg = OleStorage(stg)
  File "/home/yog/.local/lib/python3.8/site-packages/hwp5/storage/ole.py", line 35, in __init__
    self.impl = impl_class(*args, **kwargs)
  File "/home/yog/.local/lib/python3.8/site-packages/hwp5/plat/olefileio.py", line 115, in __init__
    olefile = OleFileIO(olefile)
  File "/usr/local/lib/python3.8/dist-packages/olefile-0.47.dev4-py3.8.egg/olefile/olefile.py", line 1107, in __init__
    self.open(filename, write_mode=write_mode)
  File "/usr/local/lib/python3.8/dist-packages/olefile-0.47.dev4-py3.8.egg/olefile/olefile.py", line 1213, in open
    self._open_stack = traceback.extract_stack()   # remember for warning

My version history is

python3 -m pip install olefile --upgrade
Requirement already up-to-date: olefile in /usr/local/lib/python3.8/dist-packages/olefile-0.47.dev4-py3.8.egg (0.47.dev4)

python3 -m pip install pyhwp --upgrade

Requirement already up-to-date: pyhwp in /home/yog/.local/lib/python3.8/site-packages (0.1b15)
Requirement already satisfied, skipping upgrade: lxml; platform_python_implementation != "Jython" in /home/yog/.local/lib/python3.8/site-packages (from pyhwp) (4.6.5)
Requirement already satisfied, skipping upgrade: olefile>=0.43; platform_python_implementation != "Jython" in /usr/local/lib/python3.8/dist-packages/olefile-0.47.dev4-py3.8.egg (from pyhwp) (0.47.dev4)
Requirement already satisfied, skipping upgrade: cryptography; platform_python_implementation != "Jython" in /home/yog/.local/lib/python3.8/site-packages (from pyhwp) (3.3.2)
Requirement already satisfied, skipping upgrade: cffi>=1.12 in /home/yog/.local/lib/python3.8/site-packages (from cryptography; platform_python_implementation != "Jython"->pyhwp) (1.15.0)
Requirement already satisfied, skipping upgrade: six>=1.4.1 in /usr/lib/python3/dist-packages (from cryptography; platform_python_implementation != "Jython"->pyhwp) (1.14.0)
Requirement already satisfied, skipping upgrade: pycparser in /home/yog/.local/lib/python3.8/site-packages (from cffi>=1.12->cryptography; platform_python_implementation != "Jython"->pyhwp) (2.21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant