1
1
"""
2
2
pre generation hooks for cookiecutter to validate data
3
3
"""
4
+
4
5
import re
5
6
import sys
6
7
@@ -16,7 +17,7 @@ def validate_no_spaces(arg_name: str, human_readable_name: str) -> None:
16
17
:rtype: None
17
18
:return: Nothing it exits if the arg_name is invalid
18
19
"""
19
- arg_regex = r' ^\S+$'
20
+ arg_regex = r" ^\S+$"
20
21
if not re .match (arg_regex , arg_name ):
21
22
print (f'ERROR: "{ arg_name } " is not a valid { human_readable_name } no spaces allowed!' )
22
23
sys .exit (1 )
@@ -33,7 +34,7 @@ def validate_no_spaces_begin_or_end(arg_name: str, human_readable_name: str) ->
33
34
:rtype: None
34
35
:return: Nothing it exits if the arg_name is invalid
35
36
"""
36
- arg_regex = r' ^\S.*\S$'
37
+ arg_regex = r" ^\S.*\S$"
37
38
if not re .match (arg_regex , arg_name ):
38
39
print (f'ERROR: "{ arg_name } " is not a valid { human_readable_name } no spaces allowed at the beginning or ending!' )
39
40
sys .exit (1 )
@@ -50,7 +51,7 @@ def validate_semantic_version(arg_name: str, human_readable_name: str) -> None:
50
51
:rtype: None
51
52
:return: Nothing it exits if the arg_name is invalid
52
53
"""
53
- arg_regex = r' ^\d+\.\d+\.\d+$'
54
+ arg_regex = r" ^\d+\.\d+\.\d+$"
54
55
if not re .match (arg_regex , arg_name ):
55
56
print (f'ERROR: "{ arg_name } " is not a valid { human_readable_name } should be semantic X.X.X!' )
56
57
sys .exit (1 )
@@ -67,7 +68,7 @@ def validate_https_url(arg_name: str, human_readable_name: str) -> None:
67
68
:rtype: None
68
69
:return: Nothing it exits if the arg_name is invalid
69
70
"""
70
- arg_regex = r' ^https://\S+$'
71
+ arg_regex = r" ^https://\S+$"
71
72
if not re .match (arg_regex , arg_name ):
72
73
print (f'ERROR: "{ arg_name } " is not a valid { human_readable_name } should start with https://!' )
73
74
sys .exit (1 )
@@ -84,22 +85,27 @@ def validate_numbers_letters_hyphens(arg_name: str, human_readable_name: str) ->
84
85
:rtype: None
85
86
:return: Nothing it exits if the arg_name is invalid
86
87
"""
87
- arg_regex = r' ^([A-Z]|[a-z]|[0-9]|-{1})+$'
88
+ arg_regex = r" ^([A-Z]|[a-z]|[0-9]|-{1})+$"
88
89
if not re .match (arg_regex , arg_name ):
89
90
print (f'ERROR: "{ arg_name } " is not a valid { human_readable_name } should be numbers, letters and hyphens!' )
90
91
sys .exit (1 )
91
92
92
93
93
- if __name__ == '__main__' :
94
- validate_no_spaces_begin_or_end (arg_name = '{{ cookiecutter.full_name }}' ,
95
- human_readable_name = 'full_name' ) # pragma: no cover
96
- validate_no_spaces (arg_name = '{{ cookiecutter.email }}' , human_readable_name = 'email' ) # pragma: no cover
97
- validate_no_spaces (arg_name = '{{ cookiecutter.git_username }}' ,
98
- human_readable_name = 'git_username' ) # pragma: no cover
99
- validate_numbers_letters_hyphens (arg_name = '{{ cookiecutter.git_repo_name }}' ,
100
- human_readable_name = 'git_repo_name' ) # pragma: no cover
101
- validate_https_url (arg_name = '{{ cookiecutter.git_url }}' , human_readable_name = 'git_url' ) # pragma: no cover
102
- validate_no_spaces_begin_or_end (arg_name = '{{ cookiecutter.app_description }}' ,
103
- human_readable_name = 'app_description' ) # pragma: no cover
104
- validate_semantic_version (arg_name = '{{ cookiecutter.app_version }}' ,
105
- human_readable_name = 'app_version' ) # pragma: no cover
94
+ if __name__ == "__main__" :
95
+ validate_no_spaces_begin_or_end (
96
+ arg_name = "{{ cookiecutter.full_name }}" , human_readable_name = "full_name"
97
+ ) # pragma: no cover
98
+ validate_no_spaces (arg_name = "{{ cookiecutter.email }}" , human_readable_name = "email" ) # pragma: no cover
99
+ validate_no_spaces (
100
+ arg_name = "{{ cookiecutter.git_username }}" , human_readable_name = "git_username"
101
+ ) # pragma: no cover
102
+ validate_numbers_letters_hyphens (
103
+ arg_name = "{{ cookiecutter.git_repo_name }}" , human_readable_name = "git_repo_name"
104
+ ) # pragma: no cover
105
+ validate_https_url (arg_name = "{{ cookiecutter.git_url }}" , human_readable_name = "git_url" ) # pragma: no cover
106
+ validate_no_spaces_begin_or_end (
107
+ arg_name = "{{ cookiecutter.app_description }}" , human_readable_name = "app_description"
108
+ ) # pragma: no cover
109
+ validate_semantic_version (
110
+ arg_name = "{{ cookiecutter.app_version }}" , human_readable_name = "app_version"
111
+ ) # pragma: no cover
0 commit comments