Esempio n. 1
0
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]
Esempio n. 2
0
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))