def dameListaColecciones(self): """Devuelve una Lista con dicccionario de cada coleccion""" result = self.catalogo(object_provides=IColeccion.__identifier__) listados = [] for colec in result: miOb = self.contexto.unrestrictedTraverse(colec.getPath()) colUtils = ColeccionUtils(miOb) descrip = colec.Description if len(descrip) > 280: descrip = descrip[:descrip[:280].rfind("</p>")] + "." listados.append({ "titulo": colec.Title, "descri": descrip, "url": colec.getURL(), "scales": miOb, "coors": colUtils.getCoordinadores(), "idColec": miOb.GS_ID, "categoria": colec.getObject().tipoColeccion, "urlFuente": colUtils.getUrlAFuente(), "altFuente": miOb.altNavegarFuente, }) return listados
def dameListaExhi(self): """Devuelve una Lista con dicccionario de cada exhibicion""" contexto = self.context.aq_inner catalogo = getToolByName(contexto, "portal_catalog") result = catalogo(portal_type="arcas.exhibicion") listados = [] for exhi in result: miOb = contexto.unrestrictedTraverse(exhi.getPath()) if miOb.coleccionR != None: miCol = miOb.coleccionR.to_object ppa = ColeccionUtils(miCol) listados.append({ "id": exhi.id, "titulo": exhi.Title, "subTitulo": miCol.Title(), "descri": exhi.Description, "url": exhi.getURL(), "scales": miOb, "coors": ppa.getCoordinadores(), "idColec": miCol.id, "urlFuente": ppa.getUrlAFuente(), "curador": ppa.dameCurador(exhi.id) }) return listados
def dameBanners(self): """Devuleve los banners a las exhibiciones relacionadas a la coleccion""" utilidad = ColeccionUtils(self.context) result = [] dameE = utilidad.dameExhibicionesR() if dameE: for exhi in dameE: sinBaner = dameE[0].baner == None obj = { 'url': exhi.absolute_url(), 'titulo': exhi.title, "vacio": sinBaner } result.append(obj) return result
def datos_contexto(self): self.update() catalogo = getToolByName(self.contexto, "portal_catalog") colecFolder = catalogo.searchResults( portal_type="arcas.coleccionesFolder") if len(colecFolder) < 1: return self.emptyData() miColeccion = "" colectFolder = self.context.unrestrictedTraverse( colecFolder[0].getPath()) desta_path = '/'.join(colectFolder.getPhysicalPath()) cataloDest = catalogo.searchResults(path={ 'query': desta_path, 'depth': 1 }) for coleccion in cataloDest: colecObj = self.context.unrestrictedTraverse(coleccion.getPath()) if colecObj.GS_ID == self.idColeccion: miColeccion = colecObj break if miColeccion == "": return self.emptyData() utilidad = ColeccionUtils(miColeccion) result = [] for exhi in utilidad.dameExhibicionesR(): data = { 'url': exhi.absolute_url() + '/images/baner', 'titulo': exhi.title, 'remoteURL': exhi.absolute_url() } result.append(data) return result
def dameCurador(self): """devuelve un listado con los curadores de la coleccion""" rs = ColeccionUtils(self.context) rt = rs.dameCurador() return rt