diff options
Diffstat (limited to 'python-tnefparse.spec')
| -rw-r--r-- | python-tnefparse.spec | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/python-tnefparse.spec b/python-tnefparse.spec new file mode 100644 index 0000000..ed151b7 --- /dev/null +++ b/python-tnefparse.spec @@ -0,0 +1,184 @@ +%global _empty_manifest_terminate_build 0 +Name: python-tnefparse +Version: 1.4.0 +Release: 1 +Summary: a TNEF decoding library written in Python, without external dependencies +License: LGPL +URL: https://github.com/koodaamo/tnefparse +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/40/aa/d1dee78d61c18abcec8de0343aca06e012e2007739c4868de8b254b6ab2f/tnefparse-1.4.0.tar.gz +BuildArch: noarch + +Requires: python3-compressed-rtf + +%description +This is a pure-python library for decoding Microsoft's Transport Neutral Encapsulation Format (TNEF), for Python +versions 3.6+ and PyPy3. The last version to support Python2 was 1.3.1. For more information on TNEF, see for example +`wikipedia <http://en.wikipedia.org/wiki/Transport_Neutral_Encapsulation_Format>`_. The full TNEF specification +is also available as a `PDF download <https://interoperability.blob.core.windows.net/files/MS-OXTNEF/[MS-OXTNEF].pdf>`_. +A :code:`tnefparse` command-line utility is provided for listing contents of TNEF files, extracting attachments +found inside them and so on:: + usage: tnefparse [-h] [-o] [-a] [-p PATH] [-b] [-hb] + [-l LEVEL] [-c] + file [file ...] + Extract TNEF file contents. Show this help message if no arguments are given. + positional arguments: + file space-separated list of paths to the TNEF files + optional arguments: + -h, --help show this help message and exit + -o, --overview show (possibly long) overview of TNEF file contents + -a, --attachments extract attachments, by default to current dir + -z, --zip extract attachments into a single zip file, by default to current dir + -p PATH, --path PATH optional explicit path to extract attachments to + -b, --body extract the body to stdout + -hb, --htmlbody extract the HTML body to stdout + -rb, --rtfbody extract the RTF body to stdout + -l LEVEL, --log LEVEL set log level to DEBUG, INFO, WARN or ERROR + -c, --checksum calculate checksums (off by default) + -d, --dump extract a json dump of the tnef contents +The library can also be used as a basis for applications that need to parse TNEF. To parse a TNEF attachment, run eg. : +>>> from tnefparse import TNEF +>>> with open("tests/examples/one-file.tnef", "rb") as tneffile: +The parsed attachment contents are then available as TNEF object attributes: +* signature - TNEF file signature +* key - generated by TNEF enabled transports before using the TNEF implementation to generate a TNEF stream +* codepage - a Windows code page string +* objects - a collection of `TNEFObject` instances +* attachments - a collection of `TNEFAttachment` instances +* mapiprops - a collection of MAPI properties represented by `TNEFMAPI_Attribute` instances +* body - message body (may contain both HTML and RTF) +* htmlbody - a string containing just the HTML message body +* rtfbody - just the RTF body +Some of the above properties may be empty, depending on what's contained in the attachment that was parsed. + +%package -n python3-tnefparse +Summary: a TNEF decoding library written in Python, without external dependencies +Provides: python-tnefparse +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-tnefparse +This is a pure-python library for decoding Microsoft's Transport Neutral Encapsulation Format (TNEF), for Python +versions 3.6+ and PyPy3. The last version to support Python2 was 1.3.1. For more information on TNEF, see for example +`wikipedia <http://en.wikipedia.org/wiki/Transport_Neutral_Encapsulation_Format>`_. The full TNEF specification +is also available as a `PDF download <https://interoperability.blob.core.windows.net/files/MS-OXTNEF/[MS-OXTNEF].pdf>`_. +A :code:`tnefparse` command-line utility is provided for listing contents of TNEF files, extracting attachments +found inside them and so on:: + usage: tnefparse [-h] [-o] [-a] [-p PATH] [-b] [-hb] + [-l LEVEL] [-c] + file [file ...] + Extract TNEF file contents. Show this help message if no arguments are given. + positional arguments: + file space-separated list of paths to the TNEF files + optional arguments: + -h, --help show this help message and exit + -o, --overview show (possibly long) overview of TNEF file contents + -a, --attachments extract attachments, by default to current dir + -z, --zip extract attachments into a single zip file, by default to current dir + -p PATH, --path PATH optional explicit path to extract attachments to + -b, --body extract the body to stdout + -hb, --htmlbody extract the HTML body to stdout + -rb, --rtfbody extract the RTF body to stdout + -l LEVEL, --log LEVEL set log level to DEBUG, INFO, WARN or ERROR + -c, --checksum calculate checksums (off by default) + -d, --dump extract a json dump of the tnef contents +The library can also be used as a basis for applications that need to parse TNEF. To parse a TNEF attachment, run eg. : +>>> from tnefparse import TNEF +>>> with open("tests/examples/one-file.tnef", "rb") as tneffile: +The parsed attachment contents are then available as TNEF object attributes: +* signature - TNEF file signature +* key - generated by TNEF enabled transports before using the TNEF implementation to generate a TNEF stream +* codepage - a Windows code page string +* objects - a collection of `TNEFObject` instances +* attachments - a collection of `TNEFAttachment` instances +* mapiprops - a collection of MAPI properties represented by `TNEFMAPI_Attribute` instances +* body - message body (may contain both HTML and RTF) +* htmlbody - a string containing just the HTML message body +* rtfbody - just the RTF body +Some of the above properties may be empty, depending on what's contained in the attachment that was parsed. + +%package help +Summary: Development documents and examples for tnefparse +Provides: python3-tnefparse-doc +%description help +This is a pure-python library for decoding Microsoft's Transport Neutral Encapsulation Format (TNEF), for Python +versions 3.6+ and PyPy3. The last version to support Python2 was 1.3.1. For more information on TNEF, see for example +`wikipedia <http://en.wikipedia.org/wiki/Transport_Neutral_Encapsulation_Format>`_. The full TNEF specification +is also available as a `PDF download <https://interoperability.blob.core.windows.net/files/MS-OXTNEF/[MS-OXTNEF].pdf>`_. +A :code:`tnefparse` command-line utility is provided for listing contents of TNEF files, extracting attachments +found inside them and so on:: + usage: tnefparse [-h] [-o] [-a] [-p PATH] [-b] [-hb] + [-l LEVEL] [-c] + file [file ...] + Extract TNEF file contents. Show this help message if no arguments are given. + positional arguments: + file space-separated list of paths to the TNEF files + optional arguments: + -h, --help show this help message and exit + -o, --overview show (possibly long) overview of TNEF file contents + -a, --attachments extract attachments, by default to current dir + -z, --zip extract attachments into a single zip file, by default to current dir + -p PATH, --path PATH optional explicit path to extract attachments to + -b, --body extract the body to stdout + -hb, --htmlbody extract the HTML body to stdout + -rb, --rtfbody extract the RTF body to stdout + -l LEVEL, --log LEVEL set log level to DEBUG, INFO, WARN or ERROR + -c, --checksum calculate checksums (off by default) + -d, --dump extract a json dump of the tnef contents +The library can also be used as a basis for applications that need to parse TNEF. To parse a TNEF attachment, run eg. : +>>> from tnefparse import TNEF +>>> with open("tests/examples/one-file.tnef", "rb") as tneffile: +The parsed attachment contents are then available as TNEF object attributes: +* signature - TNEF file signature +* key - generated by TNEF enabled transports before using the TNEF implementation to generate a TNEF stream +* codepage - a Windows code page string +* objects - a collection of `TNEFObject` instances +* attachments - a collection of `TNEFAttachment` instances +* mapiprops - a collection of MAPI properties represented by `TNEFMAPI_Attribute` instances +* body - message body (may contain both HTML and RTF) +* htmlbody - a string containing just the HTML message body +* rtfbody - just the RTF body +Some of the above properties may be empty, depending on what's contained in the attachment that was parsed. + +%prep +%autosetup -n tnefparse-1.4.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-tnefparse -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.0-1 +- Package Spec generated |
