From 0c78a36be79b6171c4c6d287387a0173ae513f2e Mon Sep 17 00:00:00 2001
From: Dominik George <nik@naturalnet.de>
Date: Wed, 21 Aug 2019 23:46:49 +0200
Subject: [PATCH] Add type hints. Advances BiscuIT-ng#20.

---
 biscuit/apps/untis/util.py  | 10 ++++++----
 biscuit/apps/untis/views.py |  3 ++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/biscuit/apps/untis/util.py b/biscuit/apps/untis/util.py
index d7e6f2d..aff404d 100644
--- a/biscuit/apps/untis/util.py
+++ b/biscuit/apps/untis/util.py
@@ -1,6 +1,8 @@
 from datetime import date, time
-from xml.dom import minidom
+from typing import ByteIO, Optional
+from xml.dom import minidom, Node
 
+from django.http import HttpRequest
 from django.utils.translation import ugettext_lazy as _
 
 from biscuit.apps.chronos.models import Subject, TimePeriod, Room, Lesson
@@ -8,7 +10,7 @@ from biscuit.core.models import Group, Person
 from biscuit.core.util import messages
 
 
-def get_child_node_text(node, tag):
+def get_child_node_text(node: Node, tag: str) -> Optional[str]:
     tag_nodes = node.getElementsByTagName(tag)
 
     if len(tag_nodes) == 1:
@@ -17,7 +19,7 @@ def get_child_node_text(node, tag):
         return None
 
 
-def get_child_node_id(node, tag):
+def get_child_node_id(node: Node, tag: str) -> Optional[str]:
     tag_nodes = node.getElementsByTagName(tag)
 
     if len(tag_nodes) == 1:
@@ -26,7 +28,7 @@ def get_child_node_id(node, tag):
         return None
 
 
-def untis_import_xml(request, untis_xml):
+def untis_import_xml(request: HttpRequest, untis_xml: Union{ByteIO, str]) -> None:
     dom = minidom.parse(untis_xml)
 
     subjects = dom.getElementsByTagName('subject')
diff --git a/biscuit/apps/untis/views.py b/biscuit/apps/untis/views.py
index 67bed79..aab19ff 100644
--- a/biscuit/apps/untis/views.py
+++ b/biscuit/apps/untis/views.py
@@ -1,4 +1,5 @@
 from django.contrib.auth.decorators import login_required
+from django.http import HttpRequest, HttpResponse
 from django.shortcuts import render
 
 from .forms import UntisUploadForm
@@ -9,7 +10,7 @@ from biscuit.core.decorators import admin_required
 
 @login_required
 @admin_required
-def untis_import(request):
+def untis_import(request: HttpRequest) -> HttpResponse:
     context = {}
 
     upload_form = UntisUploadForm()
-- 
GitLab