summaryrefslogtreecommitdiff
path: root/python-tnefparse.spec
blob: ed151b7e5440889c7bad41691729588d27de4e79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
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