7
7
from .utils import trace
8
8
9
9
DEFAULT_TAG_REGEX = r"^(?:[\w-]+-)?(?P<version>[vV]?\d+(?:\.\d+){0,2}[^\+]+)(?:\+.*)?$"
10
- DEFAULT_VERSION_SCHEME = "version_scheme"
10
+ DEFAULT_VERSION_SCHEME = "guess-next-dev"
11
+ DEFAULT_LOCAL_SCHEME = "node-and-date"
11
12
12
13
13
14
def _check_tag_regex (value ):
@@ -39,32 +40,34 @@ def _check_absolute_root(root, relative_to):
39
40
class Configuration (object ):
40
41
""" Global configuration model """
41
42
42
- _root = None
43
- version_scheme = None
44
- local_scheme = None
45
- write_to = None
46
- write_to_template = None
47
- fallback_version = None
48
- _relative_to = None
49
- parse = None
50
- _tag_regex = None
51
- _absolute_root = None
52
-
53
- def __init__ (self , relative_to = None , root = "." ):
43
+ def __init__ (
44
+ self ,
45
+ relative_to = None ,
46
+ root = "." ,
47
+ version_scheme = DEFAULT_VERSION_SCHEME ,
48
+ local_scheme = DEFAULT_LOCAL_SCHEME ,
49
+ write_to = None ,
50
+ write_to_template = None ,
51
+ tag_regex = DEFAULT_TAG_REGEX ,
52
+ fallback_version = None ,
53
+ fallback_root = "." ,
54
+ parse = None ,
55
+ git_describe_command = None ,
56
+ ):
54
57
# TODO:
55
58
self ._relative_to = relative_to
56
59
self ._root = "."
57
60
58
61
self .root = root
59
- self .version_scheme = DEFAULT_VERSION_SCHEME
60
- self .local_scheme = "node-and-date"
61
- self .write_to = ""
62
- self .write_to_template = None
63
- self .fallback_version = None
64
- self .fallback_root = "."
65
- self .parse = None
62
+ self .version_scheme = version_scheme
63
+ self .local_scheme = local_scheme
64
+ self .write_to = write_to
65
+ self .write_to_template = write_to_template
66
+ self .fallback_version = fallback_version
67
+ self .fallback_root = fallback_root
68
+ self .parse = parse
66
69
self .tag_regex = DEFAULT_TAG_REGEX
67
- self .git_describe_command = None
70
+ self .git_describe_command = git_describe_command
68
71
69
72
@property
70
73
def fallback_root (self ):
@@ -106,10 +109,6 @@ def tag_regex(self):
106
109
def tag_regex (self , value ):
107
110
self ._tag_regex = _check_tag_regex (value )
108
111
109
- def _load (self , values ):
110
- vars (self ).update (values )
111
- return self
112
-
113
112
@classmethod
114
113
def from_file (cls , name = "pyproject.toml" ):
115
114
"""
@@ -120,4 +119,5 @@ def from_file(cls, name="pyproject.toml"):
120
119
"""
121
120
with open (name ) as strm :
122
121
defn = __import__ ("toml" ).load (strm )
123
- return cls ()._load (defn .get ("tool" , {})["setuptools_scm" ])
122
+ section = defn .get ("tool" , {})["setuptools_scm" ]
123
+ return cls (** section )
0 commit comments