summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/views/drawings.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/core/views/drawings.py b/core/views/drawings.py
index e922433..073f017 100644
--- a/core/views/drawings.py
+++ b/core/views/drawings.py
@@ -22,6 +22,22 @@ todo='''- Need to check if invalid query string is invalid, or produces multiple
and render a user-friendly error page.
'''
+def unescape(input):
+ '''These look like HTML entities, but they are not. They are tunnel-specific encodings
+ '''
+ codes = {
+ "&space;" : " ",
+ """ : "\"",
+ "&tab;" : "\t",
+ "&backslash;" : "\\",
+ "&newline;" : "\n\t",
+ "&apostrophe": "'",
+ }
+ for c in codes:
+ #print(c, codes[c])
+ input = input.replace(c, codes[c])
+ return input
+
def dwgallfiles(request):
'''Report on all the drawing files in the system. These were loaded by parsing the entire directory tree
@@ -54,10 +70,9 @@ def dwgfilesingle(request, path):
print(f'- before reading any {encoding}')
lines = f.readlines()
#print(f'- finished reading {encoding}')
- #print(f'- {len(lines)=}')
clean = []
for l in lines:
- clean.append(l.replace('&','@').replace('&','&').replace('@', '&'))
+ clean.append(unescape(l)) # deals with strangely embedded survex file
#print(f'- Cleaned and stripped.')
try:
return HttpResponse(content=clean, content_type="text/xml")