示例#1
0
def task_dir(subdir='tmp', cd=False):
    ''' Creates and returns a new processing directory for a celery task '''
    if not os.path.exists(env['VIP_TEMP_DIR']):
        os.makedirs(env['VIP_TEMP_DIR'])

    #make instance specific directory
    if env['VIP_CONSTANT_TEMP_DIR'] == '1':
        processing_dir = os.path.join(env['VIP_TEMP_DIR'], subdir)
        return TempDir(processing_dir, cd=cd, delete=False)
    else:
        return TempDir(os.path.join(env['VIP_TEMP_DIR'], subdir),
                       cd=cd,
                       delete=not env['VIP_TEMP_KEEP'] == '1',
                       mkdtemp=True)
示例#2
0
def image_sha_dir(checksum, cd=False):
    if not os.path.exists(env['VIP_IMAGE_SERVER_ROOT']):
        os.makedirs(env['VIP_IMAGE_SERVER_ROOT'])

    return TempDir(get_image_sha_dir(checksum),
                   cd=cd,
                   mkdtemp=False,
                   delete=False)
示例#3
0
def image_dir(subdir='tmp', cd=False):
    if not os.path.exists(env['VIP_IMAGE_SERVER_ROOT']):
        os.makedirs(env['VIP_IMAGE_SERVER_ROOT'])

    return TempDir(os.path.join(env['VIP_IMAGE_SERVER_ROOT'], subdir),
                   cd=cd,
                   delete=False,
                   mkdtemp=True)
示例#4
0
def storage_dir(subdir='tmp', cd=False):
    ''' Creates and returns a new storage directory for a celery task '''

    if not os.path.exists(env['VIP_STORAGE_DIR']):
        os.makedirs(env['VIP_STORAGE_DIR'])

    return TempDir(os.path.join(env['VIP_STORAGE_DIR'], subdir),
                   cd=cd,
                   delete=False,
                   mkdtemp=True)
示例#5
0
def load_world_data():
    from vsi.tools.dir_util import TempDir
    from voxel_globe.world import models
    from zipfile import ZipFile
    from glob import glob

    with TempDir(cd=True, mkdtemp=True) as temp_dir:
        with ZipFile(env['VIP_DJANGO_REGRESSION_SHAPEFILE'], 'r') as zip_file:
            zip_file.extractall(temp_dir)

        world_shp = glob(os.path.join(temp_dir, '*.shp'))[0]
        #print world_shp, '\n'

        ds = DataSource(world_shp)

        geometryName = u'mpoly'

        if 1:  #Completely optional
            from django.contrib.gis.utils.ogrinspect import _ogrinspect
            print >> logStdOut, 'Your class model SHOULD look like this:\n'
            print >> logStdOut, '\n'.join([
                s for s in _ogrinspect(ds,
                                       'WorldBorder',
                                       geom_name=geometryName,
                                       layer_key=0,
                                       srid=4326,
                                       multi_geom=True)
            ])

        world_mapping = mapping(ds,
                                multi_geom=True,
                                geom_name=geometryName,
                                layer_key=0)

        print >> logStdOut, 'Loading database using mapping:'
        pprint(world_mapping, stream=logStdOut)

        try:
            lm = LayerMapping(models.WorldBorder,
                              world_shp,
                              world_mapping,
                              transform=False,
                              encoding='iso-8859-1')
            lm.save(strict=True, verbose=True)
        except:
            print 'Failed to load mapping data. It probably already exists!'

        #Cleanup so that TempDir can delete the dir
        del (ds, world_mapping, lm)