Skip to main content

Lightweight Microsoft OLE file parser in pure Python

Project description

ole-py

shieldsio-pypi-badge

MS OLE file parser in pure Python. You can read the details of MS OLE file(a.k.a Compound File) here.

Quickstart

Installation

$ pip install ole-py

List entries

from ole import OleFile

f = OleFile('testfile.hwp')

print('ID   SIZE      PATH')
print('-' * 50)
for path in f.list_entries(include_storages=False):
    entry = f.get_entry(path)
    name = b'/'.join(x.encode('unicode-escape') for x in path).decode()
    print('%-3d  %-8d  %s' % (entry.id, entry.stream_size, name))

Result:

ID   SIZE      PATH
--------------------------------------------------
4    505       \x05HwpSummaryInformation
12   31042     BodyText/Section0
2    2160      DocInfo
11   524       DocOptions/_LinkDoc
1    256       FileHeader
5    3461      PrvImage
6    2046      PrvText
10   136       Scripts/DefaultJScript
9    13        Scripts/JScriptVersion

Get stream data

from ole import OleFile

f = OleFile('testfile.hwp')

print('Preview text:')
print(f.get_stream('PrvText').decode('utf-16le'))

Result:

Preview text:
2018년 육군 전문특기병(어학병 포함) 모집 일정
<특기명><모집인원><접수기간><1차발표><면접일시><면접장소><최종발표><입영시기>
<영어어학병><55><2017-11-03><~><2017-11-14><2017-11-14><2017-12-07   2017-12-07><09:00
14:00><합동군사대학교   국방어학원><2017-12-22><18년 1~3월><66><2018-01-25><~><2018-02-08><2018-02-08><2018-03-08   2018-03-08><09:00  14:00><2018-03-23><18년 4~6월><64><2018-04-25><~><2018-05-09><2018-05-09><2018-06-07   2018-06-07><09:00  14:00><2018-06-22><18년 7~9월><65><2018-07-25><~><2018-08-09><2018-08-09><2018-09-06   2018-09-06><09:00  14:00><2018-09-21><18년 10~12월>
<프랑스어어학병><1><2018-05-24><~><2018-06-07><없음><2018-07-04><13:00><2018-07-27><18년 8월><1><2018-09-27><~><2018-10-11><없음><2018-11-06><13:00><2018-11-23><18년 12월>
<스페인어어학병><1><2018-04-25><~><2018-05-09><없음><2018-06-12><13:00><2018-06-22><18년 7월><1><2018-09-27><~><2018-10-11><없음><2018-11-07><13:00><2018-11-23><18년 12월>
<독일어어학병><1><2017-11-03><~><2017-11-14><없음><2017-12-04><13:00><2017-12-22><18년 1월><2><2018-05-24><~><2018-06-07><없음><2018-07-05><13:00><2018-07-27><18년 8월>
<일본어어학병><2><2017-11-03><~><>椄

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ole-py-0.1.1.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

ole_py-0.1.1-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page