[Commits] r492 - website
commits at geoext.org
commits at geoext.org
Tue Apr 28 11:49:14 CEST 2009
Author: tschaub
Date: 2009-04-28 11:49:14 +0200 (Tue, 28 Apr 2009)
New Revision: 492
Modified:
website/jst.py
Log:
inherit takes a list of source file objects
Modified: website/jst.py
===================================================================
--- website/jst.py 2009-04-28 09:31:51 UTC (rev 491)
+++ website/jst.py 2009-04-28 09:49:14 UTC (rev 492)
@@ -57,22 +57,16 @@
if jsfile.data:
files[filepath] = jsfile
- # create list of dependencies
+ # create dict of dependencies
dependencies = {}
for filepath, jsfile in files.items():
dependencies[filepath] = jsfile.extends
- # get tuple of files ordered by dependency
- order = tsort.sort(dependencies)
-
# extend data with any data from parents
- #import pdb; pdb.set_trace()
- for filepath in order:
+ for filepath in tsort.sort(dependencies):
jsfile = files[filepath]
if jsfile.extends:
- for parentpath in sorted(jsfile.extends, reverse=True):
- if parentpath in files:
- jsfile.inherit(files[parentpath].data)
+ jsfile.inherit([files[parentpath] for parentpath in sorted(jsfile.extends, reverse=True) if parentpath in files])
# parse template for each file
template_filename = os.path.join(sourcedir, filepath.split(SUFFIX_JS)[0] + SUFFIX_JST)
@@ -168,27 +162,29 @@
self._data = None
return self._data
- def inherit(self, data):
- if "_parents" in self._data:
- self.data["_parents"].insert(0, data)
- else:
- self.data["_parents"] = [data]
- for key, value in data.items():
- if isinstance(value, list):
- # concatenate with any existing list
- if key in self._data:
- self._data[key] += value
- else:
- self._data[key] = value[:]
- elif isinstance(value, dict):
- # acquire values for keys we don't have already
- value = value.copy()
- if key in self._data:
- value.update(self._data[key])
- self._data[key] = value
+ def inherit(self, files):
+ for obj in files:
+ data = obj.data
+ if "_parents" in self._data:
+ self.data["_parents"].insert(0, data)
else:
- if not key in self._data:
+ self.data["_parents"] = [data]
+ for key, value in data.items():
+ if isinstance(value, list):
+ # concatenate with any existing list
+ if key in self._data:
+ self._data[key] += value
+ else:
+ self._data[key] = value[:]
+ elif isinstance(value, dict):
+ # acquire values for keys we don't have already
+ value = value.copy()
+ if key in self._data:
+ value.update(self._data[key])
self._data[key] = value
+ else:
+ if not key in self._data:
+ self._data[key] = value
More information about the Commits
mailing list