diff options
author | Geoffrey Bantle <hairbat@yahoo.com> | 2008-03-19 22:23:42 +0300 |
---|---|---|
committer | Geoffrey Bantle <hairbat@yahoo.com> | 2008-03-19 22:23:42 +0300 |
commit | 0899bccef56c51d99ca41a31b21b0a751ebcd63d (patch) | |
tree | 1042cbb5140a986d9bb4c8367faae8ef151d6e50 /release | |
parent | 285870d53b68bc691717b027b2eecdb3aea3dfc2 (diff) |
-> Path handling fix for External references in FLT import
FLT importer had problems with external references that used
relative paths. Fixed.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/flt_import.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/release/scripts/flt_import.py b/release/scripts/flt_import.py index 5b1909658b1..1df7c937842 100644 --- a/release/scripts/flt_import.py +++ b/release/scripts/flt_import.py @@ -1328,11 +1328,17 @@ class XRef(InterNode): self.props['comment'] = '' self.parse_record() - xref_filename = self.props['3t200!filename'] + xref_filename = self.props['3t200!filename'] #I dont even think there is a reason to keep this around... + + if not os.path.isabs(xref_filename): + absname = os.path.join(os.path.dirname(self.header.filename), xref_filename) + else: + absname = xref_filename + self.props['id'] = 'X: ' + Blender.sys.splitext(Blender.sys.basename(xref_filename))[0] #this is really wrong as well.... - if global_prefs['doxrefs'] and os.path.exists(xref_filename) and not self.header.grr.xrefs.has_key(xref_filename): - self.xref = Database(xref_filename, self.header.grr, self) + if global_prefs['doxrefs'] and os.path.exists(absname) and not self.header.grr.xrefs.has_key(xref_filename): + self.xref = Database(absname, self.header.grr, self) self.header.grr.xrefs[xref_filename] = self.xref else: self.xref = None @@ -1853,6 +1859,9 @@ class Database(InterNode): print 'Parsing:', filename print + #check to see if filename is a relative path + #filename = os.path.abspath(filename) + self.fw = flt_filewalker.FltIn(filename) self.filename = filename self.bname = os.path.splitext(os.path.basename(filename))[0] |