First commit of the V2.

New base, new info.
This commit is contained in:
bglacial 2019-04-18 00:58:13 +02:00
parent 798ddf40e8
commit 698b6dd865
53 changed files with 394 additions and 5723 deletions

View File

@ -1 +0,0 @@
!coverage.py: This is a private format, don't read it directly!{"lines":{"/mnt/d/Dev/Applications/timelaps_api/manage.py":[2,3,5,6,7,8,22],"/mnt/d/Dev/Applications/timelaps_api/api/__init__.py":[1],"/mnt/d/Dev/Applications/timelaps_api/api/settings.py":[11,13,16,23,26,28,34,35,36,37,38,39,40,41,45,46,47,48,49,50,51,54,58,59,60,62,63,64,65,66,72,79,80,81,82,83,84,85,95,98,101,104,112,114,116,118,120,126],"/mnt/d/Dev/Applications/timelaps_api/timelaps/__init__.py":[1],"/mnt/d/Dev/Applications/timelaps_api/timelaps/models.py":[2,4,8,10,11,13,17,19,20,22,25,27,29,31,33,35,37,39,41,42,44,46,48,50,53,55,56,57,58,61,63,65,67,69,71,73],"/mnt/d/Dev/Applications/timelaps_api/timelaps/admin.py":[2,4,5,9,10,11,12,13,14],"/mnt/d/Dev/Applications/timelaps_api/timelaps/migrations/__init__.py":[1],"/mnt/d/Dev/Applications/timelaps_api/timelaps/tests.py":[2,4,7,8,9,10,11,48],"/mnt/d/Dev/Applications/timelaps_api/timelaps/serializers.py":[1,2,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,34,35,36,37,38,40,41,42,43,44],"/mnt/d/Dev/Applications/timelaps_api/timelaps/migrations/0001_initial.py":[3,4,7,9,11,15,16,18,19,20,23,24,26,27,28,31,32,34,35,36,37,38,39,42,43,45,46,47,48,49,50,51,54,55,57,58,59,60,61,62,65,66,68,69,70,73,74,75,76,78,79,80,81,83,84,85,86],"/mnt/d/Dev/Applications/timelaps_api/api/urls.py":[15,16,17,18,19,20,24,25],"/mnt/d/Dev/Applications/timelaps_api/timelaps/urls.py":[1,2,3,6,7,8,9,10,11,12],"/mnt/d/Dev/Applications/timelaps_api/timelaps/views.py":[2,4,5,6,7,12,15,16,17,19,20,21,23,24,25,27,28,29,31,32,33,35,36,37,39,40,41,63],"/mnt/d/Dev/Applications/timelaps_api/api/wsgi.py":[],"/mnt/d/Dev/Applications/timelaps_api/timelaps/apps.py":[]}}

28
.gitignore vendored
View File

@ -1,21 +1,9 @@
# Byte-compiled / optimized / DLL files
__pycache__/
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Django stuff:
*.log
local_settings.py
db.sqlite3
.idea
venv/
.env
.coverage
music/__pycache__/
music/migrations/__pycache__/
api/__pycache__/
music/tests/__pycache__/
music/views/__pycache__/

View File

@ -1,32 +1,37 @@
"""
Django settings for api project.
Generated by 'django-admin startproject' using Django 1.11.18.
Generated by 'django-admin startproject' using Django 2.0.3.
For more information on this file, see
https://docs.djangoproject.com/en/1.11/topics/settings/
https://docs.djangoproject.com/en/2.0/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.11/ref/settings/
https://docs.djangoproject.com/en/2.0/ref/settings/
"""
import os
import datetime
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'kn^0_9ho(9(gs)6c(z!@82s5=94ye$^6q&i4h57)ds61=7vsge'
SECRET_KEY = 'k@)#^s3*nig9+(4oxzykhcfxx3(lw8t)@hu%+-5)s@0zx^(5@o'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
ALLOWED_HOSTS = [
"web",
"127.0.0.1",
"localhost",
'timelaps-api.local',
'timelaps.local',
]
# Application definition
@ -38,12 +43,15 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'timelaps',
'corsheaders',
'music',
'timelaps'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
@ -71,24 +79,18 @@ TEMPLATES = [
WSGI_APPLICATION = 'api.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'timelaps2',
'USER': 'timelaps',
'PASSWORD': 'Dpz9jou99',
'HOST': '127.0.0.1',
'PORT': '5432',
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
@ -105,9 +107,59 @@ AUTH_PASSWORD_VALIDATORS = [
},
]
REST_FRAMEWORK = {
# When you enable API versioning, the request.version attribute will contain a string
# that corresponds to the version requested in the incoming client request.
'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.URLPathVersioning',
# Permission settings
'DEFAULT_PERMISSION_CLASSES': [
# 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
],
# Authentication settings
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.BasicAuthentication',
],
}
# JWT settings
JWT_AUTH = {
'JWT_ENCODE_HANDLER':
'rest_framework_jwt.utils.jwt_encode_handler',
'JWT_DECODE_HANDLER':
'rest_framework_jwt.utils.jwt_decode_handler',
'JWT_PAYLOAD_HANDLER':
'rest_framework_jwt.utils.jwt_payload_handler',
'JWT_PAYLOAD_GET_USER_ID_HANDLER':
'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler',
'JWT_RESPONSE_PAYLOAD_HANDLER':
'rest_framework_jwt.utils.jwt_response_payload_handler',
'JWT_SECRET_KEY': SECRET_KEY,
'JWT_GET_USER_SECRET_KEY': None,
'JWT_PUBLIC_KEY': None,
'JWT_PRIVATE_KEY': None,
'JWT_ALGORITHM': 'HS256',
'JWT_VERIFY': True,
'JWT_VERIFY_EXPIRATION': True,
'JWT_LEEWAY': 0,
'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=300),
'JWT_AUDIENCE': None,
'JWT_ISSUER': None,
'JWT_ALLOW_REFRESH': False,
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7),
'JWT_AUTH_HEADER_PREFIX': 'Bearer',
'JWT_AUTH_COOKIE': None,
}
# Internationalization
# https://docs.djangoproject.com/en/1.11/topics/i18n/
# https://docs.djangoproject.com/en/2.0/topics/i18n/
LANGUAGE_CODE = 'en-us'
@ -119,8 +171,24 @@ USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
# https://docs.djangoproject.com/en/2.0/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
# CORS Config
CORS_URLS_REGEX = r'^/api/v1/.*$'
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)

View File

@ -1,26 +1,11 @@
"""api URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from django.urls import path
from django.urls import re_path
from django.urls import include
from django.urls import path, include, re_path
from rest_framework_jwt.views import obtain_jwt_token
urlpatterns = [
url(r'^admin/', admin.site.urls),
re_path('api/', include('timelaps.urls'))
path('admin/', admin.site.urls),
path('api-token-auth/', obtain_jwt_token, name='create-token'),
re_path('api/(?P<version>(v1|v2))/', include('music.urls')),
re_path('api/(?P<version>(v1|v2))/', include('timelaps.urls'))
]

View File

@ -4,7 +4,7 @@ WSGI config for api project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/
"""
import os

View File

@ -1 +0,0 @@
[{"model": "timelaps.team", "pk": 1, "fields": {"name": "OCK 1", "comment": null}}, {"model": "timelaps.team", "pk": 2, "fields": {"name": "OCK 2", "comment": null}}, {"model": "timelaps.driver", "pk": 1, "fields": {"first_name": "Nicolas", "last_name": "Riault"}}, {"model": "timelaps.driver", "pk": 2, "fields": {"first_name": "Julien", "last_name": "Roger"}}, {"model": "timelaps.rules", "pk": 1, "fields": {"min_stand_duration": 90, "max_autonomy_dry": 120, "max_autonomy_wet": 160, "max_driving_duration": 150, "relay_default_duration": 45}}, {"model": "timelaps.race", "pk": 1, "fields": {"name": "1000 Tours du mans", "start_date": "2019-01-25T16:00:00Z", "end_date": "2019-01-24T16:00:00Z", "duration": 64800, "fk_rules": 1, "comment": "A priori on gagne"}}, {"model": "timelaps.engagedpilot", "pk": 1, "fields": {"team": 1, "pilot": 1, "race": 1, "order": 0}}, {"model": "timelaps.engagedpilot", "pk": 2, "fields": {"team": 1, "pilot": 2, "race": 1, "order": 1}}, {"model": "timelaps.relay", "pk": 1, "fields": {"team_pilot": 1, "relay_start": "2019-01-25T16:00:00Z", "relay_end": null, "has_refuel": true, "pilot_chrono": 62, "comment": null}}]

View File

@ -1,89 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for api/__init__.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>api/__init__.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
0 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">0 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
</td>
<td class="text">
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,341 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for api/settings.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>api/settings.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
18 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">18 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="stm run hide_run"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="stm run hide_run"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="pln"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="pln"><a href="#n35">35</a></p>
<p id="n36" class="pln"><a href="#n36">36</a></p>
<p id="n37" class="pln"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="pln"><a href="#n39">39</a></p>
<p id="n40" class="pln"><a href="#n40">40</a></p>
<p id="n41" class="pln"><a href="#n41">41</a></p>
<p id="n42" class="pln"><a href="#n42">42</a></p>
<p id="n43" class="pln"><a href="#n43">43</a></p>
<p id="n44" class="stm run hide_run"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
<p id="n46" class="pln"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="pln"><a href="#n48">48</a></p>
<p id="n49" class="pln"><a href="#n49">49</a></p>
<p id="n50" class="pln"><a href="#n50">50</a></p>
<p id="n51" class="pln"><a href="#n51">51</a></p>
<p id="n52" class="pln"><a href="#n52">52</a></p>
<p id="n53" class="pln"><a href="#n53">53</a></p>
<p id="n54" class="stm run hide_run"><a href="#n54">54</a></p>
<p id="n55" class="pln"><a href="#n55">55</a></p>
<p id="n56" class="stm run hide_run"><a href="#n56">56</a></p>
<p id="n57" class="pln"><a href="#n57">57</a></p>
<p id="n58" class="pln"><a href="#n58">58</a></p>
<p id="n59" class="pln"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
<p id="n61" class="pln"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="pln"><a href="#n63">63</a></p>
<p id="n64" class="pln"><a href="#n64">64</a></p>
<p id="n65" class="pln"><a href="#n65">65</a></p>
<p id="n66" class="pln"><a href="#n66">66</a></p>
<p id="n67" class="pln"><a href="#n67">67</a></p>
<p id="n68" class="pln"><a href="#n68">68</a></p>
<p id="n69" class="pln"><a href="#n69">69</a></p>
<p id="n70" class="pln"><a href="#n70">70</a></p>
<p id="n71" class="pln"><a href="#n71">71</a></p>
<p id="n72" class="stm run hide_run"><a href="#n72">72</a></p>
<p id="n73" class="pln"><a href="#n73">73</a></p>
<p id="n74" class="pln"><a href="#n74">74</a></p>
<p id="n75" class="pln"><a href="#n75">75</a></p>
<p id="n76" class="pln"><a href="#n76">76</a></p>
<p id="n77" class="pln"><a href="#n77">77</a></p>
<p id="n78" class="stm run hide_run"><a href="#n78">78</a></p>
<p id="n79" class="pln"><a href="#n79">79</a></p>
<p id="n80" class="pln"><a href="#n80">80</a></p>
<p id="n81" class="pln"><a href="#n81">81</a></p>
<p id="n82" class="pln"><a href="#n82">82</a></p>
<p id="n83" class="pln"><a href="#n83">83</a></p>
<p id="n84" class="pln"><a href="#n84">84</a></p>
<p id="n85" class="pln"><a href="#n85">85</a></p>
<p id="n86" class="pln"><a href="#n86">86</a></p>
<p id="n87" class="pln"><a href="#n87">87</a></p>
<p id="n88" class="pln"><a href="#n88">88</a></p>
<p id="n89" class="pln"><a href="#n89">89</a></p>
<p id="n90" class="pln"><a href="#n90">90</a></p>
<p id="n91" class="pln"><a href="#n91">91</a></p>
<p id="n92" class="pln"><a href="#n92">92</a></p>
<p id="n93" class="stm run hide_run"><a href="#n93">93</a></p>
<p id="n94" class="pln"><a href="#n94">94</a></p>
<p id="n95" class="pln"><a href="#n95">95</a></p>
<p id="n96" class="pln"><a href="#n96">96</a></p>
<p id="n97" class="pln"><a href="#n97">97</a></p>
<p id="n98" class="pln"><a href="#n98">98</a></p>
<p id="n99" class="pln"><a href="#n99">99</a></p>
<p id="n100" class="pln"><a href="#n100">100</a></p>
<p id="n101" class="pln"><a href="#n101">101</a></p>
<p id="n102" class="pln"><a href="#n102">102</a></p>
<p id="n103" class="pln"><a href="#n103">103</a></p>
<p id="n104" class="pln"><a href="#n104">104</a></p>
<p id="n105" class="pln"><a href="#n105">105</a></p>
<p id="n106" class="pln"><a href="#n106">106</a></p>
<p id="n107" class="pln"><a href="#n107">107</a></p>
<p id="n108" class="pln"><a href="#n108">108</a></p>
<p id="n109" class="pln"><a href="#n109">109</a></p>
<p id="n110" class="pln"><a href="#n110">110</a></p>
<p id="n111" class="pln"><a href="#n111">111</a></p>
<p id="n112" class="stm run hide_run"><a href="#n112">112</a></p>
<p id="n113" class="pln"><a href="#n113">113</a></p>
<p id="n114" class="stm run hide_run"><a href="#n114">114</a></p>
<p id="n115" class="pln"><a href="#n115">115</a></p>
<p id="n116" class="stm run hide_run"><a href="#n116">116</a></p>
<p id="n117" class="pln"><a href="#n117">117</a></p>
<p id="n118" class="stm run hide_run"><a href="#n118">118</a></p>
<p id="n119" class="pln"><a href="#n119">119</a></p>
<p id="n120" class="stm run hide_run"><a href="#n120">120</a></p>
<p id="n121" class="pln"><a href="#n121">121</a></p>
<p id="n122" class="pln"><a href="#n122">122</a></p>
<p id="n123" class="pln"><a href="#n123">123</a></p>
<p id="n124" class="pln"><a href="#n124">124</a></p>
<p id="n125" class="pln"><a href="#n125">125</a></p>
<p id="n126" class="stm run hide_run"><a href="#n126">126</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="str">Django settings for api project.</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="str">Generated by 'django-admin startproject' using Django 1.11.18.</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="str">For more information on this file, see</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="str">https://docs.djangoproject.com/en/1.11/topics/settings/</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"><span class="str">For the full list of settings and their values, see</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"><span class="str">https://docs.djangoproject.com/en/1.11/ref/settings/</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"><span class="key">import</span> <span class="nam">os</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="com"># Build paths inside the project like this: os.path.join(BASE_DIR, ...)</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm run hide_run"><span class="nam">BASE_DIR</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">dirname</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">dirname</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">abspath</span><span class="op">(</span><span class="nam">__file__</span><span class="op">)</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"><span class="com"># Quick-start development settings - unsuitable for production</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"><span class="com"># See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"><span class="com"># SECURITY WARNING: keep the secret key used in production secret!</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="stm run hide_run"><span class="nam">SECRET_KEY</span> <span class="op">=</span> <span class="str">'kn^0_9ho(9(gs)6c(z!@82s5=94ye$^6q&amp;i4h57)ds61=7vsge'</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"><span class="com"># SECURITY WARNING: don't run with debug turned on in production!</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="stm run hide_run"><span class="nam">DEBUG</span> <span class="op">=</span> <span class="key">True</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t28" class="stm run hide_run"><span class="nam">ALLOWED_HOSTS</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t31" class="pln"><span class="com"># Application definition</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t33" class="stm run hide_run"><span class="nam">INSTALLED_APPS</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"> <span class="str">'django.contrib.admin'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t35" class="pln"> <span class="str">'django.contrib.auth'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="pln"> <span class="str">'django.contrib.contenttypes'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="pln"> <span class="str">'django.contrib.sessions'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"> <span class="str">'django.contrib.messages'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="pln"> <span class="str">'django.contrib.staticfiles'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="pln"> <span class="str">'rest_framework'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="pln"> <span class="str">'timelaps'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t44" class="stm run hide_run"><span class="nam">MIDDLEWARE</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"> <span class="str">'django.middleware.security.SecurityMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t46" class="pln"> <span class="str">'django.contrib.sessions.middleware.SessionMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"> <span class="str">'django.middleware.common.CommonMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t48" class="pln"> <span class="str">'django.middleware.csrf.CsrfViewMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t49" class="pln"> <span class="str">'django.contrib.auth.middleware.AuthenticationMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t50" class="pln"> <span class="str">'django.contrib.messages.middleware.MessageMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t51" class="pln"> <span class="str">'django.middleware.clickjacking.XFrameOptionsMiddleware'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t52" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t53" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t54" class="stm run hide_run"><span class="nam">ROOT_URLCONF</span> <span class="op">=</span> <span class="str">'api.urls'</span><span class="strut">&nbsp;</span></p>
<p id="t55" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t56" class="stm run hide_run"><span class="nam">TEMPLATES</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="pln"> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t58" class="pln"> <span class="str">'BACKEND'</span><span class="op">:</span> <span class="str">'django.template.backends.django.DjangoTemplates'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="pln"> <span class="str">'DIRS'</span><span class="op">:</span> <span class="op">[</span><span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln"> <span class="str">'APP_DIRS'</span><span class="op">:</span> <span class="key">True</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t61" class="pln"> <span class="str">'OPTIONS'</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"> <span class="str">'context_processors'</span><span class="op">:</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t63" class="pln"> <span class="str">'django.template.context_processors.debug'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t64" class="pln"> <span class="str">'django.template.context_processors.request'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t65" class="pln"> <span class="str">'django.contrib.auth.context_processors.auth'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t66" class="pln"> <span class="str">'django.contrib.messages.context_processors.messages'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t67" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t68" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t69" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t70" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t71" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t72" class="stm run hide_run"><span class="nam">WSGI_APPLICATION</span> <span class="op">=</span> <span class="str">'api.wsgi.application'</span><span class="strut">&nbsp;</span></p>
<p id="t73" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t74" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t75" class="pln"><span class="com"># Database</span><span class="strut">&nbsp;</span></p>
<p id="t76" class="pln"><span class="com"># https://docs.djangoproject.com/en/1.11/ref/settings/#databases</span><span class="strut">&nbsp;</span></p>
<p id="t77" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t78" class="stm run hide_run"><span class="nam">DATABASES</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t79" class="pln"> <span class="str">'default'</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t80" class="pln"> <span class="str">'ENGINE'</span><span class="op">:</span> <span class="str">'django.db.backends.postgresql_psycopg2'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t81" class="pln"> <span class="str">'NAME'</span><span class="op">:</span> <span class="str">'timelaps2'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t82" class="pln"> <span class="str">'USER'</span><span class="op">:</span> <span class="str">'timelaps'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t83" class="pln"> <span class="str">'PASSWORD'</span><span class="op">:</span> <span class="str">'Dpz9jou99'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t84" class="pln"> <span class="str">'HOST'</span><span class="op">:</span> <span class="str">'127.0.0.1'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t85" class="pln"> <span class="str">'PORT'</span><span class="op">:</span> <span class="str">'5432'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t86" class="pln"> <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t87" class="pln"><span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t88" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t89" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t90" class="pln"><span class="com"># Password validation</span><span class="strut">&nbsp;</span></p>
<p id="t91" class="pln"><span class="com"># https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators</span><span class="strut">&nbsp;</span></p>
<p id="t92" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t93" class="stm run hide_run"><span class="nam">AUTH_PASSWORD_VALIDATORS</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t94" class="pln"> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t95" class="pln"> <span class="str">'NAME'</span><span class="op">:</span> <span class="str">'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t96" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t97" class="pln"> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t98" class="pln"> <span class="str">'NAME'</span><span class="op">:</span> <span class="str">'django.contrib.auth.password_validation.MinimumLengthValidator'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t99" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t100" class="pln"> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t101" class="pln"> <span class="str">'NAME'</span><span class="op">:</span> <span class="str">'django.contrib.auth.password_validation.CommonPasswordValidator'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t102" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t103" class="pln"> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t104" class="pln"> <span class="str">'NAME'</span><span class="op">:</span> <span class="str">'django.contrib.auth.password_validation.NumericPasswordValidator'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t105" class="pln"> <span class="op">}</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t106" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t107" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t108" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t109" class="pln"><span class="com"># Internationalization</span><span class="strut">&nbsp;</span></p>
<p id="t110" class="pln"><span class="com"># https://docs.djangoproject.com/en/1.11/topics/i18n/</span><span class="strut">&nbsp;</span></p>
<p id="t111" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t112" class="stm run hide_run"><span class="nam">LANGUAGE_CODE</span> <span class="op">=</span> <span class="str">'en-us'</span><span class="strut">&nbsp;</span></p>
<p id="t113" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t114" class="stm run hide_run"><span class="nam">TIME_ZONE</span> <span class="op">=</span> <span class="str">'UTC'</span><span class="strut">&nbsp;</span></p>
<p id="t115" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t116" class="stm run hide_run"><span class="nam">USE_I18N</span> <span class="op">=</span> <span class="key">True</span><span class="strut">&nbsp;</span></p>
<p id="t117" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t118" class="stm run hide_run"><span class="nam">USE_L10N</span> <span class="op">=</span> <span class="key">True</span><span class="strut">&nbsp;</span></p>
<p id="t119" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t120" class="stm run hide_run"><span class="nam">USE_TZ</span> <span class="op">=</span> <span class="key">True</span><span class="strut">&nbsp;</span></p>
<p id="t121" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t122" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t123" class="pln"><span class="com"># Static files (CSS, JavaScript, Images)</span><span class="strut">&nbsp;</span></p>
<p id="t124" class="pln"><span class="com"># https://docs.djangoproject.com/en/1.11/howto/static-files/</span><span class="strut">&nbsp;</span></p>
<p id="t125" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t126" class="stm run hide_run"><span class="nam">STATIC_URL</span> <span class="op">=</span> <span class="str">'/static/'</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

141
htmlcov/api_urls_py.html generated
View File

@ -1,141 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for api/urls.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>api/urls.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
6 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">6 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
<p id="n17" class="stm run hide_run"><a href="#n17">17</a></p>
<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="str">"""api URL Configuration</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="str">The `urlpatterns` list routes URLs to views. For more information please see:</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="str"> https://docs.djangoproject.com/en/1.11/topics/http/urls/</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="str">Examples:</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="str">Function views</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="str"> 1. Add an import: from my_app import views</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="str"> 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"><span class="str">Class-based views</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"><span class="str"> 1. Add an import: from other_app.views import Home</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="str"> 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="str">Including another URLconf</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"><span class="str"> 1. Import the include() function: from django.conf.urls import url, include</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"><span class="str"> 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">conf</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">url</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">contrib</span> <span class="key">import</span> <span class="nam">admin</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">path</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">re_path</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">include</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t23" class="stm run hide_run"><span class="nam">urlpatterns</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">url</span><span class="op">(</span><span class="str">r'^admin/'</span><span class="op">,</span> <span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">urls</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">re_path</span><span class="op">(</span><span class="str">'api/'</span><span class="op">,</span> <span class="nam">include</span><span class="op">(</span><span class="str">'timelaps.urls'</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

121
htmlcov/api_wsgi_py.html generated
View File

@ -1,121 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for api/wsgi.py: 0%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>api/wsgi.py</b> :
<span class="pc_cov">0%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">0 run</span>
<span class="mis shortkey_m button_toggle_mis">4 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="stm mis"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm mis"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="stm mis"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="stm mis"><a href="#n16">16</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="str">WSGI config for api project.</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="str">It exposes the WSGI callable as a module-level variable named ``application``.</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="str">For more information on this file, see</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="str">https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t10" class="stm mis"><span class="key">import</span> <span class="nam">os</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm mis"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">core</span><span class="op">.</span><span class="nam">wsgi</span> <span class="key">import</span> <span class="nam">get_wsgi_application</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm mis"><span class="nam">os</span><span class="op">.</span><span class="nam">environ</span><span class="op">.</span><span class="nam">setdefault</span><span class="op">(</span><span class="str">"DJANGO_SETTINGS_MODULE"</span><span class="op">,</span> <span class="str">"api.settings"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm mis"><span class="nam">application</span> <span class="op">=</span> <span class="nam">get_wsgi_application</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

584
htmlcov/coverage_html.js generated
View File

@ -1,584 +0,0 @@
// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
// For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
// Coverage.py HTML report browser code.
/*jslint browser: true, sloppy: true, vars: true, plusplus: true, maxerr: 50, indent: 4 */
/*global coverage: true, document, window, $ */
coverage = {};
// Find all the elements with shortkey_* class, and use them to assign a shortcut key.
coverage.assign_shortkeys = function () {
$("*[class*='shortkey_']").each(function (i, e) {
$.each($(e).attr("class").split(" "), function (i, c) {
if (/^shortkey_/.test(c)) {
$(document).bind('keydown', c.substr(9), function () {
$(e).click();
});
}
});
});
};
// Create the events for the help panel.
coverage.wire_up_help_panel = function () {
$("#keyboard_icon").click(function () {
// Show the help panel, and position it so the keyboard icon in the
// panel is in the same place as the keyboard icon in the header.
$(".help_panel").show();
var koff = $("#keyboard_icon").offset();
var poff = $("#panel_icon").position();
$(".help_panel").offset({
top: koff.top-poff.top,
left: koff.left-poff.left
});
});
$("#panel_icon").click(function () {
$(".help_panel").hide();
});
};
// Create the events for the filter box.
coverage.wire_up_filter = function () {
// Cache elements.
var table = $("table.index");
var table_rows = table.find("tbody tr");
var table_row_names = table_rows.find("td.name a");
var no_rows = $("#no_rows");
// Create a duplicate table footer that we can modify with dynamic summed values.
var table_footer = $("table.index tfoot tr");
var table_dynamic_footer = table_footer.clone();
table_dynamic_footer.attr('class', 'total_dynamic hidden');
table_footer.after(table_dynamic_footer);
// Observe filter keyevents.
$("#filter").on("keyup change", $.debounce(150, function (event) {
var filter_value = $(this).val();
if (filter_value === "") {
// Filter box is empty, remove all filtering.
table_rows.removeClass("hidden");
// Show standard footer, hide dynamic footer.
table_footer.removeClass("hidden");
table_dynamic_footer.addClass("hidden");
// Hide placeholder, show table.
if (no_rows.length > 0) {
no_rows.hide();
}
table.show();
}
else {
// Filter table items by value.
var hidden = 0;
var shown = 0;
// Hide / show elements.
$.each(table_row_names, function () {
var element = $(this).parents("tr");
if ($(this).text().indexOf(filter_value) === -1) {
// hide
element.addClass("hidden");
hidden++;
}
else {
// show
element.removeClass("hidden");
shown++;
}
});
// Show placeholder if no rows will be displayed.
if (no_rows.length > 0) {
if (shown === 0) {
// Show placeholder, hide table.
no_rows.show();
table.hide();
}
else {
// Hide placeholder, show table.
no_rows.hide();
table.show();
}
}
// Manage dynamic header:
if (hidden > 0) {
// Calculate new dynamic sum values based on visible rows.
for (var column = 2; column < 20; column++) {
// Calculate summed value.
var cells = table_rows.find('td:nth-child(' + column + ')');
if (!cells.length) {
// No more columns...!
break;
}
var sum = 0, numer = 0, denom = 0;
$.each(cells.filter(':visible'), function () {
var ratio = $(this).data("ratio");
if (ratio) {
var splitted = ratio.split(" ");
numer += parseInt(splitted[0], 10);
denom += parseInt(splitted[1], 10);
}
else {
sum += parseInt(this.innerHTML, 10);
}
});
// Get footer cell element.
var footer_cell = table_dynamic_footer.find('td:nth-child(' + column + ')');
// Set value into dynamic footer cell element.
if (cells[0].innerHTML.indexOf('%') > -1) {
// Percentage columns use the numerator and denominator,
// and adapt to the number of decimal places.
var match = /\.([0-9]+)/.exec(cells[0].innerHTML);
var places = 0;
if (match) {
places = match[1].length;
}
var pct = numer * 100 / denom;
footer_cell.text(pct.toFixed(places) + '%');
}
else {
footer_cell.text(sum);
}
}
// Hide standard footer, show dynamic footer.
table_footer.addClass("hidden");
table_dynamic_footer.removeClass("hidden");
}
else {
// Show standard footer, hide dynamic footer.
table_footer.removeClass("hidden");
table_dynamic_footer.addClass("hidden");
}
}
}));
// Trigger change event on setup, to force filter on page refresh
// (filter value may still be present).
$("#filter").trigger("change");
};
// Loaded on index.html
coverage.index_ready = function ($) {
// Look for a cookie containing previous sort settings:
var sort_list = [];
var cookie_name = "COVERAGE_INDEX_SORT";
var i;
// This almost makes it worth installing the jQuery cookie plugin:
if (document.cookie.indexOf(cookie_name) > -1) {
var cookies = document.cookie.split(";");
for (i = 0; i < cookies.length; i++) {
var parts = cookies[i].split("=");
if ($.trim(parts[0]) === cookie_name && parts[1]) {
sort_list = eval("[[" + parts[1] + "]]");
break;
}
}
}
// Create a new widget which exists only to save and restore
// the sort order:
$.tablesorter.addWidget({
id: "persistentSort",
// Format is called by the widget before displaying:
format: function (table) {
if (table.config.sortList.length === 0 && sort_list.length > 0) {
// This table hasn't been sorted before - we'll use
// our stored settings:
$(table).trigger('sorton', [sort_list]);
}
else {
// This is not the first load - something has
// already defined sorting so we'll just update
// our stored value to match:
sort_list = table.config.sortList;
}
}
});
// Configure our tablesorter to handle the variable number of
// columns produced depending on report options:
var headers = [];
var col_count = $("table.index > thead > tr > th").length;
headers[0] = { sorter: 'text' };
for (i = 1; i < col_count-1; i++) {
headers[i] = { sorter: 'digit' };
}
headers[col_count-1] = { sorter: 'percent' };
// Enable the table sorter:
$("table.index").tablesorter({
widgets: ['persistentSort'],
headers: headers
});
coverage.assign_shortkeys();
coverage.wire_up_help_panel();
coverage.wire_up_filter();
// Watch for page unload events so we can save the final sort settings:
$(window).unload(function () {
document.cookie = cookie_name + "=" + sort_list.toString() + "; path=/";
});
};
// -- pyfile stuff --
coverage.pyfile_ready = function ($) {
// If we're directed to a particular line number, highlight the line.
var frag = location.hash;
if (frag.length > 2 && frag[1] === 'n') {
$(frag).addClass('highlight');
coverage.set_sel(parseInt(frag.substr(2), 10));
}
else {
coverage.set_sel(0);
}
$(document)
.bind('keydown', 'j', coverage.to_next_chunk_nicely)
.bind('keydown', 'k', coverage.to_prev_chunk_nicely)
.bind('keydown', '0', coverage.to_top)
.bind('keydown', '1', coverage.to_first_chunk)
;
$(".button_toggle_run").click(function (evt) {coverage.toggle_lines(evt.target, "run");});
$(".button_toggle_exc").click(function (evt) {coverage.toggle_lines(evt.target, "exc");});
$(".button_toggle_mis").click(function (evt) {coverage.toggle_lines(evt.target, "mis");});
$(".button_toggle_par").click(function (evt) {coverage.toggle_lines(evt.target, "par");});
coverage.assign_shortkeys();
coverage.wire_up_help_panel();
coverage.init_scroll_markers();
// Rebuild scroll markers after window high changing
$(window).resize(coverage.resize_scroll_markers);
};
coverage.toggle_lines = function (btn, cls) {
btn = $(btn);
var hide = "hide_"+cls;
if (btn.hasClass(hide)) {
$("#source ."+cls).removeClass(hide);
btn.removeClass(hide);
}
else {
$("#source ."+cls).addClass(hide);
btn.addClass(hide);
}
};
// Return the nth line div.
coverage.line_elt = function (n) {
return $("#t" + n);
};
// Return the nth line number div.
coverage.num_elt = function (n) {
return $("#n" + n);
};
// Return the container of all the code.
coverage.code_container = function () {
return $(".linenos");
};
// Set the selection. b and e are line numbers.
coverage.set_sel = function (b, e) {
// The first line selected.
coverage.sel_begin = b;
// The next line not selected.
coverage.sel_end = (e === undefined) ? b+1 : e;
};
coverage.to_top = function () {
coverage.set_sel(0, 1);
coverage.scroll_window(0);
};
coverage.to_first_chunk = function () {
coverage.set_sel(0, 1);
coverage.to_next_chunk();
};
coverage.is_transparent = function (color) {
// Different browsers return different colors for "none".
return color === "transparent" || color === "rgba(0, 0, 0, 0)";
};
coverage.to_next_chunk = function () {
var c = coverage;
// Find the start of the next colored chunk.
var probe = c.sel_end;
var color, probe_line;
while (true) {
probe_line = c.line_elt(probe);
if (probe_line.length === 0) {
return;
}
color = probe_line.css("background-color");
if (!c.is_transparent(color)) {
break;
}
probe++;
}
// There's a next chunk, `probe` points to it.
var begin = probe;
// Find the end of this chunk.
var next_color = color;
while (next_color === color) {
probe++;
probe_line = c.line_elt(probe);
next_color = probe_line.css("background-color");
}
c.set_sel(begin, probe);
c.show_selection();
};
coverage.to_prev_chunk = function () {
var c = coverage;
// Find the end of the prev colored chunk.
var probe = c.sel_begin-1;
var probe_line = c.line_elt(probe);
if (probe_line.length === 0) {
return;
}
var color = probe_line.css("background-color");
while (probe > 0 && c.is_transparent(color)) {
probe--;
probe_line = c.line_elt(probe);
if (probe_line.length === 0) {
return;
}
color = probe_line.css("background-color");
}
// There's a prev chunk, `probe` points to its last line.
var end = probe+1;
// Find the beginning of this chunk.
var prev_color = color;
while (prev_color === color) {
probe--;
probe_line = c.line_elt(probe);
prev_color = probe_line.css("background-color");
}
c.set_sel(probe+1, end);
c.show_selection();
};
// Return the line number of the line nearest pixel position pos
coverage.line_at_pos = function (pos) {
var l1 = coverage.line_elt(1),
l2 = coverage.line_elt(2),
result;
if (l1.length && l2.length) {
var l1_top = l1.offset().top,
line_height = l2.offset().top - l1_top,
nlines = (pos - l1_top) / line_height;
if (nlines < 1) {
result = 1;
}
else {
result = Math.ceil(nlines);
}
}
else {
result = 1;
}
return result;
};
// Returns 0, 1, or 2: how many of the two ends of the selection are on
// the screen right now?
coverage.selection_ends_on_screen = function () {
if (coverage.sel_begin === 0) {
return 0;
}
var top = coverage.line_elt(coverage.sel_begin);
var next = coverage.line_elt(coverage.sel_end-1);
return (
(top.isOnScreen() ? 1 : 0) +
(next.isOnScreen() ? 1 : 0)
);
};
coverage.to_next_chunk_nicely = function () {
coverage.finish_scrolling();
if (coverage.selection_ends_on_screen() === 0) {
// The selection is entirely off the screen: select the top line on
// the screen.
var win = $(window);
coverage.select_line_or_chunk(coverage.line_at_pos(win.scrollTop()));
}
coverage.to_next_chunk();
};
coverage.to_prev_chunk_nicely = function () {
coverage.finish_scrolling();
if (coverage.selection_ends_on_screen() === 0) {
var win = $(window);
coverage.select_line_or_chunk(coverage.line_at_pos(win.scrollTop() + win.height()));
}
coverage.to_prev_chunk();
};
// Select line number lineno, or if it is in a colored chunk, select the
// entire chunk
coverage.select_line_or_chunk = function (lineno) {
var c = coverage;
var probe_line = c.line_elt(lineno);
if (probe_line.length === 0) {
return;
}
var the_color = probe_line.css("background-color");
if (!c.is_transparent(the_color)) {
// The line is in a highlighted chunk.
// Search backward for the first line.
var probe = lineno;
var color = the_color;
while (probe > 0 && color === the_color) {
probe--;
probe_line = c.line_elt(probe);
if (probe_line.length === 0) {
break;
}
color = probe_line.css("background-color");
}
var begin = probe + 1;
// Search forward for the last line.
probe = lineno;
color = the_color;
while (color === the_color) {
probe++;
probe_line = c.line_elt(probe);
color = probe_line.css("background-color");
}
coverage.set_sel(begin, probe);
}
else {
coverage.set_sel(lineno);
}
};
coverage.show_selection = function () {
var c = coverage;
// Highlight the lines in the chunk
c.code_container().find(".highlight").removeClass("highlight");
for (var probe = c.sel_begin; probe > 0 && probe < c.sel_end; probe++) {
c.num_elt(probe).addClass("highlight");
}
c.scroll_to_selection();
};
coverage.scroll_to_selection = function () {
// Scroll the page if the chunk isn't fully visible.
if (coverage.selection_ends_on_screen() < 2) {
// Need to move the page. The html,body trick makes it scroll in all
// browsers, got it from http://stackoverflow.com/questions/3042651
var top = coverage.line_elt(coverage.sel_begin);
var top_pos = parseInt(top.offset().top, 10);
coverage.scroll_window(top_pos - 30);
}
};
coverage.scroll_window = function (to_pos) {
$("html,body").animate({scrollTop: to_pos}, 200);
};
coverage.finish_scrolling = function () {
$("html,body").stop(true, true);
};
coverage.init_scroll_markers = function () {
var c = coverage;
// Init some variables
c.lines_len = $('td.text p').length;
c.body_h = $('body').height();
c.header_h = $('div#header').height();
c.missed_lines = $('td.text p.mis, td.text p.par');
// Build html
c.resize_scroll_markers();
};
coverage.resize_scroll_markers = function () {
var c = coverage,
min_line_height = 3,
max_line_height = 10,
visible_window_h = $(window).height();
$('#scroll_marker').remove();
// Don't build markers if the window has no scroll bar.
if (c.body_h <= visible_window_h) {
return;
}
$("body").append("<div id='scroll_marker'>&nbsp;</div>");
var scroll_marker = $('#scroll_marker'),
marker_scale = scroll_marker.height() / c.body_h,
line_height = scroll_marker.height() / c.lines_len;
// Line height must be between the extremes.
if (line_height > min_line_height) {
if (line_height > max_line_height) {
line_height = max_line_height;
}
}
else {
line_height = min_line_height;
}
var previous_line = -99,
last_mark,
last_top;
c.missed_lines.each(function () {
var line_top = Math.round($(this).offset().top * marker_scale),
id_name = $(this).attr('id'),
line_number = parseInt(id_name.substring(1, id_name.length));
if (line_number === previous_line + 1) {
// If this solid missed block just make previous mark higher.
last_mark.css({
'height': line_top + line_height - last_top
});
}
else {
// Add colored line in scroll_marker block.
scroll_marker.append('<div id="m' + line_number + '" class="marker"></div>');
last_mark = $('#m' + line_number);
last_mark.css({
'height': line_height,
'top': line_top
});
last_top = line_top;
}
previous_line = line_number;
});
};

230
htmlcov/index.html generated
View File

@ -1,230 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Coverage report</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.ba-throttle-debounce.min.js"></script>
<script type="text/javascript" src="jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.index_ready);
</script>
</head>
<body class="indexfile">
<div id="header">
<div class="content">
<h1>Coverage report:
<span class="pc_cov">89%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<form id="filter_container">
<input id="filter" type="text" value="" placeholder="filter..." />
</form>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">n</span>
<span class="key">s</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">c</span> &nbsp; change column sorting
</p>
</div>
</div>
<div id="index">
<table class="index">
<thead>
<tr class="tablehead" title="Click to sort">
<th class="name left headerSortDown shortkey_n">Module</th>
<th class="shortkey_s">statements</th>
<th class="shortkey_m">missing</th>
<th class="shortkey_x">excluded</th>
<th class="right shortkey_c">coverage</th>
</tr>
</thead>
<tfoot>
<tr class="total">
<td class="name left">Total</td>
<td>176</td>
<td>19</td>
<td>0</td>
<td class="right" data-ratio="157 176">89%</td>
</tr>
</tfoot>
<tbody>
<tr class="file">
<td class="name left"><a href="api___init___py.html">api/__init__.py</a></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="0 0">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="api_settings_py.html">api/settings.py</a></td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="18 18">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="api_urls_py.html">api/urls.py</a></td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="6 6">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="api_wsgi_py.html">api/wsgi.py</a></td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="right" data-ratio="0 4">0%</td>
</tr>
<tr class="file">
<td class="name left"><a href="manage_py.html">manage.py</a></td>
<td>13</td>
<td>6</td>
<td>0</td>
<td class="right" data-ratio="7 13">54%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps___init___py.html">timelaps/__init__.py</a></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="0 0">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_admin_py.html">timelaps/admin.py</a></td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="9 9">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_apps_py.html">timelaps/apps.py</a></td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="right" data-ratio="0 4">0%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_migrations_0001_initial_py.html">timelaps/migrations/0001_initial.py</a></td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="6 6">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_migrations___init___py.html">timelaps/migrations/__init__.py</a></td>
<td>0</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="0 0">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_models_py.html">timelaps/models.py</a></td>
<td>39</td>
<td>3</td>
<td>0</td>
<td class="right" data-ratio="36 39">92%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_serializers_py.html">timelaps/serializers.py</a></td>
<td>36</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="36 36">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_tests_py.html">timelaps/tests.py</a></td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="8 8">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_urls_py.html">timelaps/urls.py</a></td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="right" data-ratio="4 4">100%</td>
</tr>
<tr class="file">
<td class="name left"><a href="timelaps_views_py.html">timelaps/views.py</a></td>
<td>29</td>
<td>2</td>
<td>0</td>
<td class="right" data-ratio="27 29">93%</td>
</tr>
</tbody>
</table>
<p id="no_rows">
No items found using the specified filter.
</p>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:14
</p>
</div>
</div>
</body>
</html>

View File

@ -1,9 +0,0 @@
/*
* jQuery throttle / debounce - v1.1 - 3/7/2010
* http://benalman.com/projects/jquery-throttle-debounce-plugin/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);

View File

@ -1,99 +0,0 @@
/*
* jQuery Hotkeys Plugin
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Based upon the plugin by Tzury Bar Yochay:
* http://github.com/tzuryby/hotkeys
*
* Original idea by:
* Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/
*/
(function(jQuery){
jQuery.hotkeys = {
version: "0.8",
specialKeys: {
8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause",
20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home",
37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del",
96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7",
104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111 : "/",
112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8",
120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 191: "/", 224: "meta"
},
shiftNums: {
"`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&",
"8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<",
".": ">", "/": "?", "\\": "|"
}
};
function keyHandler( handleObj ) {
// Only care when a possible input has been specified
if ( typeof handleObj.data !== "string" ) {
return;
}
var origHandler = handleObj.handler,
keys = handleObj.data.toLowerCase().split(" ");
handleObj.handler = function( event ) {
// Don't fire in text-accepting inputs that we didn't directly bind to
if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) ||
event.target.type === "text") ) {
return;
}
// Keypress represents characters, not special keys
var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ],
character = String.fromCharCode( event.which ).toLowerCase(),
key, modif = "", possible = {};
// check combinations (alt|ctrl|shift+anything)
if ( event.altKey && special !== "alt" ) {
modif += "alt+";
}
if ( event.ctrlKey && special !== "ctrl" ) {
modif += "ctrl+";
}
// TODO: Need to make sure this works consistently across platforms
if ( event.metaKey && !event.ctrlKey && special !== "meta" ) {
modif += "meta+";
}
if ( event.shiftKey && special !== "shift" ) {
modif += "shift+";
}
if ( special ) {
possible[ modif + special ] = true;
} else {
possible[ modif + character ] = true;
possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true;
// "$" can be triggered as "Shift+4" or "Shift+$" or just "$"
if ( modif === "shift+" ) {
possible[ jQuery.hotkeys.shiftNums[ character ] ] = true;
}
}
for ( var i = 0, l = keys.length; i < l; i++ ) {
if ( possible[ keys[i] ] ) {
return origHandler.apply( this, arguments );
}
}
};
}
jQuery.each([ "keydown", "keyup", "keypress" ], function() {
jQuery.event.special[ this ] = { add: keyHandler };
});
})( jQuery );

View File

@ -1,53 +0,0 @@
/* Copyright (c) 2010
* @author Laurence Wheway
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* @version 1.2.0
*/
(function($) {
jQuery.extend({
isOnScreen: function(box, container) {
//ensure numbers come in as intgers (not strings) and remove 'px' is it's there
for(var i in box){box[i] = parseFloat(box[i])};
for(var i in container){container[i] = parseFloat(container[i])};
if(!container){
container = {
left: $(window).scrollLeft(),
top: $(window).scrollTop(),
width: $(window).width(),
height: $(window).height()
}
}
if( box.left+box.width-container.left > 0 &&
box.left < container.width+container.left &&
box.top+box.height-container.top > 0 &&
box.top < container.height+container.top
) return true;
return false;
}
})
jQuery.fn.isOnScreen = function (container) {
for(var i in container){container[i] = parseFloat(container[i])};
if(!container){
container = {
left: $(window).scrollLeft(),
top: $(window).scrollTop(),
width: $(window).width(),
height: $(window).height()
}
}
if( $(this).offset().left+$(this).width()-container.left > 0 &&
$(this).offset().left < container.width+container.left &&
$(this).offset().top+$(this).height()-container.top > 0 &&
$(this).offset().top < container.height+container.top
) return true;
return false;
}
})(jQuery);

5
htmlcov/jquery.min.js generated vendored

File diff suppressed because one or more lines are too long

2
htmlcov/jquery.tablesorter.min.js generated vendored

File diff suppressed because one or more lines are too long

BIN
htmlcov/keybd_closed.png generated

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

BIN
htmlcov/keybd_open.png generated

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

133
htmlcov/manage_py.html generated
View File

@ -1,133 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for manage.py: 54%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>manage.py</b> :
<span class="pc_cov">54%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
13 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">7 run</span>
<span class="mis shortkey_m button_toggle_mis">6 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="stm mis"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm mis"><a href="#n13">13</a></p>
<p id="n14" class="stm mis"><a href="#n14">14</a></p>
<p id="n15" class="stm mis"><a href="#n15">15</a></p>
<p id="n16" class="stm mis"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="stm mis"><a href="#n21">21</a></p>
<p id="n22" class="stm run hide_run"><a href="#n22">22</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com">#!/usr/bin/env python</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">import</span> <span class="nam">os</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">import</span> <span class="nam">sys</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">"__main__"</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"> <span class="nam">os</span><span class="op">.</span><span class="nam">environ</span><span class="op">.</span><span class="nam">setdefault</span><span class="op">(</span><span class="str">"DJANGO_SETTINGS_MODULE"</span><span class="op">,</span> <span class="str">"api.settings"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"> <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">core</span><span class="op">.</span><span class="nam">management</span> <span class="key">import</span> <span class="nam">execute_from_command_line</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm mis"> <span class="key">except</span> <span class="nam">ImportError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="com"># The above import may fail for some other reason. Ensure that the</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"> <span class="com"># issue is really that Django is missing to avoid masking other</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"> <span class="com"># exceptions on Python 2.</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm mis"> <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm mis"> <span class="key">import</span> <span class="nam">django</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="stm mis"> <span class="key">except</span> <span class="nam">ImportError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm mis"> <span class="key">raise</span> <span class="nam">ImportError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="str">"Couldn't import Django. Are you sure it's installed and "</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="str">"available on your PYTHONPATH environment variable? Did you "</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="str">"forget to activate a virtual environment?"</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="stm mis"> <span class="key">raise</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="stm run hide_run"> <span class="nam">execute_from_command_line</span><span class="op">(</span><span class="nam">sys</span><span class="op">.</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

1
htmlcov/status.json generated

File diff suppressed because one or more lines are too long

375
htmlcov/style.css generated
View File

@ -1,375 +0,0 @@
/* Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 */
/* For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt */
/* CSS styles for coverage.py. */
/* Page-wide styles */
html, body, h1, h2, h3, p, table, td, th {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* Set baseline grid to 16 pt. */
body {
font-family: georgia, serif;
font-size: 1em;
}
html>body {
font-size: 16px;
}
/* Set base font size to 12/16 */
p {
font-size: .75em; /* 12/16 */
line-height: 1.33333333em; /* 16/12 */
}
table {
border-collapse: collapse;
}
td {
vertical-align: top;
}
table tr.hidden {
display: none !important;
}
p#no_rows {
display: none;
font-size: 1.2em;
}
a.nav {
text-decoration: none;
color: inherit;
}
a.nav:hover {
text-decoration: underline;
color: inherit;
}
/* Page structure */
#header {
background: #f8f8f8;
width: 100%;
border-bottom: 1px solid #eee;
}
#source {
padding: 1em;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
.indexfile #footer {
margin: 1em 3em;
}
.pyfile #footer {
margin: 1em 1em;
}
#footer .content {
padding: 0;
font-size: 85%;
font-family: verdana, sans-serif;
color: #666666;
font-style: italic;
}
#index {
margin: 1em 0 0 3em;
}
/* Header styles */
#header .content {
padding: 1em 3em;
}
h1 {
font-size: 1.25em;
display: inline-block;
}
#filter_container {
display: inline-block;
float: right;
margin: 0 2em 0 0;
}
#filter_container input {
width: 10em;
}
h2.stats {
margin-top: .5em;
font-size: 1em;
}
.stats span {
border: 1px solid;
padding: .1em .25em;
margin: 0 .1em;
cursor: pointer;
border-color: #999 #ccc #ccc #999;
}
.stats span.hide_run, .stats span.hide_exc,
.stats span.hide_mis, .stats span.hide_par,
.stats span.par.hide_run.hide_par {
border-color: #ccc #999 #999 #ccc;
}
.stats span.par.hide_run {
border-color: #999 #ccc #ccc #999;
}
.stats span.run {
background: #ddffdd;
}
.stats span.exc {
background: #eeeeee;
}
.stats span.mis {
background: #ffdddd;
}
.stats span.hide_run {
background: #eeffee;
}
.stats span.hide_exc {
background: #f5f5f5;
}
.stats span.hide_mis {
background: #ffeeee;
}
.stats span.par {
background: #ffffaa;
}
.stats span.hide_par {
background: #ffffcc;
}
/* Help panel */
#keyboard_icon {
float: right;
margin: 5px;
cursor: pointer;
}
.help_panel {
position: absolute;
background: #ffffcc;
padding: .5em;
border: 1px solid #883;
display: none;
}
.indexfile .help_panel {
width: 20em; height: 4em;
}
.pyfile .help_panel {
width: 16em; height: 8em;
}
.help_panel .legend {
font-style: italic;
margin-bottom: 1em;
}
#panel_icon {
float: right;
cursor: pointer;
}
.keyhelp {
margin: .75em;
}
.keyhelp .key {
border: 1px solid black;
border-color: #888 #333 #333 #888;
padding: .1em .35em;
font-family: monospace;
font-weight: bold;
background: #eee;
}
/* Source file styles */
.linenos p {
text-align: right;
margin: 0;
padding: 0 .5em;
color: #999999;
font-family: verdana, sans-serif;
font-size: .625em; /* 10/16 */
line-height: 1.6em; /* 16/10 */
}
.linenos p.highlight {
background: #ffdd00;
}
.linenos p a {
text-decoration: none;
color: #999999;
}
.linenos p a:hover {
text-decoration: underline;
color: #999999;
}
td.text {
width: 100%;
}
.text p {
margin: 0;
padding: 0 0 0 .5em;
border-left: 2px solid #ffffff;
white-space: pre;
position: relative;
}
.text p.mis {
background: #ffdddd;
border-left: 2px solid #ff0000;
}
.text p.run, .text p.run.hide_par {
background: #ddffdd;
border-left: 2px solid #00ff00;
}
.text p.exc {
background: #eeeeee;
border-left: 2px solid #808080;
}
.text p.par, .text p.par.hide_run {
background: #ffffaa;
border-left: 2px solid #eeee99;
}
.text p.hide_run, .text p.hide_exc, .text p.hide_mis, .text p.hide_par,
.text p.hide_run.hide_par {
background: inherit;
}
.text span.annotate {
font-family: georgia;
color: #666;
float: right;
padding-right: .5em;
}
.text p.hide_par span.annotate {
display: none;
}
.text span.annotate.long {
display: none;
}
.text p:hover span.annotate.long {
display: block;
max-width: 50%;
white-space: normal;
float: right;
position: absolute;
top: 1.75em;
right: 1em;
width: 30em;
height: auto;
color: #333;
background: #ffffcc;
border: 1px solid #888;
padding: .25em .5em;
z-index: 999;
border-radius: .2em;
box-shadow: #cccccc .2em .2em .2em;
}
/* Syntax coloring */
.text .com {
color: green;
font-style: italic;
line-height: 1px;
}
.text .key {
font-weight: bold;
line-height: 1px;
}
.text .str {
color: #000080;
}
/* index styles */
#index td, #index th {
text-align: right;
width: 5em;
padding: .25em .5em;
border-bottom: 1px solid #eee;
}
#index th {
font-style: italic;
color: #333;
border-bottom: 1px solid #ccc;
cursor: pointer;
}
#index th:hover {
background: #eee;
border-bottom: 1px solid #999;
}
#index td.left, #index th.left {
padding-left: 0;
}
#index td.right, #index th.right {
padding-right: 0;
}
#index th.headerSortDown, #index th.headerSortUp {
border-bottom: 1px solid #000;
white-space: nowrap;
background: #eee;
}
#index th.headerSortDown:after {
content: " ↓";
}
#index th.headerSortUp:after {
content: " ↑";
}
#index td.name, #index th.name {
text-align: left;
width: auto;
}
#index td.name a {
text-decoration: none;
color: #000;
}
#index tr.total,
#index tr.total_dynamic {
}
#index tr.total td,
#index tr.total_dynamic td {
font-weight: bold;
border-top: 1px solid #ccc;
border-bottom: none;
}
#index tr.file:hover {
background: #eeeeee;
}
#index tr.file:hover td.name {
text-decoration: underline;
color: #000;
}
/* scroll marker styles */
#scroll_marker {
position: fixed;
right: 0;
top: 0;
width: 16px;
height: 100%;
background: white;
border-left: 1px solid #eee;
}
#scroll_marker .marker {
background: #eedddd;
position: absolute;
min-height: 3px;
width: 100%;
}

View File

@ -1,89 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/__init__.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/__init__.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
0 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">0 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
</td>
<td class="text">
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,117 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/admin.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/admin.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
9 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">9 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="stm run hide_run"><a href="#n14">14</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># -*- coding: utf-8 -*-</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">unicode_literals</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">contrib</span> <span class="key">import</span> <span class="nam">admin</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">models</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="com"># Register your models here.</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">Driver</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">Race</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">Relay</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">Rules</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">Team</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm run hide_run"><span class="nam">admin</span><span class="op">.</span><span class="nam">site</span><span class="op">.</span><span class="nam">register</span><span class="op">(</span><span class="nam">EngagedPilot</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -1,105 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/apps.py: 0%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/apps.py</b> :
<span class="pc_cov">0%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">0 run</span>
<span class="mis shortkey_m button_toggle_mis">4 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm mis"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm mis"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm mis"><a href="#n7">7</a></p>
<p id="n8" class="stm mis"><a href="#n8">8</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># -*- coding: utf-8 -*-</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm mis"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">unicode_literals</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm mis"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">apps</span> <span class="key">import</span> <span class="nam">AppConfig</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm mis"><span class="key">class</span> <span class="nam">TimelapsConfig</span><span class="op">(</span><span class="nam">AppConfig</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm mis"> <span class="nam">name</span> <span class="op">=</span> <span class="str">'timelaps'</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,265 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0001_initial.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0001_initial.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
6 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">6 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="stm run hide_run"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="pln"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="pln"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="pln"><a href="#n35">35</a></p>
<p id="n36" class="pln"><a href="#n36">36</a></p>
<p id="n37" class="pln"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="pln"><a href="#n39">39</a></p>
<p id="n40" class="pln"><a href="#n40">40</a></p>
<p id="n41" class="pln"><a href="#n41">41</a></p>
<p id="n42" class="pln"><a href="#n42">42</a></p>
<p id="n43" class="pln"><a href="#n43">43</a></p>
<p id="n44" class="pln"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
<p id="n46" class="pln"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="pln"><a href="#n48">48</a></p>
<p id="n49" class="pln"><a href="#n49">49</a></p>
<p id="n50" class="pln"><a href="#n50">50</a></p>
<p id="n51" class="pln"><a href="#n51">51</a></p>
<p id="n52" class="pln"><a href="#n52">52</a></p>
<p id="n53" class="pln"><a href="#n53">53</a></p>
<p id="n54" class="pln"><a href="#n54">54</a></p>
<p id="n55" class="pln"><a href="#n55">55</a></p>
<p id="n56" class="pln"><a href="#n56">56</a></p>
<p id="n57" class="pln"><a href="#n57">57</a></p>
<p id="n58" class="pln"><a href="#n58">58</a></p>
<p id="n59" class="pln"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
<p id="n61" class="pln"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="pln"><a href="#n63">63</a></p>
<p id="n64" class="pln"><a href="#n64">64</a></p>
<p id="n65" class="pln"><a href="#n65">65</a></p>
<p id="n66" class="pln"><a href="#n66">66</a></p>
<p id="n67" class="pln"><a href="#n67">67</a></p>
<p id="n68" class="pln"><a href="#n68">68</a></p>
<p id="n69" class="pln"><a href="#n69">69</a></p>
<p id="n70" class="pln"><a href="#n70">70</a></p>
<p id="n71" class="pln"><a href="#n71">71</a></p>
<p id="n72" class="pln"><a href="#n72">72</a></p>
<p id="n73" class="pln"><a href="#n73">73</a></p>
<p id="n74" class="pln"><a href="#n74">74</a></p>
<p id="n75" class="pln"><a href="#n75">75</a></p>
<p id="n76" class="pln"><a href="#n76">76</a></p>
<p id="n77" class="pln"><a href="#n77">77</a></p>
<p id="n78" class="pln"><a href="#n78">78</a></p>
<p id="n79" class="pln"><a href="#n79">79</a></p>
<p id="n80" class="pln"><a href="#n80">80</a></p>
<p id="n81" class="pln"><a href="#n81">81</a></p>
<p id="n82" class="pln"><a href="#n82">82</a></p>
<p id="n83" class="pln"><a href="#n83">83</a></p>
<p id="n84" class="pln"><a href="#n84">84</a></p>
<p id="n85" class="pln"><a href="#n85">85</a></p>
<p id="n86" class="pln"><a href="#n86">86</a></p>
<p id="n87" class="pln"><a href="#n87">87</a></p>
<p id="n88" class="pln"><a href="#n88">88</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-15 23:31</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">import</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"> <span class="nam">initial</span> <span class="op">=</span> <span class="key">True</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'Driver'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="op">(</span><span class="str">'first_name'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="op">(</span><span class="str">'last_name'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'EngagedPilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">(</span><span class="str">'order'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="op">(</span><span class="str">'pilot'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'pilot'</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.Driver'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t31" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'Race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t35" class="pln"> <span class="op">(</span><span class="str">'name'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="pln"> <span class="op">(</span><span class="str">'start_date'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="pln"> <span class="op">(</span><span class="str">'end_date'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"> <span class="op">(</span><span class="str">'duration'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="pln"> <span class="op">(</span><span class="str">'comment'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'Relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t46" class="pln"> <span class="op">(</span><span class="str">'relay_start'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"> <span class="op">(</span><span class="str">'relay_end'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t48" class="pln"> <span class="op">(</span><span class="str">'has_refuel'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">BooleanField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">False</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t49" class="pln"> <span class="op">(</span><span class="str">'pilot_chrono'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t50" class="pln"> <span class="op">(</span><span class="str">'comment'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t51" class="pln"> <span class="op">(</span><span class="str">'team_pilot'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'relays'</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.EngagedPilot'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t52" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t53" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t54" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t55" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'Rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t56" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t58" class="pln"> <span class="op">(</span><span class="str">'min_stand_duration'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="pln"> <span class="op">(</span><span class="str">'max_autonomy_dry'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln"> <span class="op">(</span><span class="str">'max_autonomy_wet'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t61" class="pln"> <span class="op">(</span><span class="str">'max_driving_duration'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"> <span class="op">(</span><span class="str">'relay_default_duration'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t63" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t64" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t65" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">CreateModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t66" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'Team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t67" class="pln"> <span class="nam">fields</span><span class="op">=</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t68" class="pln"> <span class="op">(</span><span class="str">'id'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">AutoField</span><span class="op">(</span><span class="nam">auto_created</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">primary_key</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">serialize</span><span class="op">=</span><span class="key">False</span><span class="op">,</span> <span class="nam">verbose_name</span><span class="op">=</span><span class="str">'ID'</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t69" class="pln"> <span class="op">(</span><span class="str">'name'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t70" class="pln"> <span class="op">(</span><span class="str">'comment'</span><span class="op">,</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t71" class="pln"> <span class="op">]</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t72" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t73" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t74" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t75" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'fk_rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t76" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.Rules'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t77" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t78" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t79" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'engagedpilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t80" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t81" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.Race'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t82" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t83" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t84" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'engagedpilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t85" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t86" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.Team'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t87" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t88" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -1,123 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0002_auto_20190112_0858.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0002_auto_20190112_0858.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 08:58</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0001_initial'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameModel</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'Rule'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'Rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,147 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0003_auto_20190112_0903.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0003_auto_20190112_0903.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
5 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">5 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:03</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">import</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0002_auto_20190112_0858'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RemoveField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="num">1</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.TeamPilot'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="nam">preserve_default</span><span class="op">=</span><span class="key">False</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'order'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,125 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0004_auto_20190112_0906.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0004_auto_20190112_0906.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:06</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0003_auto_20190112_0903'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'comment'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,125 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0005_auto_20190112_0907.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0005_auto_20190112_0907.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:07</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0004_auto_20190112_0906'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'driver'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'last_name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,145 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0006_auto_20190112_0912.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0006_auto_20190112_0912.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:12</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0005_auto_20190112_0907'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'pilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'race_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'team_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,143 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0007_auto_20190112_0930.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0007_auto_20190112_0930.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:30</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0006_auto_20190112_0912'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'driver'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'last_name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RemoveField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ManyToManyField</span><span class="op">(</span><span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.TeamPilot'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,137 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0008_auto_20190112_0934.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0008_auto_20190112_0934.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
5 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">5 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:34</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">import</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0007_auto_20190112_0930'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RemoveField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AddField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="num">1</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">django</span><span class="op">.</span><span class="nam">db</span><span class="op">.</span><span class="nam">models</span><span class="op">.</span><span class="nam">deletion</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">,</span> <span class="nam">to</span><span class="op">=</span><span class="str">'timelaps.TeamPilot'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="nam">preserve_default</span><span class="op">=</span><span class="key">False</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,155 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0009_auto_20190112_0938.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0009_auto_20190112_0938.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="pln"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="pln"><a href="#n33">33</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 09:38</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0008_auto_20190112_0934'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'end_date'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'start_date'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'relay_end'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'relay_start'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t31" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,145 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0010_auto_20190112_1005.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0010_auto_20190112_1005.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 10:05</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0009_auto_20190112_0938'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'pilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'race_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'team_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,125 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0011_auto_20190112_1017.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0011_auto_20190112_1017.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 10:17</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0010_auto_20190112_1005'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">RenameField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">old_name</span><span class="op">=</span><span class="str">'team_pilot_id'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">new_name</span><span class="op">=</span><span class="str">'team_pilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,255 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/0012_auto_20190112_1019.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/0012_auto_20190112_1019.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="pln"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="pln"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="pln"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="pln"><a href="#n35">35</a></p>
<p id="n36" class="pln"><a href="#n36">36</a></p>
<p id="n37" class="pln"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="pln"><a href="#n39">39</a></p>
<p id="n40" class="pln"><a href="#n40">40</a></p>
<p id="n41" class="pln"><a href="#n41">41</a></p>
<p id="n42" class="pln"><a href="#n42">42</a></p>
<p id="n43" class="pln"><a href="#n43">43</a></p>
<p id="n44" class="pln"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
<p id="n46" class="pln"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="pln"><a href="#n48">48</a></p>
<p id="n49" class="pln"><a href="#n49">49</a></p>
<p id="n50" class="pln"><a href="#n50">50</a></p>
<p id="n51" class="pln"><a href="#n51">51</a></p>
<p id="n52" class="pln"><a href="#n52">52</a></p>
<p id="n53" class="pln"><a href="#n53">53</a></p>
<p id="n54" class="pln"><a href="#n54">54</a></p>
<p id="n55" class="pln"><a href="#n55">55</a></p>
<p id="n56" class="pln"><a href="#n56">56</a></p>
<p id="n57" class="pln"><a href="#n57">57</a></p>
<p id="n58" class="pln"><a href="#n58">58</a></p>
<p id="n59" class="pln"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
<p id="n61" class="pln"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="pln"><a href="#n63">63</a></p>
<p id="n64" class="pln"><a href="#n64">64</a></p>
<p id="n65" class="pln"><a href="#n65">65</a></p>
<p id="n66" class="pln"><a href="#n66">66</a></p>
<p id="n67" class="pln"><a href="#n67">67</a></p>
<p id="n68" class="pln"><a href="#n68">68</a></p>
<p id="n69" class="pln"><a href="#n69">69</a></p>
<p id="n70" class="pln"><a href="#n70">70</a></p>
<p id="n71" class="pln"><a href="#n71">71</a></p>
<p id="n72" class="pln"><a href="#n72">72</a></p>
<p id="n73" class="pln"><a href="#n73">73</a></p>
<p id="n74" class="pln"><a href="#n74">74</a></p>
<p id="n75" class="pln"><a href="#n75">75</a></p>
<p id="n76" class="pln"><a href="#n76">76</a></p>
<p id="n77" class="pln"><a href="#n77">77</a></p>
<p id="n78" class="pln"><a href="#n78">78</a></p>
<p id="n79" class="pln"><a href="#n79">79</a></p>
<p id="n80" class="pln"><a href="#n80">80</a></p>
<p id="n81" class="pln"><a href="#n81">81</a></p>
<p id="n82" class="pln"><a href="#n82">82</a></p>
<p id="n83" class="pln"><a href="#n83">83</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># Generated by Django 2.1.5 on 2019-01-12 10:19</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">migrations</span><span class="op">,</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">class</span> <span class="nam">Migration</span><span class="op">(</span><span class="nam">migrations</span><span class="op">.</span><span class="nam">Migration</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"> <span class="nam">dependencies</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="op">(</span><span class="str">'timelaps'</span><span class="op">,</span> <span class="str">'0011_auto_20190112_1017'</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">operations</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'driver'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'first_name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'driver'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'last_name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'comment'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'end_date'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t31" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t35" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'race'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'start_date'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'comment'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t46" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t48" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t49" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t50" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'pilot_chrono'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t51" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t52" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t53" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t54" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'relay'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t55" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'relay_end'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t56" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t58" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'max_driving_duration'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t61" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t63" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t64" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t65" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'min_stand_duration'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t66" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t67" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t68" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t69" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'rules'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t70" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'relay_default_duration'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t71" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t72" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t73" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t74" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t75" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'name'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t76" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t77" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t78" class="pln"> <span class="nam">migrations</span><span class="op">.</span><span class="nam">AlterField</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t79" class="pln"> <span class="nam">model_name</span><span class="op">=</span><span class="str">'teampilot'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t80" class="pln"> <span class="nam">name</span><span class="op">=</span><span class="str">'order'</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t81" class="pln"> <span class="nam">field</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t82" class="pln"> <span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t83" class="pln"> <span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,89 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/migrations/__init__.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/migrations/__init__.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
0 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">0 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
</td>
<td class="text">
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,235 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/models.py: 92%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/models.py</b> :
<span class="pc_cov">92%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
39 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">36 run</span>
<span class="mis shortkey_m button_toggle_mis">3 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="stm mis"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="stm run hide_run"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="stm run hide_run"><a href="#n22">22</a></p>
<p id="n23" class="stm mis"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="stm run hide_run"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="stm run hide_run"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="stm run hide_run"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="stm run hide_run"><a href="#n35">35</a></p>
<p id="n36" class="pln"><a href="#n36">36</a></p>
<p id="n37" class="stm run hide_run"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="stm run hide_run"><a href="#n39">39</a></p>
<p id="n40" class="pln"><a href="#n40">40</a></p>
<p id="n41" class="stm run hide_run"><a href="#n41">41</a></p>
<p id="n42" class="stm run hide_run"><a href="#n42">42</a></p>
<p id="n43" class="pln"><a href="#n43">43</a></p>
<p id="n44" class="stm run hide_run"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
<p id="n46" class="stm run hide_run"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="stm run hide_run"><a href="#n48">48</a></p>
<p id="n49" class="pln"><a href="#n49">49</a></p>
<p id="n50" class="stm run hide_run"><a href="#n50">50</a></p>
<p id="n51" class="stm mis"><a href="#n51">51</a></p>
<p id="n52" class="pln"><a href="#n52">52</a></p>
<p id="n53" class="stm run hide_run"><a href="#n53">53</a></p>
<p id="n54" class="pln"><a href="#n54">54</a></p>
<p id="n55" class="stm run hide_run"><a href="#n55">55</a></p>
<p id="n56" class="stm run hide_run"><a href="#n56">56</a></p>
<p id="n57" class="stm run hide_run"><a href="#n57">57</a></p>
<p id="n58" class="stm run hide_run"><a href="#n58">58</a></p>
<p id="n59" class="pln"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
<p id="n61" class="stm run hide_run"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="stm run hide_run"><a href="#n63">63</a></p>
<p id="n64" class="pln"><a href="#n64">64</a></p>
<p id="n65" class="stm run hide_run"><a href="#n65">65</a></p>
<p id="n66" class="pln"><a href="#n66">66</a></p>
<p id="n67" class="stm run hide_run"><a href="#n67">67</a></p>
<p id="n68" class="pln"><a href="#n68">68</a></p>
<p id="n69" class="stm run hide_run"><a href="#n69">69</a></p>
<p id="n70" class="pln"><a href="#n70">70</a></p>
<p id="n71" class="stm run hide_run"><a href="#n71">71</a></p>
<p id="n72" class="pln"><a href="#n72">72</a></p>
<p id="n73" class="stm run hide_run"><a href="#n73">73</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># -*- coding: utf-8 -*-</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">unicode_literals</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">db</span> <span class="key">import</span> <span class="nam">models</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="com"># Create your models here.</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"><span class="key">class</span> <span class="nam">Team</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="com"># Name of the team</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="stm run hide_run"> <span class="nam">name</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm run hide_run"> <span class="nam">comment</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"> <span class="key">def</span> <span class="nam">__str__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm mis"> <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">name</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t17" class="stm run hide_run"><span class="key">class</span> <span class="nam">Driver</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"> <span class="com"># Name of the pilot</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="stm run hide_run"> <span class="nam">first_name</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="stm run hide_run"> <span class="nam">last_name</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t22" class="stm run hide_run"> <span class="key">def</span> <span class="nam">__str__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="stm mis"> <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">last_name</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t25" class="stm run hide_run"><span class="key">class</span> <span class="nam">Rules</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"> <span class="com">#Minimum time in the pitlane</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="stm run hide_run"> <span class="nam">min_stand_duration</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"> <span class="com">#Maximum autonomy of the kart in dry condition (In seconds)</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="stm run hide_run"> <span class="nam">max_autonomy_dry</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"> <span class="com">#Maximum autonomy of the kart in wet condition (In seconds)</span><span class="strut">&nbsp;</span></p>
<p id="t31" class="stm run hide_run"> <span class="nam">max_autonomy_wet</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"> <span class="com">#Maximum driving time by driver(In seconds)</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="stm run hide_run"> <span class="nam">max_driving_duration</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"> <span class="com">#Start and end date of the race</span><span class="strut">&nbsp;</span></p>
<p id="t35" class="stm run hide_run"> <span class="nam">relay_default_duration</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t37" class="stm run hide_run"><span class="key">class</span> <span class="nam">Race</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"> <span class="com"># Name of the race</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="stm run hide_run"> <span class="nam">name</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">30</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="pln"> <span class="com">#Start and end date of the race</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="stm run hide_run"> <span class="nam">start_date</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="stm run hide_run"> <span class="nam">end_date</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="pln"> <span class="com">#Lenth of th race in seconds</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="stm run hide_run"> <span class="nam">duration</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"> <span class="com">#Link to the rules of the race</span><span class="strut">&nbsp;</span></p>
<p id="t46" class="stm run hide_run"> <span class="nam">fk_rules</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">Rules</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"> <span class="com">#Comment the race</span><span class="strut">&nbsp;</span></p>
<p id="t48" class="stm run hide_run"> <span class="nam">comment</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t49" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t50" class="stm run hide_run"> <span class="key">def</span> <span class="nam">__str__</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t51" class="stm mis"> <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">name</span><span class="strut">&nbsp;</span></p>
<p id="t52" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t53" class="stm run hide_run"><span class="key">class</span> <span class="nam">EngagedPilot</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t54" class="pln"> <span class="com"># Foreign keys to the team pilot and race</span><span class="strut">&nbsp;</span></p>
<p id="t55" class="stm run hide_run"> <span class="nam">team</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">Team</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'team'</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t56" class="stm run hide_run"> <span class="nam">pilot</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">Driver</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'pilot'</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="stm run hide_run"> <span class="nam">race</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">Race</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'engagedpilots'</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t58" class="stm run hide_run"> <span class="nam">order</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t61" class="stm run hide_run"><span class="key">class</span> <span class="nam">Relay</span><span class="op">(</span><span class="nam">models</span><span class="op">.</span><span class="nam">Model</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"> <span class="com"># Name of the team</span><span class="strut">&nbsp;</span></p>
<p id="t63" class="stm run hide_run"> <span class="nam">team_pilot</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">ForeignKey</span><span class="op">(</span><span class="nam">EngagedPilot</span><span class="op">,</span> <span class="nam">related_name</span><span class="op">=</span><span class="str">'relays'</span><span class="op">,</span> <span class="nam">on_delete</span><span class="op">=</span><span class="nam">models</span><span class="op">.</span><span class="nam">CASCADE</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t64" class="pln"> <span class="com">#Starting timestamp for the relay</span><span class="strut">&nbsp;</span></p>
<p id="t65" class="stm run hide_run"> <span class="nam">relay_start</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t66" class="pln"> <span class="com">#ending timestamp for the relay</span><span class="strut">&nbsp;</span></p>
<p id="t67" class="stm run hide_run"> <span class="nam">relay_end</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">DateTimeField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t68" class="pln"> <span class="com">#Does the pilot did refuel</span><span class="strut">&nbsp;</span></p>
<p id="t69" class="stm run hide_run"> <span class="nam">has_refuel</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">BooleanField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">False</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t70" class="pln"> <span class="com">#Average chrono for the pulot on this relay</span><span class="strut">&nbsp;</span></p>
<p id="t71" class="stm run hide_run"> <span class="nam">pilot_chrono</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">IntegerField</span><span class="op">(</span><span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t72" class="pln"> <span class="com">#comment the relay</span><span class="strut">&nbsp;</span></p>
<p id="t73" class="stm run hide_run"> <span class="nam">comment</span> <span class="op">=</span> <span class="nam">models</span><span class="op">.</span><span class="nam">CharField</span><span class="op">(</span><span class="nam">max_length</span><span class="op">=</span><span class="num">256</span><span class="op">,</span> <span class="nam">default</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">blank</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">null</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -1,179 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/serializers.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/serializers.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
36 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">36 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="stm run hide_run"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="stm run hide_run"><a href="#n14">14</a></p>
<p id="n15" class="stm run hide_run"><a href="#n15">15</a></p>
<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
<p id="n17" class="stm run hide_run"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
<p id="n21" class="stm run hide_run"><a href="#n21">21</a></p>
<p id="n22" class="stm run hide_run"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
<p id="n26" class="stm run hide_run"><a href="#n26">26</a></p>
<p id="n27" class="stm run hide_run"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="stm run hide_run"><a href="#n29">29</a></p>
<p id="n30" class="stm run hide_run"><a href="#n30">30</a></p>
<p id="n31" class="stm run hide_run"><a href="#n31">31</a></p>
<p id="n32" class="stm run hide_run"><a href="#n32">32</a></p>
<p id="n33" class="pln"><a href="#n33">33</a></p>
<p id="n34" class="stm run hide_run"><a href="#n34">34</a></p>
<p id="n35" class="stm run hide_run"><a href="#n35">35</a></p>
<p id="n36" class="stm run hide_run"><a href="#n36">36</a></p>
<p id="n37" class="stm run hide_run"><a href="#n37">37</a></p>
<p id="n38" class="stm run hide_run"><a href="#n38">38</a></p>
<p id="n39" class="pln"><a href="#n39">39</a></p>
<p id="n40" class="stm run hide_run"><a href="#n40">40</a></p>
<p id="n41" class="stm run hide_run"><a href="#n41">41</a></p>
<p id="n42" class="stm run hide_run"><a href="#n42">42</a></p>
<p id="n43" class="stm run hide_run"><a href="#n43">43</a></p>
<p id="n44" class="stm run hide_run"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
</td>
<td class="text">
<p id="t1" class="stm run hide_run"><span class="key">from</span> <span class="nam">rest_framework</span> <span class="key">import</span> <span class="nam">serializers</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">models</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">class</span> <span class="nam">DriverSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Driver</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'first_name'</span><span class="op">,</span><span class="str">'last_name'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"><span class="key">class</span> <span class="nam">RaceSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Race</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'name'</span><span class="op">,</span><span class="str">'start_date'</span><span class="op">,</span><span class="str">'end_date'</span><span class="op">,</span><span class="str">'duration'</span><span class="op">,</span> <span class="str">'comment'</span><span class="op">,</span><span class="str">'fk_rules'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm run hide_run"><span class="key">class</span> <span class="nam">RelaySerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Relay</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'relay_start'</span><span class="op">,</span><span class="str">'relay_end'</span><span class="op">,</span><span class="str">'has_refuel'</span><span class="op">,</span><span class="str">'pilot_chrono'</span><span class="op">,</span><span class="str">'pilot_chrono'</span><span class="op">,</span> <span class="str">'comment'</span><span class="op">,</span><span class="str">'team_pilot'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t19" class="stm run hide_run"><span class="key">class</span> <span class="nam">RulesSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Rules</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'min_stand_duration'</span><span class="op">,</span> <span class="str">'max_autonomy_dry'</span><span class="op">,</span> <span class="str">'max_autonomy_wet'</span><span class="op">,</span> <span class="str">'max_driving_duration'</span><span class="op">,</span> <span class="str">'relay_default_duration'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t24" class="stm run hide_run"><span class="key">class</span> <span class="nam">TeamSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Team</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'name'</span><span class="op">,</span> <span class="str">'comment'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t29" class="stm run hide_run"><span class="key">class</span> <span class="nam">EngagedPilotSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t31" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">EngagedPilot</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'order'</span><span class="op">,</span><span class="str">'team'</span><span class="op">,</span><span class="str">'pilot'</span><span class="op">,</span><span class="str">'race'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t34" class="stm run hide_run"><span class="key">class</span> <span class="nam">EngagedPilotsSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t35" class="stm run hide_run"> <span class="nam">relays</span> <span class="op">=</span> <span class="nam">RelaySerializer</span><span class="op">(</span><span class="nam">many</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">EngagedPilot</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'order'</span><span class="op">,</span><span class="str">'team'</span><span class="op">,</span><span class="str">'pilot'</span><span class="op">,</span><span class="str">'race'</span><span class="op">,</span> <span class="str">'relays'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t40" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListRelaysByRaceAndTeamSerializer</span><span class="op">(</span><span class="nam">serializers</span><span class="op">.</span><span class="nam">ModelSerializer</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="stm run hide_run"> <span class="nam">engagedpilots</span> <span class="op">=</span> <span class="nam">EngagedPilotsSerializer</span><span class="op">(</span><span class="nam">many</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="stm run hide_run"> <span class="key">class</span> <span class="nam">Meta</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="stm run hide_run"> <span class="nam">model</span> <span class="op">=</span> <span class="nam">Race</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="stm run hide_run"> <span class="nam">fields</span> <span class="op">=</span> <span class="op">(</span><span class="str">'name'</span><span class="op">,</span><span class="str">'start_date'</span><span class="op">,</span><span class="str">'end_date'</span><span class="op">,</span><span class="str">'duration'</span><span class="op">,</span> <span class="str">'comment'</span><span class="op">,</span><span class="str">'fk_rules'</span><span class="op">,</span> <span class="str">'engagedpilots'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -1,185 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/tests.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/tests.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
8 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">8 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="pln"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="stm run hide_run"><a href="#n8">8</a></p>
<p id="n9" class="stm run hide_run"><a href="#n9">9</a></p>
<p id="n10" class="stm run hide_run"><a href="#n10">10</a></p>
<p id="n11" class="stm run hide_run"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="pln"><a href="#n19">19</a></p>
<p id="n20" class="pln"><a href="#n20">20</a></p>
<p id="n21" class="pln"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="pln"><a href="#n23">23</a></p>
<p id="n24" class="pln"><a href="#n24">24</a></p>
<p id="n25" class="pln"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="pln"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
<p id="n29" class="pln"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="pln"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="pln"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="pln"><a href="#n35">35</a></p>
<p id="n36" class="pln"><a href="#n36">36</a></p>
<p id="n37" class="pln"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="pln"><a href="#n39">39</a></p>
<p id="n40" class="pln"><a href="#n40">40</a></p>
<p id="n41" class="pln"><a href="#n41">41</a></p>
<p id="n42" class="pln"><a href="#n42">42</a></p>
<p id="n43" class="pln"><a href="#n43">43</a></p>
<p id="n44" class="pln"><a href="#n44">44</a></p>
<p id="n45" class="pln"><a href="#n45">45</a></p>
<p id="n46" class="pln"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="pln"><a href="#n48">48</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># -*- coding: utf-8 -*-</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">unicode_literals</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">test</span> <span class="key">import</span> <span class="nam">TestCase</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="com"># Create your tests here.</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">reverse</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm run hide_run"><span class="key">from</span> <span class="nam">rest_framework</span><span class="op">.</span><span class="nam">test</span> <span class="key">import</span> <span class="nam">APITestCase</span><span class="op">,</span> <span class="nam">APIClient</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm run hide_run"><span class="key">from</span> <span class="nam">rest_framework</span><span class="op">.</span><span class="nam">views</span> <span class="key">import</span> <span class="nam">status</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">models</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">serializers</span> <span class="key">import</span> <span class="nam">DriverSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"><span class="str"># tests for views</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="str">class BaseViewTest(APITestCase):</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln"><span class="str"> client = APIClient()</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"><span class="str"> @staticmethod</span><span class="strut">&nbsp;</span></p>
<p id="t19" class="pln"><span class="str"> def create_song(title="", artist=""):</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="pln"><span class="str"> if title != "" and artist != "":</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="pln"><span class="str"> Songs.objects.create(title=title, artist=artist)</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t23" class="pln"><span class="str"> def setUp(self):</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="pln"><span class="str"> # add test data</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="pln"><span class="str"> self.create_song("like glue", "sean paul")</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"><span class="str"> self.create_song("simple song", "konshens")</span><span class="strut">&nbsp;</span></p>
<p id="t27" class="pln"><span class="str"> self.create_song("love is wicked", "brick and lace")</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln"><span class="str"> self.create_song("jam rock", "damien marley")</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t31" class="pln"><span class="str">class GetAllSongsTest(BaseViewTest):</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t33" class="pln"><span class="str"> def test_get_all_songs(self):</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t35" class="pln"><span class="str"> #This test ensures that all songs added in the setUp method</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="pln"><span class="str"> #exist when we make a GET request to the songs/ endpoint</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"><span class="str"> # hit the API endpoint</span><span class="strut">&nbsp;</span></p>
<p id="t39" class="pln"><span class="str"> response = self.client.get(</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="pln"><span class="str"> reverse("songs-all", kwargs={"version": "v1"})</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="pln"><span class="str"> )</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="pln"><span class="str"> # fetch the data from db</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="pln"><span class="str"> expected = Songs.objects.all()</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="pln"><span class="str"> serialized = SongsSerializer(expected, many=True)</span><span class="strut">&nbsp;</span></p>
<p id="t45" class="pln"><span class="str"> self.assertEqual(response.data, serialized.data)</span><span class="strut">&nbsp;</span></p>
<p id="t46" class="pln"><span class="str"> self.assertEqual(response.status_code, status.HTTP_200_OK)</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t48" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-14 23:19
</p>
</div>
</div>
</body>
</html>

View File

@ -1,115 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/urls.py: 100%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/urls.py</b> :
<span class="pc_cov">100%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
4 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">4 run</span>
<span class="mis shortkey_m button_toggle_mis">0 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="stm run hide_run"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="stm run hide_run"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="pln"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
</td>
<td class="text">
<p id="t1" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">path</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">conf</span><span class="op">.</span><span class="nam">urls</span> <span class="key">import</span> <span class="nam">url</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">views</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"><span class="nam">urlpatterns</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'drivers/'</span><span class="op">,</span> <span class="nam">ListDriverView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'races/'</span><span class="op">,</span> <span class="nam">ListRaceView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'relays/'</span><span class="op">,</span> <span class="nam">ListRelayView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'rules/'</span><span class="op">,</span> <span class="nam">ListRulesView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'teams/'</span><span class="op">,</span> <span class="nam">ListTeamView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"> <span class="nam">path</span><span class="op">(</span><span class="str">'engagedpilots/'</span><span class="op">,</span> <span class="nam">ListEngagedPilotView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"> <span class="nam">url</span><span class="op">(</span><span class="str">'race/(?P&lt;raceid>\d+)'</span><span class="op">,</span> <span class="nam">ListRelaysByRaceAndTeamView</span><span class="op">.</span><span class="nam">as_view</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"><span class="op">]</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -1,215 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for timelaps/views.py: 93%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>timelaps/views.py</b> :
<span class="pc_cov">93%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
29 statements &nbsp;
<span class="run hide_run shortkey_r button_toggle_run">27 run</span>
<span class="mis shortkey_m button_toggle_mis">2 missing</span>
<span class="exc shortkey_x button_toggle_exc">0 excluded</span>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> &nbsp; toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> &nbsp; next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> &nbsp; (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> &nbsp; (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<table>
<tr>
<td class="linenos">
<p id="n1" class="pln"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="stm run hide_run"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="stm run hide_run"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="pln"><a href="#n8">8</a></p>
<p id="n9" class="pln"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="pln"><a href="#n11">11</a></p>
<p id="n12" class="stm run hide_run"><a href="#n12">12</a></p>
<p id="n13" class="pln"><a href="#n13">13</a></p>
<p id="n14" class="pln"><a href="#n14">14</a></p>
<p id="n15" class="pln"><a href="#n15">15</a></p>
<p id="n16" class="stm run hide_run"><a href="#n16">16</a></p>
<p id="n17" class="stm run hide_run"><a href="#n17">17</a></p>
<p id="n18" class="pln"><a href="#n18">18</a></p>
<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
<p id="n21" class="stm run hide_run"><a href="#n21">21</a></p>
<p id="n22" class="pln"><a href="#n22">22</a></p>
<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
<p id="n26" class="pln"><a href="#n26">26</a></p>
<p id="n27" class="stm run hide_run"><a href="#n27">27</a></p>
<p id="n28" class="stm run hide_run"><a href="#n28">28</a></p>
<p id="n29" class="stm run hide_run"><a href="#n29">29</a></p>
<p id="n30" class="pln"><a href="#n30">30</a></p>
<p id="n31" class="stm run hide_run"><a href="#n31">31</a></p>
<p id="n32" class="stm run hide_run"><a href="#n32">32</a></p>
<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
<p id="n35" class="stm run hide_run"><a href="#n35">35</a></p>
<p id="n36" class="stm run hide_run"><a href="#n36">36</a></p>
<p id="n37" class="stm run hide_run"><a href="#n37">37</a></p>
<p id="n38" class="pln"><a href="#n38">38</a></p>
<p id="n39" class="stm run hide_run"><a href="#n39">39</a></p>
<p id="n40" class="stm run hide_run"><a href="#n40">40</a></p>
<p id="n41" class="stm run hide_run"><a href="#n41">41</a></p>
<p id="n42" class="stm mis"><a href="#n42">42</a></p>
<p id="n43" class="stm mis"><a href="#n43">43</a></p>
<p id="n44" class="pln"><a href="#n44">44</a></p>
<p id="n45" class="stm run hide_run"><a href="#n45">45</a></p>
<p id="n46" class="pln"><a href="#n46">46</a></p>
<p id="n47" class="pln"><a href="#n47">47</a></p>
<p id="n48" class="pln"><a href="#n48">48</a></p>
<p id="n49" class="pln"><a href="#n49">49</a></p>
<p id="n50" class="pln"><a href="#n50">50</a></p>
<p id="n51" class="pln"><a href="#n51">51</a></p>
<p id="n52" class="pln"><a href="#n52">52</a></p>
<p id="n53" class="pln"><a href="#n53">53</a></p>
<p id="n54" class="pln"><a href="#n54">54</a></p>
<p id="n55" class="pln"><a href="#n55">55</a></p>
<p id="n56" class="pln"><a href="#n56">56</a></p>
<p id="n57" class="pln"><a href="#n57">57</a></p>
<p id="n58" class="pln"><a href="#n58">58</a></p>
<p id="n59" class="pln"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
<p id="n61" class="pln"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="pln"><a href="#n63">63</a></p>
</td>
<td class="text">
<p id="t1" class="pln"><span class="com"># -*- coding: utf-8 -*-</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">__future__</span> <span class="key">import</span> <span class="nam">unicode_literals</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="stm run hide_run"><span class="key">from</span> <span class="nam">django</span><span class="op">.</span><span class="nam">shortcuts</span> <span class="key">import</span> <span class="nam">render</span><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"><span class="key">from</span> <span class="nam">rest_framework</span> <span class="key">import</span> <span class="nam">generics</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">models</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run"><span class="key">from</span> <span class="op">.</span><span class="nam">serializers</span> <span class="key">import</span> <span class="op">*</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t9" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln"><span class="com"># Create your views here.</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t12" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListDriverView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t13" class="pln"> <span class="str">"""</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="pln"><span class="str"> Provides a get method handler.</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="pln"><span class="str"> """</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">Driver</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">DriverSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t18" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t19" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListRaceView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t20" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">Race</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t21" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">RaceSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t22" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t23" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListRelayView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t24" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">Relay</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t25" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">RelaySerializer</span><span class="strut">&nbsp;</span></p>
<p id="t26" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t27" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListRulesView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">Rules</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t29" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">RulesSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t30" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t31" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListTeamView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">Team</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t33" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">TeamSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t35" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListEngagedPilotView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t36" class="stm run hide_run"> <span class="nam">queryset</span> <span class="op">=</span> <span class="nam">EngagedPilot</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">all</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t37" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">EngagedPilotSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t38" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t39" class="stm run hide_run"><span class="key">class</span> <span class="nam">ListRelaysByRaceAndTeamView</span><span class="op">(</span><span class="nam">generics</span><span class="op">.</span><span class="nam">ListAPIView</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t40" class="stm run hide_run"> <span class="nam">serializer_class</span> <span class="op">=</span> <span class="nam">ListRelaysByRaceAndTeamSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t41" class="stm run hide_run"> <span class="key">def</span> <span class="nam">get_queryset</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t42" class="stm mis"> <span class="nam">raceid</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">kwargs</span><span class="op">[</span><span class="str">'raceid'</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t43" class="stm mis"> <span class="key">return</span> <span class="nam">Race</span><span class="op">.</span><span class="nam">objects</span><span class="op">.</span><span class="nam">filter</span><span class="op">(</span><span class="nam">id</span><span class="op">=</span><span class="nam">raceid</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t44" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t45" class="stm run hide_run"><span class="str">""" </span><span class="strut">&nbsp;</span></p>
<p id="t46" class="pln"><span class="str"> def get_queryset(self):</span><span class="strut">&nbsp;</span></p>
<p id="t47" class="pln"><span class="str"> raceid = self.kwargs['raceid']</span><span class="strut">&nbsp;</span></p>
<p id="t48" class="pln"><span class="str"> teamid = self.kwargs['teamid']</span><span class="strut">&nbsp;</span></p>
<p id="t49" class="pln"><span class="str"> return Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)</span><span class="strut">&nbsp;</span></p>
<p id="t50" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t51" class="pln"><span class="str">class ListRelaysByRaceAndTeamView(generics.ListAPIView):</span><span class="strut">&nbsp;</span></p>
<p id="t52" class="pln"><span class="str"> #Getting the params from the url with the "self.kwargs.get" </span><span class="strut">&nbsp;</span></p>
<p id="t53" class="pln"><span class="str"> #and filter with thoses in the relays relation</span><span class="strut">&nbsp;</span></p>
<p id="t54" class="pln"><span class="str"> serializer_class = RelayPilotSerializer</span><span class="strut">&nbsp;</span></p>
<p id="t55" class="pln"><span class="str"> lookup_url_raceid = "raceid"</span><span class="strut">&nbsp;</span></p>
<p id="t56" class="pln"><span class="str"> lookup_url_teamid = "teamid"</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t58" class="pln"><span class="str"> def get_queryset(self):</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="pln"><span class="str"> raceid = self.kwargs.get(self.lookup_url_raceid)</span><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln"><span class="str"> teamid = self.kwargs.get(self.lookup_url_teamid)</span><span class="strut">&nbsp;</span></p>
<p id="t61" class="pln"><span class="str"> relays = Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"><span class="str"> return relays</span><span class="strut">&nbsp;</span></p>
<p id="t63" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
created at 2019-01-16 23:08
</p>
</div>
</div>
</body>
</html>

View File

@ -6,17 +6,10 @@ if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "api.settings")
try:
from django.core.management import execute_from_command_line
except ImportError:
# The above import may fail for some other reason. Ensure that the
# issue is really that Django is missing to avoid masking other
# exceptions on Python 2.
try:
import django
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
)
raise
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)

View File

@ -1,30 +1,30 @@
# Installation
###Prepare database
python3 manage.py makemigrations
python manage.py makemigrations
###Create admin tables
python3 manage.py migrate
python manage.py migrate
###Populate the database
python3 manage.py loaddata fixtures/db.json
python manage.py loaddata fixtures/db.json
###Dump the database into file
python3 manage.py dumpdata > fixtures/db.json
python manage.py dumpdata > fixtures/db.json
###Create admin user
python3 manage.py createsuperuser --email admin@gmail.com --username admin
python manage.py createsuperuser --email admin@gmail.com --username admin
###Prepare database for timelaps
python3 manage.py makemigrations timelaps
python manage.py makemigrations timelaps
###migrate timelaps
python3 manage.py migrate
python manage.py migrate
# Exploitation
###Exécuter les tests
python3 manage.py test
python manage.py test
coverage run --source='.' manage.py test
coverage html
@ -36,4 +36,4 @@ cd /mnt/d/Dev/Applications/timelaps_api
service postgresql start
service apache2 start
python3 manage.py runserver
python manage.py runserver

View File

@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib import admin
from .models import *
from .models import Kart, Params, Relay, Driver
# Register your models here.
admin.site.register(Driver)
admin.site.register(Race)
admin.site.register(Relay)
admin.site.register(Rules)
admin.site.register(Team)
admin.site.register(EngagedPilot)
admin.site.register(Params)
admin.site.register(Kart)

View File

@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.apps import AppConfig

View File

@ -1,4 +1,4 @@
# Generated by Django 2.1.5 on 2019-01-15 23:31
# Generated by Django 2.0.3 on 2019-04-15 20:12
from django.db import migrations, models
import django.db.models.deletion
@ -18,27 +18,27 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(blank=True, default=None, max_length=30, null=True)),
('last_name', models.CharField(blank=True, default=None, max_length=30, null=True)),
('ref_time', models.IntegerField()),
],
),
migrations.CreateModel(
name='EngagedPilot',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('order', models.IntegerField(blank=True, default=None, null=True)),
('pilot', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pilot', to='timelaps.Driver')),
],
),
migrations.CreateModel(
name='Race',
name='Kart',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, default=None, max_length=30, null=True)),
('start_date', models.DateTimeField(blank=True, default=None, null=True)),
('end_date', models.DateTimeField(blank=True, default=None, null=True)),
('duration', models.IntegerField()),
('autonomy', models.IntegerField()),
('comment', models.CharField(blank=True, default=None, max_length=256, null=True)),
],
),
migrations.CreateModel(
name='Params',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('autonomy', models.IntegerField()),
('default_relay', models.IntegerField()),
('stand_minimum_time', models.IntegerField()),
],
),
migrations.CreateModel(
name='Relay',
fields=[
@ -47,42 +47,14 @@ class Migration(migrations.Migration):
('relay_end', models.DateTimeField(blank=True, default=None, null=True)),
('has_refuel', models.BooleanField(default=False)),
('pilot_chrono', models.IntegerField(blank=True, default=None, null=True)),
('relay_autonomy', models.IntegerField(blank=True, default=None, null=True)),
('comment', models.CharField(blank=True, default=None, max_length=256, null=True)),
('team_pilot', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relays', to='timelaps.EngagedPilot')),
],
),
migrations.CreateModel(
name='Rules',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('min_stand_duration', models.IntegerField(blank=True, default=None, null=True)),
('max_autonomy_dry', models.IntegerField()),
('max_autonomy_wet', models.IntegerField()),
('max_driving_duration', models.IntegerField(blank=True, default=None, null=True)),
('relay_default_duration', models.IntegerField(blank=True, default=None, null=True)),
],
),
migrations.CreateModel(
name='Team',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(blank=True, default=None, max_length=30, null=True)),
('comment', models.CharField(blank=True, default=None, max_length=256, null=True)),
('team_pilot', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='driver_running', to='timelaps.Driver')),
],
),
migrations.AddField(
model_name='race',
name='fk_rules',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='timelaps.Rules'),
),
migrations.AddField(
model_name='engagedpilot',
name='race',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='race', to='timelaps.Race'),
),
migrations.AddField(
model_name='engagedpilot',
name='team',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='team', to='timelaps.Team'),
model_name='driver',
name='kart_id',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='timelaps.Kart'),
),
]

View File

@ -1,13 +1,12 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Team(models.Model):
class Kart(models.Model):
# Name of the team
name = models.CharField(max_length=30, default=None, blank=True, null=True)
autonomy = models.IntegerField()
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
def __str__(self):
@ -15,59 +14,42 @@ class Team(models.Model):
class Driver(models.Model):
# Name of the pilot
kart = models.ForeignKey(Kart, related_name='drivers', on_delete=models.CASCADE)
short_name = models.CharField(max_length=10, default=None, blank=True, null=True)
first_name = models.CharField(max_length=30, default=None, blank=True, null=True)
last_name = models.CharField(max_length=30, default=None, blank=True, null=True)
order = models.IntegerField()
ref_time = models.IntegerField()
class Meta:
ordering = ['order']
def __str__(self):
return self.last_name
return '%d: %s' % (self.first_name, self.last_name)
class Rules(models.Model):
#Minimum time in the pitlane
min_stand_duration = models.IntegerField(default=None, blank=True, null=True)
#Maximum autonomy of the kart in dry condition (In seconds)
max_autonomy_dry = models.IntegerField()
#Maximum autonomy of the kart in wet condition (In seconds)
max_autonomy_wet = models.IntegerField()
#Maximum driving time by driver(In seconds)
max_driving_duration = models.IntegerField(default=None, blank=True, null=True)
#Start and end date of the race
relay_default_duration = models.IntegerField(default=None, blank=True, null=True)
class Race(models.Model):
# Name of the race
name = models.CharField(max_length=30, default=None, blank=True, null=True)
#Start and end date of the race
start_date = models.DateTimeField(default=None, blank=True, null=True)
end_date = models.DateTimeField(default=None, blank=True, null=True)
#Lenth of th race in seconds
duration = models.IntegerField()
#Link to the rules of the race
fk_rules = models.ForeignKey(Rules, on_delete=models.CASCADE)
#Comment the race
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
def __str__(self):
return self.name
class EngagedPilot(models.Model):
# Foreign keys to the team pilot and race
team = models.ForeignKey(Team, related_name='team', on_delete=models.CASCADE)
pilot = models.ForeignKey(Driver, related_name='pilot', on_delete=models.CASCADE)
race = models.ForeignKey(Race, related_name='engagedpilots', on_delete=models.CASCADE)
order = models.IntegerField(default=None, blank=True, null=True)
class Params(models.Model):
# Name of the pilot
autonomy = models.IntegerField()
default_relay = models.IntegerField()
stand_minimum_time = models.IntegerField()
class Relay(models.Model):
# Name of the team
team_pilot = models.ForeignKey(EngagedPilot, related_name='relays', on_delete=models.CASCADE)
# Fk driver
driver = models.ForeignKey(Driver, on_delete=models.CASCADE)
# Fk kart
kart = models.ForeignKey(Kart, on_delete=models.CASCADE)
#Starting timestamp for the relay
relay_start = models.DateTimeField()
#ending timestamp for the relay
relay_end = models.DateTimeField(default=None, blank=True, null=True)
#Does the pilot did refuel
#Does the previous pilot refuel
has_refuel = models.BooleanField(default=False)
#Average chrono for the pulot on this relay
pilot_chrono = models.IntegerField(default=None, blank=True, null=True)
driver_chrono = models.IntegerField(default=None, blank=True, null=True)
#ending timestamp for the relay
relay_autonomy = models.IntegerField(default=None, blank=True, null=True)
#comment the relay
comment = models.CharField(max_length=256, default=None, blank=True, null=True)

View File

@ -1,45 +1,80 @@
from rest_framework import serializers
from .models import *
from django.contrib.auth.models import User
from .models import Driver, Kart, Params, Relay
class DriverSerializer(serializers.ModelSerializer):
class Meta:
model = Driver
fields = ('first_name','last_name')
fields = ('id', 'first_name', 'last_name', 'order', 'ref_time')
def update(self, instance, validated_data):
instance.first_name = validated_data.get("first_name", instance.first_name)
instance.last_name = validated_data.get("last_name", instance.last_name)
instance.order = validated_data.get("order", instance.order)
instance.ref_time = validated_data.get("ref_time", instance.ref_time)
instance.save()
return instance
def create(self, validated_data):
return Driver.objects.create(**validated_data)
class KartSerializer(serializers.ModelSerializer):
drivers = DriverSerializer(many=True, read_only=True)
class RaceSerializer(serializers.ModelSerializer):
class Meta:
model = Race
fields = ('name','start_date','end_date','duration', 'comment','fk_rules')
model = Kart
fields = ('id', 'name', 'autonomy', 'drivers')
def update(self, instance, validated_data):
instance.name = validated_data.get("name", instance.name)
instance.autonomy = validated_data.get("autonomy", instance.autonomy)
instance.comment = validated_data.get("comment", instance.comment)
instance.save()
return instance
def create(self, validated_data):
return Kart.objects.create(**validated_data)
class RelaySerializer(serializers.ModelSerializer):
class Meta:
model = Relay
fields = ('relay_start','relay_end','has_refuel','pilot_chrono','pilot_chrono', 'comment','team_pilot')
fields = ('id', 'relay_start', 'relay_end', 'has_refuel', 'driver_chrono', 'relay_autonomy', 'comment',
'kart_id', 'driver_id')
class RulesSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data):
instance.relay_start = validated_data.get("relay_start", instance.relay_start)
instance.relay_end = validated_data.get("relay_end", instance.relay_end)
instance.has_refuel = validated_data.get("has_refuel", instance.has_refuel)
instance.driver_chrono = validated_data.get("driver_chrono", instance.driver_chrono)
instance.relay_autonomy = validated_data.get("relay_autonomy", instance.relay_autonomy)
instance.comment = validated_data.get("comment", instance.comment)
instance.kart_id = validated_data.get("kart_id", instance.kart_id)
instance.driver_id = validated_data.get("driver_id", instance.driver_id)
instance.save()
return instance
def create(self, validated_data):
return Relay.objects.create(**validated_data)
class ParamSerializer(serializers.ModelSerializer):
class Meta:
model = Rules
fields = ('min_stand_duration', 'max_autonomy_dry', 'max_autonomy_wet', 'max_driving_duration', 'relay_default_duration')
model = Params
fields = ('id', 'default_relay', 'autonomy', 'stand_minimum_time')
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = ('name', 'comment')
def update(self, instance, validated_data):
instance.default_relay = validated_data.get("default_relay", instance.default_relay)
instance.autonomy = validated_data.get("autonomy", instance.autonomy)
instance.stand_minimum_time = validated_data.get("stand_minimum_time", instance.stand_minimum_time)
instance.save()
return instance
class EngagedPilotSerializer(serializers.ModelSerializer):
class Meta:
model = EngagedPilot
fields = ('order','team','pilot','race')
class EngagedPilotsSerializer(serializers.ModelSerializer):
relays = RelaySerializer(many=True)
class Meta:
model = EngagedPilot
fields = ('order','team','pilot','race', 'relays')
class ListRelaysByRaceAndTeamSerializer(serializers.ModelSerializer):
engagedpilots = EngagedPilotsSerializer(many=True)
class Meta:
model = Race
fields = ('name','start_date','end_date','duration', 'comment','fk_rules', 'engagedpilots')
def create(self, validated_data):
return Params.objects.create(**validated_data)

View File

@ -1,48 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.test import TestCase
# Create your tests here.
from django.urls import reverse
from rest_framework.test import APITestCase, APIClient
from rest_framework.views import status
from .models import *
from .serializers import DriverSerializer
"""
# tests for views
class BaseViewTest(APITestCase):
client = APIClient()
@staticmethod
def create_song(title="", artist=""):
if title != "" and artist != "":
Songs.objects.create(title=title, artist=artist)
def setUp(self):
# add test data
self.create_song("like glue", "sean paul")
self.create_song("simple song", "konshens")
self.create_song("love is wicked", "brick and lace")
self.create_song("jam rock", "damien marley")
class GetAllSongsTest(BaseViewTest):
def test_get_all_songs(self):
#This test ensures that all songs added in the setUp method
#exist when we make a GET request to the songs/ endpoint
# hit the API endpoint
response = self.client.get(
reverse("songs-all", kwargs={"version": "v1"})
)
# fetch the data from db
expected = Songs.objects.all()
serialized = SongsSerializer(expected, many=True)
self.assertEqual(response.data, serialized.data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
"""

View File

@ -1,13 +1,18 @@
from django.urls import path
from django.conf.urls import url
from .views import *
from .views import ListCreateDriversView, DriversDetailView, KartsDetailView, ListCreateKartsView#, ListCreateRulesView, RulesDetailView, \
#ListCreateKartsView, KartsDetailView, ListCreateRelaysView, RelaysDetailView, ListCreateRacesView, \
#RacesDetailView
urlpatterns = [
path('drivers/', ListDriverView.as_view()),
path('races/', ListRaceView.as_view()),
path('relays/', ListRelayView.as_view()),
path('rules/', ListRulesView.as_view()),
path('teams/', ListTeamView.as_view()),
path('engagedpilots/', ListEngagedPilotView.as_view()),
url('race/(?P<raceid>\d+)', ListRelaysByRaceAndTeamView.as_view()),
path('drivers/', ListCreateDriversView.as_view(), name="drivers-list-create"),
path('drivers/<int:pk>/', DriversDetailView.as_view(), name="drivers-detail"),
path('karts/', ListCreateKartsView.as_view(), name="karts-list-create"),
path('karts/<int:pk>/', KartsDetailView.as_view(), name="drivers-detail"),
# path('karts/<int:pk>/', KartsDetailView.as_view(), name="karts-detail"),
# path('rules/', ListCreateRulesView.as_view(), name="rules-list-create"),
# path('rules/<int:pk>/', RulesDetailView.as_view(), name="rules-detail"),
# path('relays/', ListCreateRelaysView.as_view(), name="relays-list-create"),
# path('relays/<int:pk>/', RelaysDetailView.as_view(), name="relays-detail"),
# path('races/', ListCreateRacesView.as_view(), name="races-list-create"),
# path('races/<int:pk>/', RacesDetailView.as_view(), name="races-detail"),
]

View File

@ -1,63 +1,164 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from rest_framework import generics
from .models import *
from .serializers import *
# Create your views here.
from rest_framework import generics
from rest_framework import permissions
from rest_framework.response import Response
from rest_framework.views import status
class ListDriverView(generics.ListAPIView):
from .decorators import validate_request_driver_data
from .models import Driver, Kart, Params, Relay
from .serializers import DriverSerializer, RelaySerializer, ParamSerializer, KartSerializer
import logging
logger = logging.getLogger(__name__)
class DriversDetailView(generics.ListAPIView):
"""
Provides a get method handler.
"""
queryset = Driver.objects.all()
serializer_class = DriverSerializer
#permission_classes = (permissions.IsAuthenticated,)
class ListRaceView(generics.ListAPIView):
queryset = Race.objects.all()
serializer_class = RaceSerializer
def get(self, request, *args, **kwargs):
try:
a_song = self.queryset.get(pk=kwargs["pk"])
return Response(DriverSerializer(a_song).data)
except Driver.DoesNotExist:
return Response(
data={
"message": "Driver with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
class ListRelayView(generics.ListAPIView):
queryset = Relay.objects.all()
serializer_class = RelaySerializer
#@validate_request_driver_data
def put(self, request, *args, **kwargs):
try:
a_driver = self.queryset.get(pk=kwargs["pk"])
serializer = DriverSerializer(instance=a_driver, data=request.data, partial=True)
updated_driver = serializer.update(a_driver, request.data)
return Response(DriverSerializer(updated_driver).data)
except Driver.DoesNotExist:
return Response(
data={
"message": "Driver with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
class ListRulesView(generics.ListAPIView):
queryset = Rules.objects.all()
serializer_class = RulesSerializer
def delete(self, request, *args, **kwargs):
try:
a_driver = self.queryset.get(pk=kwargs["pk"])
a_driver.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
except Driver.DoesNotExist:
return Response(
data={
"message": "Driver with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
class ListTeamView(generics.ListAPIView):
queryset = Team.objects.all()
serializer_class = TeamSerializer
class ListEngagedPilotView(generics.ListAPIView):
queryset = EngagedPilot.objects.all()
serializer_class = EngagedPilotSerializer
class KartsDetailView(generics.ListAPIView):
"""
Provides a get method handler.
"""
queryset = Kart.objects.all()
serializer_class = KartSerializer
#permission_classes = (permissions.IsAuthenticated,)
class ListRelaysByRaceAndTeamView(generics.ListAPIView):
serializer_class = ListRelaysByRaceAndTeamSerializer
def get_queryset(self):
raceid = self.kwargs['raceid']
return Race.objects.filter(id=raceid)
def get(self, request, *args, **kwargs):
try:
a_song = self.queryset.get(pk=kwargs["pk"])
return Response(KartSerializer(a_song).data)
except Kart.DoesNotExist:
return Response(
data={
"message": "Kart with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
"""
def get_queryset(self):
raceid = self.kwargs['raceid']
teamid = self.kwargs['teamid']
return Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)
#@validate_request_driver_data
def put(self, request, *args, **kwargs):
try:
a_driver = self.queryset.get(pk=kwargs["pk"])
serializer = KartSerializer(instance=a_driver, data=request.data, partial=True)
updated_driver = serializer.update(a_driver, request.data)
return Response(KartSerializer(updated_driver).data)
except Kart.DoesNotExist:
return Response(
data={
"message": "Kart with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
class ListRelaysByRaceAndTeamView(generics.ListAPIView):
#Getting the params from the url with the "self.kwargs.get"
#and filter with thoses in the relays relation
serializer_class = RelayPilotSerializer
lookup_url_raceid = "raceid"
lookup_url_teamid = "teamid"
def delete(self, request, *args, **kwargs):
try:
a_driver = self.queryset.get(pk=kwargs["pk"])
a_driver.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
except Kart.DoesNotExist:
return Response(
data={
"message": "Kart with id: {} does not exist".format(kwargs["pk"])
},
status=status.HTTP_404_NOT_FOUND
)
class ListCreateDriversView(generics.ListCreateAPIView):
"""
GET songs/
POST songs/
"""
queryset = Driver.objects.all()
serializer_class = DriverSerializer
#permission_classes = (permissions.IsAuthenticated,)
#@validate_request_driver_data
def post(self, request, *args, **kwargs):
logger.error('ListCreateDriversView => post')
a_song = Driver.objects.create(
first_name=request.data["first_name"],
last_name=request.data["last_name"],
order=request.data["order"],
ref_time=request.data["ref_time"],
kart_id=request.data["kart_id"]
)
return Response(
data=DriverSerializer(a_song).data,
status=status.HTTP_201_CREATED
)
class ListCreateKartsView(generics.ListCreateAPIView):
"""
GET songs/
POST songs/
"""
queryset = Kart.objects.all()
serializer_class = KartSerializer
#permission_classes = (permissions.IsAuthenticated,)
#@validate_request_driver_data
def post(self, request, *args, **kwargs):
logger.error('ListCreateKartsView => post')
a_song = Kart.objects.create(
first_name=request.data["first_name"],
last_name=request.data["last_name"],
order=request.data["order"],
ref_time=request.data["ref_time"],
kart_id=request.data["kart_id"]
)
return Response(
data=DriverSerializer(a_song).data,
status=status.HTTP_201_CREATED
)
def get_queryset(self):
raceid = self.kwargs.get(self.lookup_url_raceid)
teamid = self.kwargs.get(self.lookup_url_teamid)
relays = Relay.objects.filter(team_pilot__team=teamid).filter(team_pilot__race=raceid)
return relays
"""