summaryrefslogtreecommitdiffstats
path: root/qtip/loader
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-01-19 15:10:01 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-01-23 12:16:12 +0800
commitb659a9296223b7f63a89bedbc0dad281117de936 (patch)
treebec6d8f27174089a087ebf9b38cca9b22421b0af /qtip/loader
parentc2c0c70f8f2041fd38c2abb27ba94cbb57cb61f5 (diff)
Formalize constants for property names
Change-Id: I68560b2299c2a815219bc0d0399124e0c269a2c0 Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'qtip/loader')
-rw-r--r--qtip/loader/base.py15
-rw-r--r--qtip/loader/plan.py5
-rw-r--r--qtip/loader/qpi.py14
3 files changed, 18 insertions, 16 deletions
diff --git a/qtip/loader/base.py b/qtip/loader/base.py
index d3a7e1d3..a0e5d031 100644
--- a/qtip/loader/base.py
+++ b/qtip/loader/base.py
@@ -7,13 +7,14 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+from collections import defaultdict
from itertools import chain
from os import listdir
from os import path
import yaml
from qtip.base.error import InvalidFormat, NotFound
-from qtip.base.constant import PropName
+from qtip.base.constant import BaseProp
ROOT_DIR = path.join(path.dirname(__file__), path.pardir, path.pardir,
@@ -28,15 +29,15 @@ class BaseLoader(object):
def __init__(self, name, paths=None):
self._file = name
self._abspath = self._find(name, paths=paths)
+ content = defaultdict(lambda: None)
try:
- content = yaml.safe_load(file(self._abspath))
+ content.update(yaml.safe_load(file(self._abspath)))
except yaml.YAMLError:
# TODO(yujunz) log yaml error
raise InvalidFormat(self._abspath)
- self.name = content[PropName.NAME] if PropName.NAME in content \
- else path.splitext(name)[0]
+ self.name = content[BaseProp.NAME] or path.splitext(name)[0]
self.content = content
def _find(self, name, paths=None):
@@ -57,6 +58,6 @@ class BaseLoader(object):
for name in names:
item = cls(name, paths=paths)
yield {
- PropName.NAME: name,
- PropName.ABSPATH: item._abspath,
- PropName.CONTENT: item.content}
+ BaseProp.NAME: name,
+ BaseProp.ABSPATH: item._abspath,
+ BaseProp.CONTENT: item.content}
diff --git a/qtip/loader/plan.py b/qtip/loader/plan.py
index cf517ea2..c1ee00be 100644
--- a/qtip/loader/plan.py
+++ b/qtip/loader/plan.py
@@ -8,7 +8,7 @@
##############################################################################
-from qtip.base.constant import PropName
+from qtip.base.constant import PlanProp
from qtip.loader.base import BaseLoader
from qtip.loader.qpi import QPISpec
@@ -24,4 +24,5 @@ class Plan(BaseLoader):
super(Plan, self).__init__(name, paths)
self.qpis = [QPISpec(qpi, paths=paths)
- for qpi in self.content[PropName.QPIS]]
+ for qpi in self.content[PlanProp.QPIS]]
+ self.info = self.content[PlanProp.INFO]
diff --git a/qtip/loader/qpi.py b/qtip/loader/qpi.py
index fe2323dd..ef6e065e 100644
--- a/qtip/loader/qpi.py
+++ b/qtip/loader/qpi.py
@@ -10,7 +10,7 @@
from base import BaseLoader
from metric import MetricSpec
-from qtip.base.constant import PropName
+from qtip.base.constant import SpecProp
from qtip.util.formula import Formula
@@ -24,15 +24,15 @@ class QPISpec(BaseLoader):
def __init__(self, name, paths=None):
super(QPISpec, self).__init__(name, paths=paths)
content = self.content
- self.formula = Formula(content[PropName.FORMULA])
+ self.formula = Formula(content[SpecProp.FORMULA])
self.sections = [Section(record, paths=paths)
- for record in content[PropName.SECTIONS]]
+ for record in content[SpecProp.SECTIONS]]
class Section(object):
def __init__(self, content, paths=None):
- self.name = content[PropName.NAME]
- self.weight = content[PropName.WEIGHT]
- self.formula = Formula(content[PropName.FORMULA])
+ self.name = content[SpecProp.NAME]
+ self.weight = content[SpecProp.WEIGHT]
+ self.formula = Formula(content[SpecProp.FORMULA])
self.metrics = [MetricSpec(record, paths=paths)
- for record in content[PropName.METRICS]]
+ for record in content[SpecProp.METRICS]]