diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 05:13:38 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 05:13:38 +0100 |
commit | b503d3d588474cc41bffc01eca7654bb8c6f4a42 (patch) | |
tree | 782956fc07f18a13ae24fc0c045e970c6ba03f04 /parsers/survex.py | |
download | troggle-b503d3d588474cc41bffc01eca7654bb8c6f4a42.tar.gz troggle-b503d3d588474cc41bffc01eca7654bb8c6f4a42.tar.bz2 troggle-b503d3d588474cc41bffc01eca7654bb8c6f4a42.zip |
[svn] Initial troggle checkin
This is a development site using Django 1.0
Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8034 by julian @ 10/26/2008 9:04 PM
Diffstat (limited to 'parsers/survex.py')
-rw-r--r-- | parsers/survex.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/parsers/survex.py b/parsers/survex.py new file mode 100644 index 0000000..0f75e06 --- /dev/null +++ b/parsers/survex.py @@ -0,0 +1,31 @@ +import settings
+import expo.models as models
+import re
+import os
+
+def readFile(filename):
+ for line in fileIterator(settings.SURVEX_DATA, filename):
+ print line
+
+re_include_extension = re.compile(r"^\s*\*include\s+([^\s]*).svx$", re.IGNORECASE)
+re_include_no_extension = re.compile(r"^\s*\*include\s+([^\s]*)$", re.IGNORECASE)
+
+def fileIterator(directory, filename):
+ f = open(os.path.join(directory, filename + ".svx"), "rb")
+ for line in f.readlines():
+ include_extension = re_include_extension.match(line)
+ include_no_extension = re_include_no_extension.match(line)
+ def a(include):
+ link = re.split(r"/|\\", include)
+ print os.path.join(directory, *link[:-1]), link[-1]
+ return fileIterator(os.path.join(directory, *link[:-1]), link[-1])
+ if include_extension:
+ for b in a(include_extension.groups()[0]):
+ yield b
+ elif include_no_extension:
+ for b in a(include_no_extension.groups()[0]):
+ yield b
+ else:
+ yield line
+
+readFile("all")
\ No newline at end of file |