Untitled

 avatar
4ae4d
plain_text
a month ago
1.4 kB
4
Indexable
def _get_current_value(event_card: EventCardSchema, field: str) -> str:  # legacy
    event_fields = {
        # valid fields
        "title",
        "description",
        "gosb_id",
        "terbank_id",
        #
        # TODO add hours to EventCardSchema
        # "hours": "Баллы",
        #
        # TODO rename properly
        "verification_code",  # from code
        "event_organizers",  # from creator_id
    }

    if field == "date":
        val = event_card.event.date_time.strftime("%d.%m.%Y")
    elif field == "time":
        val = event_card.event.date_time.strftime("%H:%M")
    elif field == "code":  # once 'code' is renamed, this will be deleted
        val = event_card.event.verification_code
    elif field == "creator_id":  # once 'creator_id' is renamed, this will be deleted
        val = event_card.event.creator_id
    elif field in event_fields:
        val = getattr(event_card.event, field, None)
    elif field == "tags":
        val = ", ".join(tag.title for tag in event_card.tags) if event_card.tags else "-"
    elif field == "terbank":
        val = event_card.terbank.name
    elif field == "gosb":
        val = event_card.gosb.name
    else:
        val = getattr(event_card, field, None)

    return (
        ("\n" if len(str(val)) > 140 else "")
        + "_"
        + ("-" if val is None or val == "" else str(val)).replace("\n", "_\n_")
        + "_"
    )

Editor is loading...
Leave a Comment