[Plugin] schedule: Use utils to parse datetime
This commit is contained in:
parent
4da4c1ee01
commit
ac1189ecaa
|
@ -6,15 +6,14 @@ from datetime import datetime, timedelta, timezone
|
||||||
from http.client import NO_CONTENT, CREATED
|
from http.client import NO_CONTENT, CREATED
|
||||||
from flask import Blueprint, request, jsonify
|
from flask import Blueprint, request, jsonify
|
||||||
from werkzeug.exceptions import BadRequest, NotFound
|
from werkzeug.exceptions import BadRequest, NotFound
|
||||||
from backports.datetime_fromisoformat import MonkeyPatch
|
|
||||||
|
|
||||||
from flaschengeist.plugins import Plugin
|
from flaschengeist.plugins import Plugin
|
||||||
from flaschengeist.decorator import login_required
|
from flaschengeist.decorator import login_required
|
||||||
|
from flaschengeist.utils.datetime import from_iso_format
|
||||||
|
|
||||||
from . import event_controller, permissions
|
from . import event_controller, permissions
|
||||||
from . import models
|
from . import models
|
||||||
|
|
||||||
MonkeyPatch.patch_fromisoformat()
|
|
||||||
schedule_bp = Blueprint("schedule", __name__, url_prefix="/schedule")
|
schedule_bp = Blueprint("schedule", __name__, url_prefix="/schedule")
|
||||||
|
|
||||||
|
|
||||||
|
@ -214,8 +213,8 @@ def get_events(current_session, year=datetime.now().year, month=datetime.now().m
|
||||||
|
|
||||||
def _event_slot_from_data(data):
|
def _event_slot_from_data(data):
|
||||||
try:
|
try:
|
||||||
start = datetime.fromisoformat(data["start"]).replace(tzinfo=timezone.utc)
|
start = from_iso_format(data["start"])
|
||||||
end = datetime.fromisoformat(data["end"]).replace(tzinfo=timezone.utc) if "end" in data else None
|
end = from_iso_format(data["end"]) if "end" in data else None
|
||||||
# jobs = ...
|
# jobs = ...
|
||||||
except (NotFound, KeyError, ValueError):
|
except (NotFound, KeyError, ValueError):
|
||||||
raise BadRequest("Missing POST parameter")
|
raise BadRequest("Missing POST parameter")
|
||||||
|
@ -239,7 +238,7 @@ def create_event(current_session):
|
||||||
"""
|
"""
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
try:
|
try:
|
||||||
start = datetime.fromisoformat(data["start"]).replace(tzinfo=timezone.utc)
|
start = from_iso_format(data["start"])
|
||||||
event_type = event_controller.get_event_type(data["type"])
|
event_type = event_controller.get_event_type(data["type"])
|
||||||
except (NotFound, KeyError, ValueError):
|
except (NotFound, KeyError, ValueError):
|
||||||
raise BadRequest("Missing POST parameter")
|
raise BadRequest("Missing POST parameter")
|
||||||
|
@ -273,7 +272,7 @@ def modify_event(event_id, current_session):
|
||||||
event = event_controller.get_event(event_id)
|
event = event_controller.get_event(event_id)
|
||||||
data = request.get_json()
|
data = request.get_json()
|
||||||
if "start" in data:
|
if "start" in data:
|
||||||
event.start = datetime.fromisoformat(data["start"]).replace(tzinfo=timezone.utc)
|
event.start = from_iso_format(data["start"])
|
||||||
if "description" in data:
|
if "description" in data:
|
||||||
event.description = data["description"]
|
event.description = data["description"]
|
||||||
if "type" in data:
|
if "type" in data:
|
||||||
|
|
Loading…
Reference in New Issue