Robot Framework
settings.py
Go to the documentation of this file.
1 # Copyright 2008-2015 Nokia Networks
2 # Copyright 2016- Robot Framework Foundation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 
16 NOTSET = object()
17 
18 
19 class Defaults:
20 
21  def __init__(self, parent=None):
22  self.parentparent = parent
23  self._setup_setup = {}
24  self._teardown_teardown = {}
25  self._force_tags_force_tags = ()
26  self.default_tagsdefault_tags = ()
27  self.keyword_tagskeyword_tags = ()
28  self.templatetemplate = None
29  self._timeout_timeout = None
30 
31  @property
32  setup = property
33 
34  def setup(self):
35  if self._setup_setup:
36  return self._setup_setup
37  if self.parentparent:
38  return self.parentparent.setup
39  return {}
40 
41  @setup.setter
42 
43  def setup(self, setup):
44  self._setup_setup = setup
45 
46  @property
47  teardown = property
48 
49  def teardown(self):
50  if self._teardown_teardown:
51  return self._teardown_teardown
52  if self.parentparent:
53  return self.parentparent.teardown
54  return {}
55 
56  @teardown.setter
57 
58  def teardown(self, teardown):
59  self._teardown_teardown = teardown
60 
61  @property
62  force_tags = property
63 
64  def force_tags(self):
65  parent_force_tags = self.parentparent.force_tags if self.parentparent else ()
66  return self._force_tags_force_tags + parent_force_tags
67 
68  @force_tags.setter
69 
70  def force_tags(self, force_tags):
71  self._force_tags_force_tags = force_tags
72 
73  @property
74  timeout = property
75 
76  def timeout(self):
77  if self._timeout_timeout:
78  return self._timeout_timeout
79  if self.parentparent:
80  return self.parentparent.timeout
81  return None
82 
83  @timeout.setter
84 
85  def timeout(self, timeout):
86  self._timeout_timeout = timeout
87 
88 
90 
91  def __init__(self, defaults):
92  self.defaultsdefaults = defaults
93  self._setup_setup = NOTSET
94  self._teardown_teardown = NOTSET
95  self._timeout_timeout = NOTSET
96  self._template_template = NOTSET
97  self._tags_tags = NOTSET
98 
99  @property
100  setup = property
101 
102  def setup(self):
103  if self._setup_setup is NOTSET:
104  return self.defaultsdefaults.setup
105  return self._setup_setup
106 
107  @setup.setter
108 
109  def setup(self, setup):
110  self._setup_setup = setup
111 
112  @property
113  teardown = property
114 
115  def teardown(self):
116  if self._teardown_teardown is NOTSET:
117  return self.defaultsdefaults.teardown
118  return self._teardown_teardown
119 
120  @teardown.setter
121 
122  def teardown(self, teardown):
123  self._teardown_teardown = teardown
124 
125  @property
126  timeout = property
127 
128  def timeout(self):
129  if self._timeout_timeout is NOTSET:
130  return self.defaultsdefaults.timeout
131  return self._timeout_timeout
132 
133  @timeout.setter
134 
135  def timeout(self, timeout):
136  self._timeout_timeout = timeout
137 
138  @property
139  template = property
140 
141  def template(self):
142  if self._template_template is NOTSET:
143  return self.defaultsdefaults.template
144  return self._template_template
145 
146  @template.setter
147 
148  def template(self, template):
149  self._template_template = template
150 
151  @property
152  tags = property
153 
154  def tags(self):
155  if self._tags_tags is NOTSET:
156  tags = self.defaultsdefaults.default_tags
157  else:
158  tags = self._tags_tags
159  return tags + self.defaultsdefaults.force_tags
160 
161  @tags.setter
162 
163  def tags(self, tags):
164  self._tags_tags = tags
def __init__(self, parent=None)
Definition: settings.py:21