Revision: 3343
Author: jprantan
Date: Thu May 20 03:13:42 2010
Log: Added directory and source properties.
http://code.google.com/p/robotframework/source/detail?r=3343
Modified:
/trunk/src/robot/parsing/newmodel.py
/trunk/src/robot/parsing/settings.py
=======================================
--- /trunk/src/robot/parsing/newmodel.py Wed May 19 06:35:22 2010
+++ /trunk/src/robot/parsing/newmodel.py Thu May 20 03:13:42 2010
@@ -53,12 +53,13 @@
def __init__(self, source=None):
_TestData.__init__(self, source)
+ self.directory = os.path.dirname(self.source) if self.source else
None
self.setting_table = SettingTable(self)
self.variable_table = VariableTable(self)
self.testcase_table = TestCaseTable(self)
self.keyword_table = KeywordTable(self)
- if source:
- FileReader().read(source, self)
+ if self.source:
+ FileReader().read(self.source, self)
def __iter__(self):
for table in [self.setting_table, self.variable_table,
@@ -70,14 +71,15 @@
def __init__(self, source=None):
_TestData.__init__(self, source)
+ self.directory = self.source
self.initfile = None
self.setting_table = SettingTable(self)
self.variable_table = VariableTable(self)
self.testcase_table = TestCaseTableNotAllowed('test suite init
file')
self.keyword_table = KeywordTable(self)
self.children = []
- if source:
- DirectoryReader().read(source, self)
+ if self.source:
+ DirectoryReader().read(self.source, self)
def add_child(self, path):
self.children.append(TestData(path))
@@ -93,6 +95,14 @@
def __init__(self, parent):
self.parent = parent
+ @property
+ def source(self):
+ return self.parent.source
+
+ @property
+ def directory(self):
+ return self.parent.directory
+
def report_invalid_syntax(self, message, level='ERROR'):
# TODO: Use the real table name here when headers are available
table = type(self).__name__.replace('Table', '')
@@ -115,19 +125,19 @@
self.imports = []
def add_metadata(self, name, value, comment=None):
- self.metadata.append(Metadata(name, value, comment))
+ self.metadata.append(Metadata(self, name, value, comment))
return self.metadata[-1]
def add_library(self, name, args=None, comment=None):
- self.imports.append(Library(name, args, comment=comment))
+ self.imports.append(Library(self, name, args, comment=comment))
return self.imports[-1]
def add_resource(self, name, invalid_args=None, comment=None):
- self.imports.append(Resource(name, invalid_args, comment=comment))
+ self.imports.append(Resource(self, name, invalid_args,
comment=comment))
return self.imports[-1]
def add_variables(self, name, args=None, comment=None):
- self.imports.append(Variables(name, args, comment=comment))
+ self.imports.append(Variables(self, name, args, comment=comment))
return self.imports[-1]
def __iter__(self):
=======================================
--- /trunk/src/robot/parsing/settings.py Thu May 20 02:57:56 2010
+++ /trunk/src/robot/parsing/settings.py Thu May 20 03:13:42 2010
@@ -23,6 +23,14 @@
def _init(self):
self.value = []
+ @property
+ def source(self):
+ return self.table.source
+
+ @property
+ def directory(self):
+ return self.table.directory
+
def set(self, value, comment=None):
self._set(value)
self.comment = comment