diff options
-rw-r--r-- | core/admin.py | 2 | ||||
-rw-r--r-- | core/models.py | 16 | ||||
-rw-r--r-- | parsers/survex.py | 6 |
3 files changed, 22 insertions, 2 deletions
diff --git a/core/admin.py b/core/admin.py index e304966..1b6b550 100644 --- a/core/admin.py +++ b/core/admin.py @@ -95,6 +95,8 @@ admin.site.register(Area) admin.site.register(OtherCaveName)
admin.site.register(CaveAndEntrance)
admin.site.register(SurveyStation)
+admin.site.register(NewSubCave)
+admin.site.register(CaveDescription)
admin.site.register(Entrance)
admin.site.register(SurvexBlock, SurvexBlockAdmin)
admin.site.register(Expedition)
diff --git a/core/models.py b/core/models.py index 0c7e00d..0889f16 100644 --- a/core/models.py +++ b/core/models.py @@ -479,13 +479,27 @@ class Subcave(TroggleModel): # urlString='cave/'+unicode(cave.kataster_number)+'/'+urlString
# else:
# urlString='cave/'+unicode(self.cave.kataster_number)+'/'+urlString
-
+
# return urlparse.urljoin(settings.URL_ROOT, urlString)
try:
mptt.register(Subcave, order_insertion_by=['title'])
except mptt.AlreadyRegistered:
print "mptt already registered"
+
+class CaveDescription(TroggleModel):
+ name = models.CharField(max_length=50)
+ description = models.TextField(blank=True,null=True)
+ linked_subcaves = models.ManyToManyField("Subcave")
+ linked_entrances = models.ManyToManyField("Entrance")
+ linked_qms = models.ManyToManyField("QM")
+ def __unicode__(self):
+ return unicode(self.name)
+
+class NewSubCave(TroggleModel):
+ name = models.CharField(max_length=200)
+ def __unicode__(self):
+ return unicode(self.name)
class QM(TroggleModel):
#based on qm.csv in trunk/expoweb/smkridge/204 which has the fields:
diff --git a/parsers/survex.py b/parsers/survex.py index dad081b..2236d7b 100644 --- a/parsers/survex.py +++ b/parsers/survex.py @@ -28,7 +28,8 @@ re_include_no_extension = re.compile(r"^\s*\*include\s+([^\s]*)\s*$", re.IGNOREC flags = {"begin": re.compile(r"^\s*\*begin\s+(.*?)\s*$", re.IGNORECASE), "end": re.compile(r"^\s*\*end\s+(.*?)\s*$", re.IGNORECASE), "date": re.compile(r"^\s*\*date\s+(.*?)\s*$", re.IGNORECASE), - "team": re.compile(r"^\s*\*team\s+(.*?)\s*$", re.IGNORECASE)} + "team": re.compile(r"^\s*\*team\s+(.*?)\s*$", re.IGNORECASE), + "title": re.compile(r"^\s*\*title\s+(.*?)\s*$", re.IGNORECASE)} def fileIterator(directory, filename): survex_file = os.path.join(directory, filename + ".svx") @@ -132,6 +133,9 @@ def make_model(name, parent, iter_lines, sf, c, l): team.append((survex_file, h.groups())) else: print ("Role not found: " + line + " in: " + sf).encode('ascii', 'xmlcharrefreplace') + elif res["title"]: + nsb, success = models.NewSubCave.objects.get_or_create(name = res["title"].groups()[0]) + m.text = m.text + line saveEnd(survex_file, count) |