add Base.as_dict() and Base.json()

Two utility functions for all of our ORM models that will
allow us to easily convert them to Python structures and
JSON data.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-06-13 10:48:31 -07:00
parent be3bab2ce0
commit bd8f528011
3 changed files with 57 additions and 0 deletions

View file

@ -3,6 +3,7 @@ import random
import re
import string
from datetime import datetime
from urllib.parse import urlparse
from email_validator import EmailNotValidError, EmailUndeliverableError, validate_email
@ -94,3 +95,10 @@ def account_url(context, user):
if request.url.scheme == "http" and request.url.port != 80:
base += f":{request.url.port}"
return f"{base}/account/{user.Username}"
def jsonify(obj):
""" Perform a conversion on obj if it's needed. """
if isinstance(obj, datetime):
obj = int(obj.timestamp())
return obj