summaryrefslogtreecommitdiffstats
path: root/parsers/survex.py
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:17:16 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:17:16 +0100
commit936eab284425b9d4b11cc477ed94e63e0732cb3b (patch)
tree376a8e7ea4fcdb5f94d048b72b9b917046f5e989 /parsers/survex.py
parent64f0b5427567ec7bb9e21018e643df11e86c8134 (diff)
downloadtroggle-936eab284425b9d4b11cc477ed94e63e0732cb3b.tar.gz
troggle-936eab284425b9d4b11cc477ed94e63e0732cb3b.tar.bz2
troggle-936eab284425b9d4b11cc477ed94e63e0732cb3b.zip
[svn] Removed last of the sqlite save hack
Started to add reading of dates Changed character encoding code so it works Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8054 by julian @ 11/2/2008 11:17 PM
Diffstat (limited to 'parsers/survex.py')
-rw-r--r--parsers/survex.py23
1 files changed, 9 insertions, 14 deletions
diff --git a/parsers/survex.py b/parsers/survex.py
index 99044cb..a3ea4dc 100644
--- a/parsers/survex.py
+++ b/parsers/survex.py
@@ -7,26 +7,18 @@ re_include_extension = re.compile(r"^\s*\*include\s+([^\s]*).svx$", re.IGNORECAS
re_include_no_extension = re.compile(r"^\s*\*include\s+([^\s]*)$", re.IGNORECASE)
re_begin = re.compile(r"^\s*\*begin\s+(.*?)\s*$", re.IGNORECASE)
re_end = re.compile(r"^\s*\*end\s+(.*?)\s*$", re.IGNORECASE)
-
-def save(x): #There seems to be an intermitent problem with sqlite and Vista, this should fix it
- #try:
- x.save()
- #except Exception: #sqlite3.OperationalError:
- # print "Error"
- # time.sleep(1)
- # save(x)
+re_date = re.compile(r"^\s*\*date\s+(.*?)\s*$", re.IGNORECASE)
def fileIterator(directory, filename):
survex_file = os.path.join(directory, filename + ".svx")
f = open(os.path.join(settings.SURVEX_DATA, survex_file), "rb")
char = 0
for line in f.readlines():
- line = unicode(line, "latin1").decode("utf-8")
+ line = unicode(line, "latin1")
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 sf, c, l in a(include_extension.groups()[0]):
@@ -43,26 +35,29 @@ def make_model(name, parent, iter_lines, sf, c, l):
m = models.SurvexBlock(name = name, parent = parent, begin_file = sf, begin_char = c, text = l)
else:
m = models.SurvexBlock(name = name, begin_file = sf, begin_char = c, text = l)
- save(m)
+ m.save()
for survex_file, count, line in iter_lines:
begin = re_begin.match(line.split(";")[0])
end = re_end.match(line.split(";")[0])
+ date = re_date.match(line.split(";")[0])
if begin:
make_model(begin.groups()[0], m, iter_lines, survex_file, count, line)
elif end:
m.text = m.text + line
m.end_file = survex_file
m.end_char = count
- print len(m.text)
- save(m)
+ m.save()
assert (end.groups()[0]).lower() == (name).lower()
return None
+ elif date:
+ print date.groups()[0]
+ m.text = m.text + line
else:
m.text = m.text + line
m.text = m.text + line
m.end_file = survex_file
m.end_char = count
- save(m)
+ m.save()
filename = "all"