def __getHighlightCatalog(published, page=None, search=None): """Gets the highlight's catalog.""" m = HighlightModel() if page!=None: listSize = constBackend["UnpublishedHighlightCatalogBackendListLength"] else: listSize = None total, results = m.getHighlightCatalogBackend(published,page=page,listSize=listSize,search=search) out = [] for r in results: h = {} if r["title_en"]!=None and r["text_en"]!=None and r["image_hash_en"]!=None: h["english"] = True else: h["english"] = False if r["title_es"]!=None and r["text_es"]!=None and r["image_hash_es"]!=None: h["spanish"] = True else: h["spanish"] = False h["id"] = r["id_highlight"] h["title"] = r["title"] h["text"] = r["text"] h["edit"] = r["last_edit_time"] out.append(h) return(jsonify({"listSize": total, "results": out}))
def editHightlight(id_highlight): """Edits a highlight. Gets a JSON in the form: { "title_en": "title_en", "title_es": "title_es", "text_en": "text_en", "text_es": "text_es", "image_name_en": "new_image_name_en", "image_name_es": "new_image_name_es", "image_hash_en": "new_image_hash_en", "image_hash_es": "new_image_hash_es", "link_en": "link_en", "link_es": "link_es", "credit_img_en": "credit_img_en", "credit_img_es": "credit_img_es", }""" m = HighlightModel() oldHighlight = m.getHighlight(id_highlight) if oldHighlight["image_hash_en"]!=request.json["image_hash_en"]: deleteImgFile(oldHighlight["image_hash_en"]) moveImgFile(request.json["image_hash_en"]) if oldHighlight["image_hash_es"]!=request.json["image_hash_es"]: deleteImgFile(oldHighlight["image_hash_es"]) moveImgFile(request.json["image_hash_es"]) out = m.editHighlight(request.json) return(jsonify({"result": {"id_highlight": out}}))
def getSliderFrontend(lang): """Gets the slider's data.""" m = HighlightModel() try: out = m.getSliderFrontend(lang) return (jsonify({"results": out})) except ElcanoErrorBadLanguage as e: return (jsonify(e.dict()))
def getSliderFrontend(lang): """Gets the slider's data.""" m = HighlightModel() try: out = m.getSliderFrontend(lang) return(jsonify({"results": out})) except ElcanoErrorBadLanguage as e: return(jsonify(e.dict()))
def setHighlightOrder(): """Sets the order of published highlights. Receives a JSON in the form: { "order": [3,1,2,6] } where numbers are the indexes of published highlights.""" m = HighlightModel() return(jsonify({"ordered": m.setHighlightOrder(request.json["order"])}))
def togglePublishHighlight(id): """Toggles the published status of a highlight. Uses a parameter: id: mandatory, id of the highlight to be toggled TODO: doesn't raise any error if ID is non-existent. """ m = HighlightModel() out = m.togglePublishHighlight(id) return(jsonify({"new_status": out}))
def createHightlight(): """Creates a new highlight. Recieves a JSON in the form: { "title_en": "title_en", "title_es": "title_es", "text_en": "text_en", "text_es": "text_es", "image_name_en": "image_name_en", "image_name_es": "image_name_es", "image_hash_en": "image_hash_en", "image_hash_es": "image_hash_es", "link_en": "link_en", "link_es": "link_es", "credit_img_en": "credit_img_en", "credit_img_es": "credit_img_es" }""" m = HighlightModel() moveImgFile(request.json["image_hash_en"]) moveImgFile(request.json["image_hash_es"]) out = m.createHighlight(request.json) return(jsonify({"id": out}))
def getHighlight(idHighlight): """Gets a highlight by ID in the URL. TODO: doesn't emit error when highlight is non-existent.""" m = HighlightModel() return(jsonify(m.getHighlight(idHighlight)))
def deleteHighlight(idHighlight): """Deletes a highlight by ID passed in the URL.""" m = HighlightModel() return(jsonify({"deleted": m.deleteHighlight(idHighlight)}))