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)
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)
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)
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)
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)