Example #1
0
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}))
Example #2
0
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}}))
Example #3
0
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()))
Example #4
0
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()))
Example #5
0
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"])}))
Example #6
0
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}))
Example #7
0
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}))
Example #8
0
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)))
Example #9
0
def deleteHighlight(idHighlight):
    """Deletes a highlight by ID passed in the URL."""
    m = HighlightModel()

    return(jsonify({"deleted": m.deleteHighlight(idHighlight)}))