def dblist(): print "Global databases :" for x in globals().values(): try: if issubclass(x, pycvf.core.database.ContentsDatabase): print "* ", x except: pass dbl = settings.PYCVF_DATABASE_PATH.split(":") for p in dbl: print "Databases that are accessible from standard path %s:" % (p,) if p: for x in os.listdir(builders.pycvf_builder(p[:-1]).__path__[0]): if (x[-3:] == ".py") and (x != "__init__.py"): print "* ", x[:-3] elif "." not in x: dj = os.path.join(builders.pycvf_builder(p[:-1]).__path__[0], x) if stat.S_ISDIR(os.stat(dj)[0]): try: os.stat(os.path.join(dj, "__init__.py")) builders.load_force(p + x) dbl.append(p + x + ".") except OSError: pass sys.exit(0)
def process(cls, *args, **kwargs): delay = float(cls.delay.value) print_addr = int(cls.print_addr.value) dtp = pycvf_builder(cls.forced_datatype.value) if len(cls.forced_datatype.value) else cls.vdb.datatype() for i in cls.vdb: if print_addr: print(i[1]) dtp.display(i[0]) if delay: time.sleep(delay)
def init_model(self,model,structure=None,modelelementpath="/",addressed=False,recomposed=True): ## ## ## if (structure==None): structure=self.datatype_in.get_default_structure() if addressed: pycvf_error("address is no more possible use : get_curraddr") self.recomposed=recomposed self.structure=(pycvf_builder(structure) if type(structure) in [str, unicode] else structure) dtp=self.structure.output_datatype(self.datatype_in) self.model=(pycvf_builder(model) if type(model) in [str,unicode] else model) self.model.init("/",dtp,self) self.modelelementpath=modelelementpath self.model.metainf_curdb=None metak= self.model.get_features_meta().keys() modelelementpathno=metak.index(modelelementpath) # if (recomposed): # if (addressed): # def etransform(x): # decomposed=self.structure.items(x) # shape=self.structure.shape(x) # return self.structure.recompose(shape,[ ( self.model.process(s,addr=s[0])[modelelementpathno] , s[0]) for s in decomposed ]) # else: def etransform(x): decomposed=self.structure.items(x) shape=self.structure.shape(x) return self.structure.recompose(shape,[ self.model.process(s[1],addr=s[0])[modelelementpathno] for s in decomposed ]) else: # if addressed: # def etransform(x): # decomposed=self.structure.items(x) # return [ ( self.model.process((s,s[0]),addr=s[0])[modelelementpathno]) for s in decomposed ] # else: def etransform(x): decomposed=self.structure.items(x) return [ ( self.model.process(s[1],addr=s[0])[modelelementpathno]) for s in decomposed ] self.processing=[ ('exploded_transform' , {'exploded_transform':etransform })]
def dblist(): r = [] for x in globals().values(): try: if issubclass(x, pycvf.core.database.ContentsDatabase): r.append(x) except: pass dbl = settings.PYCVF_DATABASE_PATH.split(":") for p in dbl: if p: for x in os.listdir(builders.pycvf_builder(p[:-1]).__path__[0]): if (x[-3:] == ".py") and (x != "__init__.py"): r.append(p + x[:-3]) elif "." not in x: dj = os.path.join(builders.pycvf_builder(p[:-1]).__path__[0], x) if stat.S_ISDIR(os.stat(dj)[0]): try: os.stat(os.path.join(dj, "__init__.py")) builders.load_force(p + x) dbl.append(p + x + ".") except OSError: pass return r
def process(cls, *args, **kwargs): delay = float(cls.delay.value) print_addr = int(cls.print_addr.value) label = str(cls.label.value) label_c = eval("cls.vdb.labeling_" + label, {"cls": cls})() dtp = ( pycvf_builder(cls.forced_datatype.value) if len(cls.forced_datatype.value) else label_c.datatype() ) # cls.vdb for i in cls.vdb: if print_addr: print(i[1]) dtp.display(label_c[i[1]]) if delay: time.sleep(delay) print("all labels", list(label_c))
except StopIteration: pass except KeyboardInterrupt: raise from pycvf.core import genericmodel from pycvf.datatypes import audio class Model(genericmodel.Model): def input_datatype(self,x): #assert(audio.Datatype.check(x)) return audio.Datatype def output_datatype(self,x): return audio.Spectrum.Datatype def init_model(self,*args,**kwargs): audiospectrumcomputer=AudioSpectrumComputer(*args,**kwargs) self.processing=[('audiospectrumcomputer',{'audiospectrumcomputer':audiospectrumcomputer.push})] __call__=Model if __name__=="__main__": from pycvf.core.builders import pycvf_builder vdb=pycvf_builder("LF('pycvf.databases.sound_directory','/media/c/music/musique/')") r=iter(vdb).next() x=audiospectrum(r[0]) # print "x",x for a in x: print a