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
185
186
|
%global _empty_manifest_terminate_build 0
Name: python-Unidecode
Version: 1.3.6
Release: 1
Summary: ASCII transliterations of Unicode text
License: GPL
URL: https://pypi.org/project/Unidecode/
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0b/25/37c77fc07821cd06592df3f18281f5e716bc891abd6822ddb9ff941f821e/Unidecode-1.3.6.tar.gz
BuildArch: noarch
%description
It often happens that you have text data in Unicode, but you need to
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from human-readable
Unicode strings that should still be somewhat intelligible. A popular example
of this is when making an URL slug from an article title.
**Unidecode is not a replacement for fully supporting Unicode for strings in
your program. There are a number of caveats that come with its use,
especially when its output is directly visible to users. Please read the rest
of this README before using Unidecode in your project.**
In most of examples listed above you could represent Unicode characters as
``???`` or ``\\15BA\\15A0\\1610``, to mention two extreme cases. But that's
nearly useless to someone who actually wants to read what the text says.
What Unidecode provides is a middle road: the function ``unidecode()`` takes
Unicode data and tries to represent it in ASCII characters (i.e., the
universally displayable characters between 0x00 and 0x7F), where the
compromises taken when mapping between two character sets are chosen to be
near what a human with a US keyboard would choose.
The quality of resulting ASCII representation varies. For languages of
western origin it should be between perfect and good. On the other hand
transliteration (i.e., conveying, in Roman letters, the pronunciation
expressed by the text in some other writing system) of languages like
Chinese, Japanese or Korean is a very complex issue and this library does
not even attempt to address it. It draws the line at context-free
character-by-character mapping. So a good rule of thumb is that the further
the script you are transliterating is from Latin alphabet, the worse the
transliteration will be.
Generally Unidecode produces better results than simply stripping accents from
characters (which can be done in Python with built-in functions). It is based
on hand-tuned character mappings that for example also contain ASCII
approximations for symbols and non-Latin alphabets.
**Note that some people might find certain transliterations offending.** Most
common examples include characters that are used in multiple languages. A user
expects a character to be transliterated in their language but Unidecode uses a
transliteration for a different language. It's best to not use Unidecode for
strings that are directly visible to users of your application. See also the
*Frequently Asked Questions* section for more info on common problems.
This is a Python port of ``Text::Unidecode`` Perl module by Sean M. Burke
<sburke@cpan.org>.
%package -n python3-Unidecode
Summary: ASCII transliterations of Unicode text
Provides: python-Unidecode
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-Unidecode
It often happens that you have text data in Unicode, but you need to
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from human-readable
Unicode strings that should still be somewhat intelligible. A popular example
of this is when making an URL slug from an article title.
**Unidecode is not a replacement for fully supporting Unicode for strings in
your program. There are a number of caveats that come with its use,
especially when its output is directly visible to users. Please read the rest
of this README before using Unidecode in your project.**
In most of examples listed above you could represent Unicode characters as
``???`` or ``\\15BA\\15A0\\1610``, to mention two extreme cases. But that's
nearly useless to someone who actually wants to read what the text says.
What Unidecode provides is a middle road: the function ``unidecode()`` takes
Unicode data and tries to represent it in ASCII characters (i.e., the
universally displayable characters between 0x00 and 0x7F), where the
compromises taken when mapping between two character sets are chosen to be
near what a human with a US keyboard would choose.
The quality of resulting ASCII representation varies. For languages of
western origin it should be between perfect and good. On the other hand
transliteration (i.e., conveying, in Roman letters, the pronunciation
expressed by the text in some other writing system) of languages like
Chinese, Japanese or Korean is a very complex issue and this library does
not even attempt to address it. It draws the line at context-free
character-by-character mapping. So a good rule of thumb is that the further
the script you are transliterating is from Latin alphabet, the worse the
transliteration will be.
Generally Unidecode produces better results than simply stripping accents from
characters (which can be done in Python with built-in functions). It is based
on hand-tuned character mappings that for example also contain ASCII
approximations for symbols and non-Latin alphabets.
**Note that some people might find certain transliterations offending.** Most
common examples include characters that are used in multiple languages. A user
expects a character to be transliterated in their language but Unidecode uses a
transliteration for a different language. It's best to not use Unidecode for
strings that are directly visible to users of your application. See also the
*Frequently Asked Questions* section for more info on common problems.
This is a Python port of ``Text::Unidecode`` Perl module by Sean M. Burke
<sburke@cpan.org>.
%package help
Summary: Development documents and examples for Unidecode
Provides: python3-Unidecode-doc
%description help
It often happens that you have text data in Unicode, but you need to
represent it in ASCII. For example when integrating with legacy code that
doesn't support Unicode, or for ease of entry of non-Roman names on a US
keyboard, or when constructing ASCII machine identifiers from human-readable
Unicode strings that should still be somewhat intelligible. A popular example
of this is when making an URL slug from an article title.
**Unidecode is not a replacement for fully supporting Unicode for strings in
your program. There are a number of caveats that come with its use,
especially when its output is directly visible to users. Please read the rest
of this README before using Unidecode in your project.**
In most of examples listed above you could represent Unicode characters as
``???`` or ``\\15BA\\15A0\\1610``, to mention two extreme cases. But that's
nearly useless to someone who actually wants to read what the text says.
What Unidecode provides is a middle road: the function ``unidecode()`` takes
Unicode data and tries to represent it in ASCII characters (i.e., the
universally displayable characters between 0x00 and 0x7F), where the
compromises taken when mapping between two character sets are chosen to be
near what a human with a US keyboard would choose.
The quality of resulting ASCII representation varies. For languages of
western origin it should be between perfect and good. On the other hand
transliteration (i.e., conveying, in Roman letters, the pronunciation
expressed by the text in some other writing system) of languages like
Chinese, Japanese or Korean is a very complex issue and this library does
not even attempt to address it. It draws the line at context-free
character-by-character mapping. So a good rule of thumb is that the further
the script you are transliterating is from Latin alphabet, the worse the
transliteration will be.
Generally Unidecode produces better results than simply stripping accents from
characters (which can be done in Python with built-in functions). It is based
on hand-tuned character mappings that for example also contain ASCII
approximations for symbols and non-Latin alphabets.
**Note that some people might find certain transliterations offending.** Most
common examples include characters that are used in multiple languages. A user
expects a character to be transliterated in their language but Unidecode uses a
transliteration for a different language. It's best to not use Unidecode for
strings that are directly visible to users of your application. See also the
*Frequently Asked Questions* section for more info on common problems.
This is a Python port of ``Text::Unidecode`` Perl module by Sean M. Burke
<sburke@cpan.org>.
%prep
%autosetup -n Unidecode-1.3.6
%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-Unidecode -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.6-1
- Package Spec generated
|