示例#1
0
    def test_rename_and_prepare(self):
        with create_files(['109029_23.tiff', 'notjunk<y>']) as tests:
            tests = map(rename_and_prepare, tests)
            self.assertTrue(tests[0].endswith("_109029_23.tiff"))
            self.assertTrue(tests[1].endswith("junk_y_"))

        with create_files(['109029_23.shp', '109029_23.shx', '109029_23.dbf', '109029_23.prj'], zipped=True) as tests:
            tests = rename_and_prepare(tests[0])
            path = os.path.dirname(tests)
            self.assertTrue(
                os.path.exists(
                    os.path.join(
                        path,
                        '_109029_23.shp')))
            self.assertTrue(
                os.path.exists(
                    os.path.join(
                        path,
                        '_109029_23.shx')))
            self.assertTrue(
                os.path.exists(
                    os.path.join(
                        path,
                        '_109029_23.dbf')))
            self.assertTrue(
                os.path.exists(
                    os.path.join(
                        path,
                        '_109029_23.prj')))
示例#2
0
文件: views.py 项目: Bob87/geonode
def save_step_view(req, session):
    if req.method == 'GET':
        return render_to_response('upload/layer_upload.html',
            RequestContext(req, {
            'async_upload' : _ASYNC_UPLOAD,
            'incomplete' : Upload.objects.get_incomplete_uploads(req.user),
            'charsets': CHARSETS
        }))

    assert session is None

    form = LayerUploadForm(req.POST, req.FILES)
    tempdir = None

    if form.is_valid():
        tempdir, base_file = form.write_files()
        base_file = rename_and_prepare(base_file)
        name, ext = os.path.splitext(os.path.basename(base_file))
        import_session = upload.save_step(req.user, name, base_file, overwrite=False)
        sld = find_sld(base_file)
        logger.info('provided sld is %s' % sld)
        upload_type = get_upload_type(base_file)
        upload_session = req.session[_SESSION_KEY] = upload.UploaderSession(
            tempdir=tempdir,
            base_file=base_file,
            name=name,
            import_session=import_session,
            layer_abstract=form.cleaned_data["abstract"],
            layer_title=form.cleaned_data["layer_title"],
            permissions=form.cleaned_data["permissions"],
            import_sld_file = sld,
            upload_type = upload_type,
            geogit=form.cleaned_data['geogit'],
            geogit_store=form.cleaned_data['geogit_store'],
            time=form.cleaned_data['time']
        )
        return _next_step_response(req, upload_session, force_ajax=True)
    else:
        errors = []
        for e in form.errors.values():
            errors.extend([escape(v) for v in e])
        return _error_response(req, errors=errors)
示例#3
0
def save_step_view(req, session):
    if req.method == 'GET':
        return render_to_response('upload/layer_upload.html',
            RequestContext(req, {
            'async_upload' : _ASYNC_UPLOAD,
            'incomplete' : Upload.objects.get_incomplete_uploads(req.user)
        }))

    assert session is None

    form = LayerUploadForm(req.POST, req.FILES)
    tempdir = None

    if form.is_valid():
        tempdir, base_file = form.write_files()
        base_file = rename_and_prepare(base_file)
        name, ext = os.path.splitext(os.path.basename(base_file))
        import_session = upload.save_step(req.user, name, base_file, overwrite=False)
        sld = find_sld(base_file)
        logger.info('provided sld is %s' % sld)
        upload_type = get_upload_type(base_file)
        upload_session = req.session[_SESSION_KEY] = upload.UploaderSession(
            tempdir=tempdir,
            base_file=base_file,
            name=name,
            import_session=import_session,
            layer_abstract=form.cleaned_data["abstract"],
            layer_title=form.cleaned_data["layer_title"],
            permissions=form.cleaned_data["permissions"],
            import_sld_file = sld,
            upload_type = upload_type,
            geogit=form.cleaned_data['geogit'],
            geogit_store=form.cleaned_data['geogit_store'],
            time=form.cleaned_data['time']
        )
        return _next_step_response(req, upload_session, force_ajax=True)
    else:
        errors = []
        for e in form.errors.values():
            errors.extend([escape(v) for v in e])
        return _error_response(req, errors=errors)
示例#4
0
    def test_rename_and_prepare(self):
        with create_files(['109029_23.tiff', 'notjunk<y>']) as tests:
            tests = map(rename_and_prepare, tests)
            self.assertTrue(tests[0].endswith("_109029_23.tiff"))
            self.assertTrue(tests[1].endswith("junk_y_"))

        with create_files([
                '109029_23.shp', '109029_23.shx', '109029_23.dbf',
                '109029_23.prj'
        ],
                          zipped=True) as tests:
            tests = rename_and_prepare(tests[0])
            path = os.path.dirname(tests)
            self.assertTrue(
                os.path.exists(os.path.join(path, '_109029_23.shp')))
            self.assertTrue(
                os.path.exists(os.path.join(path, '_109029_23.shx')))
            self.assertTrue(
                os.path.exists(os.path.join(path, '_109029_23.dbf')))
            self.assertTrue(
                os.path.exists(os.path.join(path, '_109029_23.prj')))