def OGRInspectorInstantiator(depends_on = root, creates = protocol_root + 'OGRInspectors.py'): L = [l for l in listdir(depends_on) if IsDir(depends_on + l)] outdir = '../Data/ShapeFileOGRInspections/' D = [('initialize',MakeDir,(outdir,))] D += [('Inspect_' + l,ogrinspectdir,(depends_on + l,l,outdir + l + '.py')) for l in L] ApplyOperations2(creates,D)
def GenerateAutomaticMetaData(objname,forced=False,use=100): metapath = opmetadatapath(objname) if IsDotPath(objname) else metadatapath(objname) if IsDotPath(objname): path = '../' + '/'.join(objname.split('.')[:-1]) + '.py' objectname = objname.split('.')[-1] else: path = objname objectname ='' if forced or not PathExists(metapath) or os.path.getmtime(metapath) <= FindMtime(path,objectname=objectname,Simple=False): if IsDir(objname): if objname[-1] != '/': objname += '/' if is_hsv_dir(objname): pass else: D = {} L = [objname + ll for ll in listdir(objname) if not ll.startswith('.')] for l in L: D.update(GenerateAutomaticMetaData(l,forced=forced)) LL = set(L).intersection(D.keys()) D[objname] = IntegrateDirMetaData([D[l] for l in LL]) return D else: if IsPythonFile(objname) or IsDotPath(objname): d = StoredDocstring(objname) if d: return {objname:{'description':d,'signature': 'python'}} elif objname.endswith(('.csv','.tsv')): if IsFile(objname): try: x = tabularmetadata(objname,use=use) except: x = DEFAULT_GenerateAutomaticMetaData(objname) print 'Failed to tabular metadata for', objname print_exc() else: x['signature'] = 'tabular' return {objname : x} return {} else: try: return {objname:pickle.load(open(metapath+'/AutomaticMetaData.pickle','r'))} except: return GenerateAutomaticMetaData(objname,forced=True)