summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-tnefparse.spec184
-rw-r--r--sources1
3 files changed, 186 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0dfb322 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tnefparse-1.4.0.tar.gz
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
diff --git a/sources b/sources
new file mode 100644
index 0000000..3df7f54
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a9ca9ed0ce9c025b37175c902cc18a23 tnefparse-1.4.0.tar.gz