summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
commit6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch)
treeb1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py
parent4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff)
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py')
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py b/venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py
new file mode 100644
index 0000000..aaf32fd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py
@@ -0,0 +1,24 @@
+"""
+This module exists solely to figure how long a registrant/publication
+number may be within an SBN. It's the same as the ISBN implementation
+for ean 978, reg_group 0.
+"""
+
+from collections import namedtuple
+from typing import List
+
+RegistrantRule = namedtuple("RegistrantRule", ["min", "max", "registrant_length"])
+
+# Structure: RULES = [Rule1, Rule2, ...]
+RULES: List[RegistrantRule] = [
+ RegistrantRule("0000000", "1999999", 2),
+ RegistrantRule("2000000", "2279999", 3),
+ RegistrantRule("2280000", "2289999", 4),
+ RegistrantRule("2290000", "6479999", 3),
+ RegistrantRule("6480000", "6489999", 7),
+ RegistrantRule("6490000", "6999999", 3),
+ RegistrantRule("7000000", "8499999", 4),
+ RegistrantRule("8500000", "8999999", 5),
+ RegistrantRule("9000000", "9499999", 6),
+ RegistrantRule("9500000", "9999999", 7),
+]