summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2021-05-04 20:57:16 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2021-05-04 20:57:16 +0100
commit1638f97d0c785832ad9c6456f109971d5171c5e7 (patch)
tree9f222e86fde21a90374574e2f3258a5c0ae7e6fe /core
parentb3fcd7765e4b8cc55ec9b4f433d34cd89ae3bce9 (diff)
downloadtroggle-1638f97d0c785832ad9c6456f109971d5171c5e7.tar.gz
troggle-1638f97d0c785832ad9c6456f109971d5171c5e7.tar.bz2
troggle-1638f97d0c785832ad9c6456f109971d5171c5e7.zip
moved functions between files
Diffstat (limited to 'core')
-rw-r--r--core/utils.py17
-rw-r--r--core/views/drawings.py72
2 files changed, 56 insertions, 33 deletions
diff --git a/core/utils.py b/core/utils.py
index ff5f35c..fe5bd07 100644
--- a/core/utils.py
+++ b/core/utils.py
@@ -63,6 +63,23 @@ def chaosmonkey(n):
# print("CHAOS strikes !", file=sys.stderr)
return True
+# handles url or file, so we can refer to a set of scans (not drawings) on another server
+def GetListDir(sdir):
+ res = [ ]
+ if sdir[:7] == "http://":
+ # s = urllib.request.urlopen(sdir)
+ message = f"! Requesting loading from http:// NOT IMPLEMENTED. [{sdir}]"
+ print(message)
+ DataIssue.objects.create(parser='Drawings', message=message)
+ sdir[:7] = ""
+
+ for f in os.listdir(sdir):
+ if f[0] != ".":
+ ff = os.path.join(sdir, f)
+ res.append((f, ff, os.path.isdir(ff)))
+ return res
+
+
def save_carefully(objectType, lookupAttribs={}, nonLookupAttribs={}):
"""Looks up instance using lookupAttribs and carries out the following:
diff --git a/core/views/drawings.py b/core/views/drawings.py
index f0b684a..9b08dd5 100644
--- a/core/views/drawings.py
+++ b/core/views/drawings.py
@@ -15,10 +15,16 @@ from troggle.core.views.expo import getmimetype
as does the urls.py dispatcher which sends them here. Here they should actually have the filetype checked
by looking inside the file before being served.
+
+'''
+
+todo='''The git stuff on upload!
+
need to check if invalid query string is invalid, or produces multiple replies
and render a user-friendly error page.
'''
+
def dwgallfiles(request):
'''Report on all the drawing files in the system. These were loaded by parsing the entire directory tree
'''
@@ -50,49 +56,49 @@ def dwgfilesingle(request, path):
return HttpResponse(content="Unable to understand the encoding for this file: not UTF-8 nor iso-8859-1, or some other read error happened.")
-def dwgfileupload(request, path):
- '''Use bits of this to REGISTEr a recently uploaded dwg file which used dwgupload
- '''
- try:
- dwgfile = DrawingFile.objects.get(dwgpath=urlunquote(path)) # need to check if inavlid query string and produce friendly error
- except:
- message = f'Drawing file error or not found \'{path}\' .'
- return render(request, 'errors/generic.html', {'message': message})
- tfile = Path(settings.DRAWINGS_DATA, dwgfile.dwgpath)
+# def dwgfileupload(request, path):
+ # '''Use bits of this to REGISTEr a recently uploaded dwg file which used dwgupload
+ # '''
+ # try:
+ # dwgfile = DrawingFile.objects.get(dwgpath=urlunquote(path)) # need to check if inavlid query string and produce friendly error
+ # except:
+ # message = f'Drawing file error or not found \'{path}\' .'
+ # return render(request, 'errors/generic.html', {'message': message})
+ # tfile = Path(settings.DRAWINGS_DATA, dwgfile.dwgpath)
- project, user, password, tunnelversion = request.POST["tunnelproject"], request.POST["tunneluser"], request.POST["tunnelpassword"], request.POST["tunnelversion"]
- print(project, user, tunnelversion)
+ # project, user, password, tunnelversion = request.POST["tunnelproject"], request.POST["tunneluser"], request.POST["tunnelpassword"], request.POST["tunnelversion"]
+ # print(project, user, tunnelversion)
- if not (len(list(request.FILES.values())) == 1): # "only one file to upload"
- return HttpResponse(content="Error: more than one file selected for upload", content_type="text/plain")
+ # if not (len(list(request.FILES.values())) == 1): # "only one file to upload"
+ # return HttpResponse(content="Error: more than one file selected for upload", content_type="text/plain")
- uploadedfile = list(request.FILES.values())[0]
+ # uploadedfile = list(request.FILES.values())[0]
- if uploadedfile.field_name != "sketch":
- return HttpResponse(content="Error: non-sketch file uploaded", content_type="text/plain")
- if uploadedfile.content_type != "text/plain":
- return HttpResponse(content="Error: non-plain content type", content_type="text/plain")
+ # if uploadedfile.field_name != "sketch":
+ # return HttpResponse(content="Error: non-sketch file uploaded", content_type="text/plain")
+ # if uploadedfile.content_type != "text/plain":
+ # return HttpResponse(content="Error: non-plain content type", content_type="text/plain")
- # could use this to add new files
- if os.path.split(path)[1] != uploadedfile.name:
- return HttpResponse(content="Error: name disagrees", content_type="text/plain")
+ # # could use this to add new files
+ # if os.path.split(path)[1] != uploadedfile.name:
+ # return HttpResponse(content="Error: name disagrees", content_type="text/plain")
- orgsize = dwgfile.filesize # = os.stat(tfile)[stat.ST_SIZE]
+ # orgsize = dwgfile.filesize # = os.stat(tfile)[stat.ST_SIZE]
- ttext = uploadedfile.read()
+ # ttext = uploadedfile.read()
- # could check that the user and projects agree here
+ # # could check that the user and projects agree here
- fout = open(tfile, "w")
- fout.write(ttext)
- fout.close()
+ # fout = open(tfile, "w")
+ # fout.write(ttext)
+ # fout.close()
- # redo its settings of
- parsers.surveys.SetTunnelfileInfo(dwgfile) # commented out
- dwgfile.save()
+ # # redo its settings of
+ # parsers.surveys.SetTunnelfileInfo(dwgfile) # commented out
+ # dwgfile.save()
- uploadedfile.close()
- message = "File size %d overwritten with size %d" % (orgsize, dwgfile.filesize)
- return HttpResponse(content=message, content_type="text/plain")
+ # uploadedfile.close()
+ # message = "File size %d overwritten with size %d" % (orgsize, dwgfile.filesize)
+ # return HttpResponse(content=message, content_type="text/plain")