Ejemplo n.º 1
0
 def update(self):
     self.contexto= aq_inner(self.context)
     self.cli=ClienteGS()
     
     if "series" in self.request.form:
         self.coleccion  =self.request.form["series"]
         self.metodo     ="getSeries"
         self.valor      =self.request.form["series"]
         
     if "docs" in self.request.form:
         self.metodo     ="getDocs"
         self.coleccion  =self.request.form["coleccion"]
         self.valor      =self.request.form["docs"]
         
     if "ruta" in self.request.form:
         self.metodo     ="getMetadata"
         self.ruta       =self.request.form["ruta"]
         self.coleccion  =self.request.form["coleccion"]
         self.valor      =self.request.form["docs"]
         self.tienSub   =self.request.form["subserie"]
         
     elif "subserie" in self.request.form:
         self.metodo     ="getSubSeries"
         self.coleccion  =self.request.form["coleccion"]            
         self.valor      =self.request.form["subserie"]
Ejemplo n.º 2
0
class JSONGS_WS(View):
    """
    Devuleve un listado json de  documentos o fuente
    /json_gs?series=puig
    /json_gs?docs=boquitas pintadas
    """
    grok.context(Interface)
    grok.name("json_gs")

    def update(self):
        self.contexto= aq_inner(self.context)
        self.cli=ClienteGS()
        
        if "series" in self.request.form:
            self.coleccion  =self.request.form["series"]
            self.metodo     ="getSeries"
            self.valor      =self.request.form["series"]
            
        if "docs" in self.request.form:
            self.metodo     ="getDocs"
            self.coleccion  =self.request.form["coleccion"]
            self.valor      =self.request.form["docs"]
            
        if "ruta" in self.request.form:
            self.metodo     ="getMetadata"
            self.ruta       =self.request.form["ruta"]
            self.coleccion  =self.request.form["coleccion"]
            self.valor      =self.request.form["docs"]
            self.tienSub   =self.request.form["subserie"]
            
        elif "subserie" in self.request.form:
            self.metodo     ="getSubSeries"
            self.coleccion  =self.request.form["coleccion"]            
            self.valor      =self.request.form["subserie"]
        

    def render(self):
        #re=self.dameCL1()
        #return re
        if self.metodo=="getSeries":
            listing=self.dameSeries()
        elif self.metodo=="getDocs":
            listing=self.dameFuentes()
        elif self.metodo=="getSubSeries":
            listing=self.dameSubSeries()
        else:
            listing=self.dameMetadatos()

        return self.empaqueta(listing)
        

    def empaqueta(self,listing):
        """empaqueta para relegar"""
        pretty = json.dumps(listing)
        self.request.response.setHeader("Content-type", "application/json")
        self.request.response.setHeader('Access-Control-Allow-Origin', '*')
        return pretty

    def getSourceObra(self):
        listing=self.dameObras()
        return empaquetaObra()
    
    def dameFuentes(self):
        """Devuleve todas las obras de la serie"""        
        docs=self.cli.getDocsFromSerie(self.coleccion,self.valor)
        return docs
    
    def dameSubSeries(self):
        """Devuelve todas las obras de una subSerie"""
        obras=self.cli.getDocsFromSubSerie(self.coleccion,self.valor)
        return obras
    
        
    def dameSeries(self):
        """Devuelve todas las series de una coleccion"""
        obras=self.cli.getSeries(self.valor)
        return obras
    
    
    def dameCL1(self):
        """Devuelve todas las series de una coleccion"""
        docs=self.cli.getDescendats(self.coleccion)

    def dameMetadatos(self):
        """Devuelve todas las series de una coleccion"""
        result={"serieMetadata":"","subserieMetadata":"","itemMetadata":""}             
        
        if self.tienSub=="true":
            subSerieOk=True
        else:
            subSerieOk=False
            
        if self.tienSub:
            rutaItem=self.ruta
            
            arTmp = rutaItem.split("/")
            del arTmp[-2]
            del arTmp[-2]
            rutaSerie = "/".join(arTmp)
            
            arTmp = rutaItem.split("/")         
            del arTmp[-2]
            rutaSubSerie = "/".join(arTmp)            
            
        else:
            arTmp = rutaItem.split("/")            
            del arTmp[-2]
            rutaSerie = "/".join(arTmp)    
        
        print rutaSerie
        print rutaSubSerie
        print rutaItem
        
        manageFS  = FSManager()
        obraF     = manageFS.openF(rutaItem,self.coleccion)
        
        if type(obraF) != type(True):
            result["itemMetadata"]="error"
        else:
            result["itemMetadata"] = manageFS.getMetadataForItem()

        #serieF=manageFS.openF(rutaSerie,self.coleccion)
        serieF=manageFS.openF(rutaSubSerie,self.coleccion)
        

        if type(serieF) != type(True):
            result["serieMetadata"] = "error"
        else:
            result["serieMetadata"] = manageFS.getMetadataForSerie()

        if subSerieOk:            
            #serieSubF = manageFS.openF(rutaSubSerie,self.coleccion)
            serieSubF = manageFS.openF(rutaSerie,self.coleccion)
            if type(serieSubF) != type(True):
                result["subserieMetadata"] = "error"
            else:        
                result["subserieMetadata"] = manageFS.getMetadataForSubSerie()
        

        import pdb
        pdb.set_trace()

        return result