summaryrefslogtreecommitdiff
path: root/python-damm.spec
blob: 2fd53f61f7c72760a72892bdd6ed6886adcfa1e6 (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
%global _empty_manifest_terminate_build 0
Name:		python-damm
Version:	1.0
Release:	1
Summary:	Computing the Damm check digit
License:	UNKNOWN
URL:		https://bitbucket.org/shezi/damm/
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/5a/2a/c66b8bf09ac9724f1935b16a2490050247c2b2b687b4fe312938a999c0df/damm-1.0.tar.gz
BuildArch:	noarch


%description
Note that check digits are NOT used for verification of data transfers between
computers -- use a CRC or a hash for that purpose! Check digits are used to
check *manual* entry of a digit into a computer system.
A Damm check digit is a single check digit that can detect any
single-digit error as well as any adjacent-digit transpositions. The digit
computed in this module also detects some important phonetic errors (13<->30,
14<->40, ... 19<-->90).
This makes the Damm check digit better than other, more well-known check digits
like the Luhn code (used in credit cards) and the ISBN base-11 check digit. It
is equal in detection strength to a Verhoeff check digit, but much simpler to
compute.
Furthermore, a hexadecimal Damm check digit was added. This single hexadecimal
check digit that detects every single-digit error as well as any adjacent-digit
transpositions. The digit computed in this module also detects some important
phonetic errors (13<->30, 14<->40, ... 19<-->90). It also detects all
jump-transposition errors (abc -> cba), 93.5 % of all twin digit errors (aa ->
bb) and 93.5 % of all jump twin digit errors (aca -> bcb).
There are four functions in this module: `encode`, `encode16`, `check` and
`check16`. The first two, `encode` and `encode16` are used to calculate the
check digit for a number that you have. Pass in a string with the number you
want encoded and get a string with the check digit back. The other two, `check`
and `check16` are used to check that a number that was entered was entered
correctly. Pass in a string with a number including check digit and get back
`True`/`False`.

%package -n python3-damm
Summary:	Computing the Damm check digit
Provides:	python-damm
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-damm
Note that check digits are NOT used for verification of data transfers between
computers -- use a CRC or a hash for that purpose! Check digits are used to
check *manual* entry of a digit into a computer system.
A Damm check digit is a single check digit that can detect any
single-digit error as well as any adjacent-digit transpositions. The digit
computed in this module also detects some important phonetic errors (13<->30,
14<->40, ... 19<-->90).
This makes the Damm check digit better than other, more well-known check digits
like the Luhn code (used in credit cards) and the ISBN base-11 check digit. It
is equal in detection strength to a Verhoeff check digit, but much simpler to
compute.
Furthermore, a hexadecimal Damm check digit was added. This single hexadecimal
check digit that detects every single-digit error as well as any adjacent-digit
transpositions. The digit computed in this module also detects some important
phonetic errors (13<->30, 14<->40, ... 19<-->90). It also detects all
jump-transposition errors (abc -> cba), 93.5 % of all twin digit errors (aa ->
bb) and 93.5 % of all jump twin digit errors (aca -> bcb).
There are four functions in this module: `encode`, `encode16`, `check` and
`check16`. The first two, `encode` and `encode16` are used to calculate the
check digit for a number that you have. Pass in a string with the number you
want encoded and get a string with the check digit back. The other two, `check`
and `check16` are used to check that a number that was entered was entered
correctly. Pass in a string with a number including check digit and get back
`True`/`False`.

%package help
Summary:	Development documents and examples for damm
Provides:	python3-damm-doc
%description help
Note that check digits are NOT used for verification of data transfers between
computers -- use a CRC or a hash for that purpose! Check digits are used to
check *manual* entry of a digit into a computer system.
A Damm check digit is a single check digit that can detect any
single-digit error as well as any adjacent-digit transpositions. The digit
computed in this module also detects some important phonetic errors (13<->30,
14<->40, ... 19<-->90).
This makes the Damm check digit better than other, more well-known check digits
like the Luhn code (used in credit cards) and the ISBN base-11 check digit. It
is equal in detection strength to a Verhoeff check digit, but much simpler to
compute.
Furthermore, a hexadecimal Damm check digit was added. This single hexadecimal
check digit that detects every single-digit error as well as any adjacent-digit
transpositions. The digit computed in this module also detects some important
phonetic errors (13<->30, 14<->40, ... 19<-->90). It also detects all
jump-transposition errors (abc -> cba), 93.5 % of all twin digit errors (aa ->
bb) and 93.5 % of all jump twin digit errors (aca -> bcb).
There are four functions in this module: `encode`, `encode16`, `check` and
`check16`. The first two, `encode` and `encode16` are used to calculate the
check digit for a number that you have. Pass in a string with the number you
want encoded and get a string with the check digit back. The other two, `check`
and `check16` are used to check that a number that was entered was entered
correctly. Pass in a string with a number including check digit and get back
`True`/`False`.

%prep
%autosetup -n damm-1.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-damm -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue May 30 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0-1
- Package Spec generated