def open_vector(fname, key="", where=''): """ Open vector or feature """ parts = fname.split(':') if len(parts) == 1: vector = GeoVector(fname) vector.SetPrimaryKey(key) else: # or it is a database if parts[0] not in settings().DATABASES.keys(): raise Exception("%s is not a valid database" % parts[0]) try: db = settings().DATABASES[parts[0]] filename = ("PG:dbname=%s host=%s port=%s user=%s password=%s" % (db['NAME'], db['HOST'], db['PORT'], db['USER'], db['PASSWORD'])) vector = GeoVector(filename, parts[1]) vector.SetPrimaryKey(key) except Exception as e: VerboseOut(traceback.format_exc(), 4) if where != '': # return array of features # set_trace() return vector.where(where) features = [] else: return vector
def create_repos(): """ Create any necessary repository directories """ repos = settings().REPOS for key in repos.keys(): repo = import_repository_class(key) for d in repo._subdirs: mkdir(os.path.join(repos[key]['repository'], d))
def import_data_module(clsname): """ Import a data driver by name and return as module """ import imp path = settings().REPOS[clsname].get('driver', '') if path == '': path = os.path.join(os.path.dirname(__file__), 'data', clsname) with error_handler('Error loading driver ' + clsname): fmtup = imp.find_module(clsname, [path]) mod = imp.load_module(clsname, *fmtup) return mod
def import_data_module(clsname): """ Import a data driver by name and return as module """ import imp path = settings().REPOS[clsname].get('driver', '') if path == '': path = os.path.join( os.path.dirname(__file__), 'data', clsname, clsname + '.py') #__init__.py' ) try: mod = imp.load_source(clsname, path) return mod except: print traceback.format_exc()
def import_data_module(clsname): """ Import a data driver by name and return as module """ import imp path = settings().REPOS[clsname].get('driver', '') if path == '': path = os.path.join(os.path.dirname(__file__), 'data', clsname, clsname + '.py') #__init__.py' ) try: mod = imp.load_source(clsname, path) return mod except: print traceback.format_exc()
def import_data_module(clsname): """ Import a data driver by name and return as module """ import imp path = settings().REPOS[clsname].get('driver', '') if path == '': path = os.path.join(os.path.dirname(__file__), 'data', clsname) try: fmtup = imp.find_module(clsname, [path]) mod = imp.load_module(clsname, *fmtup) return mod except: print traceback.format_exc()
def open_vector(fname, key="", where=''): """Open vector or feature, returned as a gippy GeoVector or GeoFeature.""" parts = fname.split(':') if len(parts) == 1: vector = GeoVector(fname) vector.SetPrimaryKey(key) else: # or it is a database if parts[0] not in settings().DATABASES.keys(): raise Exception("%s is not a valid database" % parts[0]) db = settings().DATABASES[parts[0]] filename = ( "PG:dbname=%s host=%s port=%s user=%s password=%s" % (db['NAME'], db['HOST'], db['PORT'], db['USER'], db['PASSWORD'])) vector = GeoVector(filename, parts[1]) vector.SetPrimaryKey(key) if where != '': # return array of features return vector.where(where) else: return vector
def data_sources(): """ Get enabled data sources (and verify) from settings """ sources = {} repos = settings().REPOS for key in sorted(repos.keys()): if not os.path.isdir(repos[key]['repository']): raise Exception( 'ERROR: archive %s is not a directory or is not available' % key) repo = import_repository_class(key) sources[key] = repo.description return sources
def import_data_module(clsname): """ Import a data driver by name and return as module """ import imp path = settings().REPOS[clsname].get('driver', '') if path == '': path = os.path.join( os.path.dirname(__file__), 'data', clsname) try: fmtup = imp.find_module(clsname, [path]) mod = imp.load_module(clsname, *fmtup) return mod except: print traceback.format_exc()
def create_repos(): """ Create any necessary repository directories """ try: repos = settings().REPOS except: print traceback.format_exc() raise Exception('Problem reading repository...check settings files') for key in repos.keys(): repo = import_repository_class(key) for d in repo._subdirs: path = os.path.join(repos[key]['repository'], d) if not os.path.isdir(path): os.makedirs(path)
def data_sources(): from gips.data.core import repository_class sources = {} repos = settings().REPOS found = False for key in sorted(repos.keys()): if os.path.isdir(repos[key]['rootpath']): try: repo = repository_class(key) sources[key] = repo.description found = True except: VerboseOut(traceback.format_exc(), 4) if not found: print "There are no available data sources!" return sources
def data_sources(): """ Get enabled data sources (and verify) from settings """ sources = {} repos = settings().REPOS found = False for key in sorted(repos.keys()): if os.path.isdir(repos[key]['repository']): try: repo = import_repository_class(key) sources[key] = repo.description found = True except: VerboseOut(traceback.format_exc(), 1) else: raise Exception('ERROR: archive %s is not a directory or is not available' % key) if not found: print "There are no available data sources!" return sources
def data_sources(): """ Get enabled data sources (and verify) from settings """ sources = {} repos = settings().REPOS found = False for key in sorted(repos.keys()): if os.path.isdir(repos[key]['repository']): try: repo = import_repository_class(key) sources[key] = repo.description found = True except: VerboseOut(traceback.format_exc(), 1) else: raise Exception( 'ERROR: archive %s is not a directory or is not available' % key) if not found: print "There are no available data sources!" return sources