def run(): path = DATA("subsurface-1.xml") start = datetime.now() p = subsurface.parse_short(path) print "Parse short taken: ", datetime.now() - start print p start = datetime.now() p = subsurface.parse_full(path) print "Parse full taken: ", datetime.now() - start print [(x[0], len(x[1])) for x in p]
def upload_view(request, upload_id): """ Displays a single upload. """ upload = get_object_or_404(DiveUpload, pk=upload_id, user=request.user) if os.path.exists(upload.data.path): file_size = os.path.getsize(upload.data.path) # # Fetch fingerprints of existing user's dives for marking already uploaded dives # fingerprints = {} # dives = Dive.objects.filter(user = request.user).values_list('id', 'fingerprint') # for dive_id, fingerprint in dives: # fingerprints[fingerprint] = dive_id # Parse the XML file try: with open(upload.data.path) as input: overview = subsurface.parse_short(upload.data.path) except Exception: messages.error(request, "Uploaded data cannot be parsed.") overview = [] # # Add dive_id for existing dives # for item in overview: # if item['fingerprint'] in fingerprints: # item['dive_id'] = fingerprints[item['fingerprint']] else: overview = None file_size = None messages.error(request, "The uploaded file has been deleted from the system.") t = loader.get_template('divelog/uploads/view.html') c = RequestContext(request, { 'upload': upload, 'overview': overview, 'file_size': file_size, }); return HttpResponse(t.render(c))