From 9abce9c9a7ca49cf3c21b5d4db3d6fb14b6b73a1 Mon Sep 17 00:00:00 2001 From: Tait Hoyem Date: Tue, 24 May 2022 08:57:19 -0600 Subject: [PATCH] Add barebones system. --- accounts/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 146 bytes accounts/__pycache__/admin.cpython-310.pyc | Bin 0 -> 187 bytes accounts/__pycache__/apps.cpython-310.pyc | Bin 0 -> 429 bytes accounts/__pycache__/models.cpython-310.pyc | Bin 0 -> 533 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 0 -> 981 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 157 bytes core/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 142 bytes core/__pycache__/admin.cpython-310.pyc | Bin 0 -> 1417 bytes core/__pycache__/apps.cpython-310.pyc | Bin 0 -> 417 bytes core/__pycache__/models.cpython-310.pyc | Bin 0 -> 4987 bytes core/migrations/0008_remove_player_teams.py | 17 +++++ core/migrations/0009_teamplayer.py | 23 +++++++ ...goal_assists_alter_goal_goalie_and_more.py | 59 ++++++++++++++++++ .../__pycache__/0001_initial.cpython-310.pyc | Bin 0 -> 1929 bytes .../0002_auto_20220504_2124.cpython-310.pyc | Bin 0 -> 1153 bytes .../0003_auto_20220504_2125.cpython-310.pyc | Bin 0 -> 793 bytes ...004_rename_shot_shotongoal.cpython-310.pyc | Bin 0 -> 529 bytes ...005_rename_shotongoal_shot.cpython-310.pyc | Bin 0 -> 533 bytes .../0006_auto_20220504_2306.cpython-310.pyc | Bin 0 -> 1013 bytes ..._peneltylength_peneltytype.cpython-310.pyc | Bin 0 -> 2146 bytes .../0008_remove_player_teams.cpython-310.pyc | Bin 0 -> 536 bytes .../0009_teamplayer.cpython-310.pyc | Bin 0 -> 888 bytes ...alter_goal_goalie_and_more.cpython-310.pyc | Bin 0 -> 1349 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 153 bytes core/models.py | 27 ++++---- .../game_2/periods_game_one_children.csv | 3 + csvs/children_and_youth/game_2/shots.csv | 0 .../game_2/shots_game_one_children.csv | 33 ++++++++++ .../game_3/periods_game_one_children.csv | 2 + .../game_3/shots_game_three_children.csv | 20 ++++++ .../game_4/periods_game_four_children.csv | 2 + .../game_4/shots_game_four_children.csv | 38 +++++++++++ csvs/children_and_youth/teams.csv | 11 ++++ csvs/open/game_1/penelties.csv | 5 ++ csvs/open/game_1/periods.csv | 4 ++ csvs/open/game_1/shots_game_one_open.csv | 39 ++++++++++++ csvs/open/teams.csv | 20 +++--- scripts/generate_custom_period_times.py | 14 +++++ 38 files changed, 296 insertions(+), 21 deletions(-) create mode 100644 accounts/__pycache__/__init__.cpython-310.pyc create mode 100644 accounts/__pycache__/admin.cpython-310.pyc create mode 100644 accounts/__pycache__/apps.cpython-310.pyc create mode 100644 accounts/__pycache__/models.cpython-310.pyc create mode 100644 accounts/migrations/__pycache__/0001_initial.cpython-310.pyc create mode 100644 accounts/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 core/__pycache__/__init__.cpython-310.pyc create mode 100644 core/__pycache__/admin.cpython-310.pyc create mode 100644 core/__pycache__/apps.cpython-310.pyc create mode 100644 core/__pycache__/models.cpython-310.pyc create mode 100644 core/migrations/0008_remove_player_teams.py create mode 100644 core/migrations/0009_teamplayer.py create mode 100644 core/migrations/0010_alter_goal_assists_alter_goal_goalie_and_more.py create mode 100644 core/migrations/__pycache__/0001_initial.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0002_auto_20220504_2124.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0003_auto_20220504_2125.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0004_rename_shot_shotongoal.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0005_rename_shotongoal_shot.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0006_auto_20220504_2306.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0007_penelty_peneltylength_peneltytype.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0008_remove_player_teams.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0009_teamplayer.cpython-310.pyc create mode 100644 core/migrations/__pycache__/0010_alter_goal_assists_alter_goal_goalie_and_more.cpython-310.pyc create mode 100644 core/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 csvs/children_and_youth/game_2/periods_game_one_children.csv create mode 100644 csvs/children_and_youth/game_2/shots.csv create mode 100644 csvs/children_and_youth/game_2/shots_game_one_children.csv create mode 100644 csvs/children_and_youth/game_3/periods_game_one_children.csv create mode 100644 csvs/children_and_youth/game_3/shots_game_three_children.csv create mode 100644 csvs/children_and_youth/game_4/periods_game_four_children.csv create mode 100644 csvs/children_and_youth/game_4/shots_game_four_children.csv create mode 100644 csvs/children_and_youth/teams.csv create mode 100644 csvs/open/game_1/penelties.csv create mode 100644 csvs/open/game_1/periods.csv create mode 100644 csvs/open/game_1/shots_game_one_open.csv create mode 100755 scripts/generate_custom_period_times.py diff --git a/accounts/__pycache__/__init__.cpython-310.pyc b/accounts/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fe9b73efd67a3c2b614d6cc96a6fa0896eb6e7b0 GIT binary patch literal 146 zcmd1j<>g`kg7p$5Ng(<$h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vMKO;XkRlg)L zvqaw|Ke;qFHLs)?D3+X^T3K9@2xKQFC+C-f1moi~^D;}~Y literal 0 HcmV?d00001 diff --git a/accounts/__pycache__/admin.cpython-310.pyc b/accounts/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b52726f03c3c95fb5f25d3e03f01f310b9537290 GIT binary patch literal 187 zcmd1j<>g`kf(;TSN%lbcF^Gc(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB(jNenx(7s(wjgW{JK_ zesXDUYFxn{z@Si9_uSWrauJCD?c#uS~oG z6X&*wo^(>B(dWB%ddC`A+Yb5B4RbU`A@r$RHrApL@OI5gc}M$=)U&;ScvCd*1O6vszUa) z6_Pkau^|b4?E_Z+9vky>o<8VCrB+rpz0rB!DB6f}`IA~3E6M+xo64>;Nw;2cYW62H r2V^1$S;RKEMa+^B&=zh literal 0 HcmV?d00001 diff --git a/accounts/__pycache__/models.cpython-310.pyc b/accounts/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae90c527066a25ab890f7dbd5577efd3535cb61a GIT binary patch literal 533 zcmYjNu};G<5Ix6fn^x(95JLPxC6o@V2vq_JrY?vjimTqR zUYYm>Chn3Va?(5Bo$u~FTaU*hK-(R=#V4L$lyoh`WQMS(=p;y1K*>_ZC=QCC6ca8HHbVCbYj_8oVRIynY88#>6OmwQdQ1kjYzD^FwXK^*HmnECr=wc5W+em1Z}XSJ7O;f|H6{}^&Is^LJ+MG zek25Ls0)f?A)f23Xm89AH#BNGj-FuX*Lw)tM;AfBV%F5=lb%13>#TavNvMYB-Y*Akt^mO%zUDa^;R#ZE z8Nn~DY2#;p6J!DD&%=zo_Jl8j&z=aRUqzq%EE43vOT*vzueYC47&hfhb6cv`K-4H9 zYg4$pn`?w%6JI0H$Szw(1<8CtXCw<`SVb<2jH^TtIjDwJT#c%+AozqL67hL-jGiJ9 z1H{8Gz8Hxy`c0~pD*n3q&FgL_=OIR06D!DX6$X1(ybh6Nz!&x;d%Usn^cmx|m6|OK zn&VO%%Ua$@*6q8sFq>n z(n=W3xt6VEb=jUG&}GB*8N+Zez&}e~mmeiis~~WZAavHGK8)W>ohu_dHgNkUV)J^T zc?}8Ajn%xcDbWck39-s6Sy+>X5V#^BIxb}`3|`Fpj)XZk(m>Mimd`NJetHWM)>q76 z$QX8PQA@^P%-FjHuRARm#ARDrBnx99=du;DElO!Lby-K-UDbQ8*BS@RgUQ=g9x61u zEwPyTNz5nMd6wpwtg8 zgOHL3lwQ(+5=w%m-Z gr&mgJaj%Q(cc}}Myy)BUk~o%*YC_jYLhktg05Lu$%K!iX literal 0 HcmV?d00001 diff --git a/accounts/migrations/__pycache__/__init__.cpython-310.pyc b/accounts/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d0eafca3faca8e21877f5ecf4ed02ed3d38429b GIT binary patch literal 157 zcmd1j<>g`kg7p$5Ng(<$h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v3KO;XkRlg)L zvqaw|Ke;qFHLs)?D3+X^T3K9@2xKQFC+C-f1amXfixNvR^Ye=Jg`kg3S^oNg(<$h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vIKO;XkRlg)L zvqaw|Ke;qFHLs)?D3+X^T3K9@2xKSc7p3aQ$7kkcmc+;F6;$5hu*uC&Da}c>0~uA! I1SD7(0PedVQ2+n{ literal 0 HcmV?d00001 diff --git a/core/__pycache__/admin.cpython-310.pyc b/core/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cee5a57256fc4bbea69663ba7f5f1ca2ecfffa7d GIT binary patch literal 1417 zcmbVMO>fjN5VaF0>tw%LRGHYzPid3m5R!HUKOXRM-+mtwIofNd^@J22`WU=&fb zAchKR0uh){goX)bA`zKb#FVH&g+<43!70)FOQPvlxVcJaGHF0^&*y_Uws`&!mj>DXQ+3$W5?$9MCOd7W3~1?(Ur>LRI3UQW@w z`2^tXz_@${MiW655rLvAml+N@l0w!^R${JnmfPigavnLJ`QeuchUf(1>2jzUDB3!*y z0K`MrZ4cNJ2bZ<1A-x3-vVqgqrSh}Mh}j_)zlLTV%>y)7gxc9dTzd=#Rc#-wy#Fea zEsIR>-rEu*y9ps(f=8D%D3L^dl8biQ!HTnL<~mIda5bCQ0TysuiBAFWbbN{E-C3eV zDj<>sMc7J&%~2h3jW=ZP$+87IeRiJ(y?L<2uJ zVo|^rKert)VxW#>Ij^>-RoU45z$UQhxYcv$A@~WTZ!t()3(DUM%i?9(Ei}m0XT0r- Z9e>rf=xb!}n_-LeC=WL%XMc`O`WqKUB^Lky literal 0 HcmV?d00001 diff --git a/core/__pycache__/apps.cpython-310.pyc b/core/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55ea8ca5a93e707f4ecf754c24db14c79cb7b902 GIT binary patch literal 417 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 Qc&%EqRQ=o{p1EZG11GRZg8%>k literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0003_auto_20220504_2125.cpython-310.pyc b/core/migrations/__pycache__/0003_auto_20220504_2125.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..95dd5f40b3a1ad99b29ee72eced318e1bd62ada8 GIT binary patch literal 793 zcmZXSy>8S%5PI{{(wS~ zi~`9R&^67t6x+ZhkfZH*O+fsh5Wwh~!T9>l7NRYL2|m$qzh>D49$^tvJNa~%9ZM0V z>ZE;=BuSbVy-|6Zq-nBD7I}J*F09ZSW$b7tyGlVE#q5S+IhG%2gN%bgPFq0co)0_6 zZa9{meMSrh7tf=?#q-$n!n14D@}=jA=Of3RPsPs9I(Lb+j?0azN~!G__r8fk@>!9^u&u)F7&UZR}-x|4=oxifPlYZFephgM@HthE&>0V&?W$8p$G}%;;#r8Wps~< wKLbsX!dvfo8VfstZPBjPKCFC8z7cP{FL9uk7}18WhT*(+YtSy+9(&CH0jG`3+yDRo literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0004_rename_shot_shotongoal.cpython-310.pyc b/core/migrations/__pycache__/0004_rename_shot_shotongoal.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ba3ca3d3001be3719ca67c856da95e40a98d361d GIT binary patch literal 529 zcmY*Wu};G<5Vak*q@fi|z|5AV38CE(VnC{d)K;Qf7AuWUZAucCBo*omD<8tj=Xhn} z7Z@n#6x4E(pWfa1p6=PI({TvK`&l);qlA2zWIs42H+af(1W6=KNk&6T$$&^EtrsFK zpbPeFg-r4ZaT}j_kGNDjSu!i4Dp7eEo6>Ep1dNpPIbXlManG>ow1uMG31Y@ldU zw}yXeF4H_#1%#)*?_Y{&RVfkpLE!iOo(L|2zUGs;s`* z!hQ{3V{fi9@Tw@OyjvBoGRUhEYw-iD%PK-{Y3D%2TPeh4Ff$14+m zfq`;yK`kfw^xoNi_Pf*FZa^^J&+6%j67tcI{SZiQahVHDiYS_sg2t4R0Z~lx7os@O z1$*W(Q({6w?-S3FklLWgW>r#Wx-@B1+K+#tKw_#0UZ*n}a}W!!5mw@rA#W)UMO(H# z{8I~=6{)TuKJWMYm$HH~DL|UJu3ggQOec99Ot3I62Z*g`FkbU@u4HrC`XxL$Gzt%_ zFCCQ922vJUt#Uxzk@9hsEotsu97Uc#^0H&PwpzDr-@ zXs!#0>Ljb9JDsiyC~JeY^a0kUP7pU%qFt*ZGn+z6N9h(WbArhyjEjx% u7-dv^`y01A3b}2oMS^|ksj2&`tM7ibMaL*${p+pa8yr0`%~(3@l>Y!jQH)3c literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0006_auto_20220504_2306.cpython-310.pyc b/core/migrations/__pycache__/0006_auto_20220504_2306.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ef19c742b04f1368ccb678704ff1743d64f9a229 GIT binary patch literal 1013 zcmZ`&J#Q2-5Vd!`A9uNf5TuBYhKAwfm8R< z00AmVPGg!ou|uuzNH=CX1YBSr2{1u3?}HnA;JhV0?+nk7o@3g1Iw_MXRfRTwu0Tk= zKelU^M+cn^occ2wL1GFdc7RT3>fGYjhCWG za>4afRjQb%MApzS3yp7WDh^F(f##|>S+ZyQGnp(z+4GDyl1XuFSTUEo*67ueJ_NYipX6^-cgm}-;lohFW7JXPXC;3`OtE)l`mK| X=rP7j_^c87xxFOqqgi%By6XM`*?J!h literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0007_penelty_peneltylength_peneltytype.cpython-310.pyc b/core/migrations/__pycache__/0007_penelty_peneltylength_peneltytype.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8831772690430aa3ec6789bf14549237e51bcfd GIT binary patch literal 2146 zcmaJ?Npl-T6rN3^(Plfrv9mxBI}?a3oP`TTg~&@xaGbJ~DoU5B(R6Fn@@QK0j2xsZ zT>TF?05{J3o4!$;a^u2wAHBr+7}ipr#1)K5Y%GzU^(j=dLMbkJRNQ;rqp0o~j zd`DK5cqC|;Qz9#4!A7B&1}AhXOBod`OxTRd>M0dHp3xu;M^rjE`Yx<%9?HTYOSwRL zXI9c4M^6_Ao{pV5S5vNGRhXF8_-8ZL2PdiQxK2uouS#`2b4YY>W90~Y|8 z)plqSPV2m1M{iK;>)A?6@GQI88qnxOiAr-%FKh>HWsCj8$gxMH?dOo1_y)dGq zFgrmD4`#IoEFRR`Ia?YylEnu+(XL4IA

1_<^h*q&XFRDrg#k6Jiy8t*FpUmJvIa z-Z7uV1MS16+D5Hl)RWoflQbK1k!PbYP1p&ow{$jS zaUMCjG1iq5L|`^!eHN)R101@6tCbH@!cG~Pgb6^~2ss@Zjuh9o#Z^R#g!aQpl8b9N zbH`9cocLu>xPpNFNe1bEW+{3*B|zJXz9o>x(@t7P9Uu!@MA5DmQFKw!w-xOv`i`PY zioT1q!19q+`^Y!7Q%=sHay=r#r)kie%2mBlMzcU+vkJCQV+^H0gMn#-W2AxnPN<%X^Rj7N-y4=yAy~Ok*xB(u15~%~>L1t;dG!6I(+ zzYgaD#n3gzQ-O7fg_qrf!80t|`Nt_(=DM|RmQCw#=egtQne`m#BGMb?Mc`dGufm5T zzSf`4bMFsj&39!<@3TRADwaBYSC(KyU(}671O$V%mF|m8Yl;IydY|d6eU8PSVaKdl Ip1EQF3tL=-LI3~& literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0008_remove_player_teams.cpython-310.pyc b/core/migrations/__pycache__/0008_remove_player_teams.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..08c2a2b1f4595fe6d4706a53d1bcbd3d5f30bc96 GIT binary patch literal 536 zcmY*Wu};G<5Vakrq@fi|d;kMdmZlpF2r(d7pab2qSZRDpQ<69&E>dRL5Ff(84|!$k zFECKfDOKSlpYPqBpYPdfIP?kH$Le)9rG$K1@YgtkOI*z{I!PqWNkJn@$qkWAIxj>z zKo{)UiJ0V561XeuBLOvjk)?I4GgUT;P5rfhq(CAn2_B~@jU3<$*Ah$q#t`?Ui=;i% zzuU3}%ks2SpwsoZ`5Ak?~}&<%zzy^Khzb%7 literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/0009_teamplayer.cpython-310.pyc b/core/migrations/__pycache__/0009_teamplayer.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..41adc6ca225f9de12dc4d04b465327c5d129d2ad GIT binary patch literal 888 zcmZ8fOK;Oa5MHl0j_o*YK?oHtT<9T}q~Zh;LWP#13bj;_lP@bLGc`7Tgk7gndW9S6 ze}E%@X|J5%Cm=+bwJEJwYsd50d3-Zd4~HS6^Wev)*_O-LH!EB}f`lEqdQ1cuI0Y-6 z*eQ9;9V_#~jl~NFE{Kl|1Uh-|gB$mNzhR@^ck*E)Zo)E4Rnla2rHxnCfQ3GqTif+B zAYq5DZipa@9bhpBCv{>MMNSdHMKAAzpsxoW^v}f!2Oqu9{uf4EK-K`me2{y2ln)_< z0Yv96S%&{v)?mG}qyje1Ib~Rb8&vO26C7R^N>z(_tuWr)-rjyF6_)iW%0-c^P{{_9 zQk!r}zvEV8cm~sb!w>dG!bHikspVW@(jb_@LS<#5R`MOLOrTL^Ns*nQiB3_?YK^i= zN;F=zEN7^U*JUuhHpSV%mN4#gBi96VC8>GXkh{Xd#_!yDQyXDjOuu`q&w|#~>MWEl z$w`I<=%dlP@n!2Mr3s~^i7X2wK9chNGAZn1D*-OB0<7j4YQ;oY~PO>|H-n4;>WaG$Er(&{B4_aINIv^E@O#&0puHkkhL>sQm~yHgX^3;eqw zUzxg3kz4X}ck;F_andANGuf->%MzjpkqWM~p9{(|bu==% z7n`!LkNLWrTnqA0PcHMSCmxfAe69p+C0>Ow4!`WFrjF0M2oXhP7qESkghOUtz&7 z9WNqxJP9WdX_wEkOh<~1s!!Zb%-lEFxD}~K+h~=AU806KO>o;$gC)Xkd*NeBr0uFYy2z&KL>_9 z=@_7ONO(CAX0A{j9{?HYn7?MF_UVN1vCuXhLh*(-xNSN(e*0$d^7%l=V#+RW;5Q^6 z8rID8`=oa&a@H$ITJ&Cs(JW`YP=G;^r78%>hVb6v{`UI)M}168YS=UZU!Id?sO~f- zoI<&9cBZ8?&qx464PgqA?YMtk&$eu9({lgR(%xKZ&!q*nkp8a?zgO`(zK&{Ex^!4^ sTJyL&2fOuK)V<k literal 0 HcmV?d00001 diff --git a/core/migrations/__pycache__/__init__.cpython-310.pyc b/core/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8cf2d5e6b651f4876fe54124fc18fafb09580a51 GIT binary patch literal 153 zcmd1j<>g`kf{hX-Ng(<$h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v8KO;XkRlg)L zvqaw|Ke;qFHLs)?D3+X^T3K9@2xKSc7p3awW~LV#leQzq literal 0 HcmV?d00001 diff --git a/core/models.py b/core/models.py index 9cc6e9e..1309c1a 100644 --- a/core/models.py +++ b/core/models.py @@ -18,7 +18,11 @@ class Player(models.Model): first_name = models.CharField(max_length=32, blank=True, null=False) last_name = models.CharField(max_length=32, blank=False, null=False) middle_names = models.CharField(max_length=64, blank=True, null=False) - teams = models.ManyToManyField(Team, related_name="players", blank=True) + +class TeamPlayer(models.Model): + team = models.ForeignKey(Team, related_name="players", on_delete=models.PROTECT, blank=False, null=False) + player = models.ForeignKey(Player, related_name="teams", on_delete=models.PROTECT, blank=False, null=False) + number = models.IntegerField(blank=False, null=False) class Game(models.Model): _name = models.CharField(max_length=64, blank=True, null=True) @@ -45,11 +49,11 @@ PERIOD_CHOICES = [ ] class Goal(models.Model): - scorer = models.ForeignKey(Player, related_name="goals", on_delete=models.PROTECT, blank=False, null=False) + scorer = models.ForeignKey(TeamPlayer, related_name="goals", on_delete=models.PROTECT, blank=False, null=False) game = models.ForeignKey(Game, related_name="goals", on_delete=models.PROTECT, blank=False, null=False) # NOTE: may be null if empty net - goalie = models.ForeignKey(Player, related_name="goals_on", on_delete=models.PROTECT, blank=True, null=True) - assists = models.ManyToManyField(Player, related_name="assists", blank=True) + goalie = models.ForeignKey(TeamPlayer, related_name="goals_on", on_delete=models.PROTECT, blank=True, null=True) + assists = models.ManyToManyField(TeamPlayer, related_name="assists", blank=True) period = models.IntegerField(choices=PERIOD_CHOICES, blank=False, null=False, default=1) time = models.DurationField(blank=True, null=True) # TODO allow no time column during SO @@ -62,28 +66,29 @@ class Shot(models.Model): ] # NOTE: default shot type is "on goal" shot_type = models.CharField(max_length=1, choices=SHOT_TYPE_CHOICES, blank=False, null=False, default="O") - shooter = models.ForeignKey(Player, related_name="shots", on_delete=models.PROTECT, blank=False, null=False) + shooter = models.ForeignKey(TeamPlayer, related_name="shots", on_delete=models.PROTECT, blank=False, null=False) game = models.ForeignKey(Game, related_name="shots", on_delete=models.PROTECT, blank=False, null=False) period = models.IntegerField(choices=PERIOD_CHOICES, blank=False, null=False, default=1) time = models.DurationField(blank=True, null=True) # NOTE: the goalie the shot was on; note that only player.shots_on.filter(shot_type="O") count as saved goals # NOTE: may be blank if an attempt is made on an open net - goalie = models.ForeignKey(Player, related_name="shots_on", on_delete=models.PROTECT, blank=True, null=True) + goalie = models.ForeignKey(TeamPlayer, related_name="shots_on", on_delete=models.PROTECT, blank=True, null=True) # TODO allow no time column during SO # this is only set in the case of a shot_type="B" for blocked - blocker = models.ForeignKey(Player, related_name="blocked_shots", on_delete=models.PROTECT, blank=True, null=True) + blocker = models.ForeignKey(TeamPlayer, related_name="blocked_shots", on_delete=models.PROTECT, blank=True, null=True) # NOTE: game misconducts will eject a player from the game, but the penelty may be served by another player class PeneltyLength(models.Model): PENELTY_LENGTH_CHOICES = [ ("M", "Minor"), # 2 mins in NHL + ("MR", "Minor (running)"), # 3 minutes for running clock compensation ("D", "Double Minor"), # 4 mins in NHL ("J", "Major"), # 5 mins in NHL ("C", "Misconduct"), # 10 mins in NHL ("G", "Game Misconduct"), # ejection from game in NHL ("S", "Shot"), # penelty shot ] - name = models.CharField(max_length=1, choices=PENELTY_LENGTH_CHOICES, blank=False, null=False) + name = models.CharField(max_length=2, choices=PENELTY_LENGTH_CHOICES, blank=False, null=False) length = models.DurationField(blank=False, null=False) # NOTE: i.e.: "Minor (2:00)", or "Misconduct (10:00")", or "Shot" @@ -123,12 +128,12 @@ class Penelty(models.Model): penelty_length = models.ForeignKey(PeneltyLength, related_name="given_out", on_delete=models.PROTECT, blank=False, null=False) game = models.ForeignKey(Game, related_name="penelties", on_delete=models.PROTECT, blank=False, null=False) # NOTE: may be none if team penelty like too many men - on_ind = models.ForeignKey(Player, related_name="penelties_given", on_delete=models.PROTECT, blank=True, null=True) + on_ind = models.ForeignKey(TeamPlayer, related_name="penelties_given", on_delete=models.PROTECT, blank=True, null=True) # NOTE: may be noen if individual penelty on_team = models.ForeignKey(Team, related_name="penelties_given", on_delete=models.PROTECT, blank=True, null=True) # NOTE: some player will ALWAYS serve the penelty - served_by = models.ForeignKey(Player, related_name="penelties_served", on_delete=models.PROTECT, blank=False, null=False) + served_by = models.ForeignKey(TeamPlayer, related_name="penelties_served", on_delete=models.PROTECT, blank=False, null=False) # NOTE: an indiviaul will not be named in the case of a delay of game; some misconducts, like swearing at a referee also would not list a "drawn_by" - drawn_by = models.ForeignKey(Player, related_name="penelties_drawn", on_delete=models.PROTECT, blank=True, null=True) + drawn_by = models.ForeignKey(TeamPlayer, related_name="penelties_drawn", on_delete=models.PROTECT, blank=True, null=True) period = models.IntegerField(choices=PERIOD_CHOICES, blank=False, null=False) time = models.DurationField(blank=False, null=False) diff --git a/csvs/children_and_youth/game_2/periods_game_one_children.csv b/csvs/children_and_youth/game_2/periods_game_one_children.csv new file mode 100644 index 0000000..6420ccd --- /dev/null +++ b/csvs/children_and_youth/game_2/periods_game_one_children.csv @@ -0,0 +1,3 @@ +period,time,timestamp_start,timestamp_end +1,15:00,7:36,28:29 +2,18:20,29:14,47:34 diff --git a/csvs/children_and_youth/game_2/shots.csv b/csvs/children_and_youth/game_2/shots.csv new file mode 100644 index 0000000..e69de29 diff --git a/csvs/children_and_youth/game_2/shots_game_one_children.csv b/csvs/children_and_youth/game_2/shots_game_one_children.csv new file mode 100644 index 0000000..c0bfef1 --- /dev/null +++ b/csvs/children_and_youth/game_2/shots_game_one_children.csv @@ -0,0 +1,33 @@ +goal,name,period,time,assists,goalie,video_timestamp +0,#16 Yellow,1,14:22,"",???,08:17 +1,#9 Yellow,1,10:40,"",???,14:31 +0,#9 Yellow,1,9:07,"",???,16:25 +0,#24 Yellow,1,6:01,"",???,21:11 +0,#9 Yellow,1,5:11,"",???,22:01 +0,#6 Yellow,1,4:48,"",???,22:24 +0,#54 Black,1,3:59,"",???,23:53 +0,#54 Black,1,2:49,"",???,25:04 +0,#9 Yellow,1,2:02,"",???,26:21 +0,#9 Yellow,1,0:46,"",???,27:36 +0,#24 Yellow,1,0:42,"",???,27:39 +0,#16 Yellow,2,18:08,"",???,29:26 +0,#7 Yellow,2,16:34,"",???,31:00 +0,#9 Yellow,2,15:04,"",???,32:30 +0,#9 Yellow,2,14:54,"",???,32:37 +0,#9 Yellow,2,14:29,"",???,33:05 +0,#9 Yellow,2,14:22,"",???,33:12 +0,#9 Yellow,2,14:12,"",???,33:22 +0,#7 Yellow,2,11:32,"",???,36:02 +0,#7 Yellow,2,11:21,"",???,36:13 +1,#7 Yellow,2,11:12,"",???,36:22 +0,#7 Yellow,2,10:29,"",???,37:05 +0,#7 Yellow,2,09:37,"",???,37:57 +0,#4 Yellow,2,09:35,"",???,37:59 +0,#9 Yellow,2,07:25,"",???,40:09 +0,#9 Yellow,2,06:46,"",???,40:48 +0,#7 Yellow,2,05:06,"",???,42:28 +0,#28 Black,2,03:11,"",???,44:23 +0,#9 Yellow,2,00:57,"",???,46:37 +0,#24 Yellow,2,00:28,"",???,47:06 +0,#24 Yellow,2,00:26,"",???,47:08 +0,#24 Yellow,2,00:24,"",???,47:10 diff --git a/csvs/children_and_youth/game_3/periods_game_one_children.csv b/csvs/children_and_youth/game_3/periods_game_one_children.csv new file mode 100644 index 0000000..98129d4 --- /dev/null +++ b/csvs/children_and_youth/game_3/periods_game_one_children.csv @@ -0,0 +1,2 @@ +period,time,timestamp_start,timestamp_end +1,38:00,0:47,39:36 diff --git a/csvs/children_and_youth/game_3/shots_game_three_children.csv b/csvs/children_and_youth/game_3/shots_game_three_children.csv new file mode 100644 index 0000000..5fb2d16 --- /dev/null +++ b/csvs/children_and_youth/game_3/shots_game_three_children.csv @@ -0,0 +1,20 @@ +goal,name,period,time,assists,goalie,video_timestamp +1,Cassandra Ruttle,1,36:21,"Marie-Ellen",Catharine,2:50 +0,#6 Black,1,33:43,"",Catharine,5:29 +0,#28 Black,1,31:17,"",Catharine,7:53 +1,Marie-Ellen McKecken,30:18,"#10 Black",Catharine,8:47 +0,Sophie,28:39,"",Catharine,10:33 +0,Cassandra,25:43,"",Catharine,13:29 +0,Cassandra,19:41,"",Joseph Robinson,19:30 +1,Jack Lowe,16:26,"",Catharine,16:26 +0,Eli,13:37,"",Joseph Robinson,25:34 +0,Vilot,13:35,"",Rory McDonald,25:36 +1,Cassandra,13:33,"",Rory McDonald,25:39 +0,#10 Black,12:23,"",Rory McDonald,26:49 +0,#12 Black,29:13,"",Rory McDonald,29:13 +1,Cassandra,7:51,"Marie-Ellen",Rory McDonald,31:20 +0,Cassandra,5:05,"",Rory McDonald,34:06 +0,Marie-Ellen,4:19,"",Rory McDonald,34:52 +0,Cassandra,3:37,"",Rory McDonald,35:34 +1,Taylor Wood,2:28,"",Catharine,37:04 +1,Kaden,0:31,"Stark",Catharine,39:04 diff --git a/csvs/children_and_youth/game_4/periods_game_four_children.csv b/csvs/children_and_youth/game_4/periods_game_four_children.csv new file mode 100644 index 0000000..2536b1b --- /dev/null +++ b/csvs/children_and_youth/game_4/periods_game_four_children.csv @@ -0,0 +1,2 @@ +period,time,timestamp_start,timestamp_end +1,42:00,11:10,54:07 diff --git a/csvs/children_and_youth/game_4/shots_game_four_children.csv b/csvs/children_and_youth/game_4/shots_game_four_children.csv new file mode 100644 index 0000000..0c9841c --- /dev/null +++ b/csvs/children_and_youth/game_4/shots_game_four_children.csv @@ -0,0 +1,38 @@ +goal,name,period,time,assists,goalie,video_timestamp +0,Mason,1,41:22,"",MacDonald,11:49 +0,Mason,1,40:03,"",MacDonald,13:08 +0,Gabby,1,37:12,"",MacDonald,15:59 +0,Wood,1,36:08,"",MacDonald,17:03 +0,Aiden,1,33:16,"",MacDonald,19:55 +1,Mason,1,33:13,"",MacDonald,19:58 +0,Aiden,1,32:32,"",MacDonald,20:38 +0,#4 Yellow,1,32:29,"",MacDonald,20:42 +0,Gabby,1,30:48,"",MacDonald,22:23 +0,Gabby,1,29:40,"",MacDonald,23:31 +0,Mason,1,28:29,"",MacDonald,25:29 +1,Gabby,1,26:11,"",MacDonald,27:56 +0,Gabby,1,25:01,"",MacDonald,29:07 +1,Wood,1,24:57,"",MacDonald,29:11 +0,Mason,1,21:18,"",MacDonald,32:30 +1,Gabby,1,19:10,"",MacDonald,34:56 +1,Mason,1,16:46,"",MacDonald,37:22 +0,Aiden,1,16:10,"",MacDonald,37:58 +0,Mason,1,14:51,"",MacDOnald,39:17 +1,Wood,1,13:35,"",MacDonald,40:33 +0,Gabby,1,12:49,"",MacDonald,41:19 +0,Wood,1,12:34,"",MacDonald,41:25 +0,Aiden,1,10:52,"",MacDonald,43:16 +0,Mason,1,10:32,"",MacDonald,43:36 +1,Aiden,1,10:31,"",MacDonald,43:37 +0,Gabby,1,8:07,"",MacDonald,46:01 +0,Wood,1,8:01,"",MacDOnald,46:07 +0,Wood,1,7:23,"",MacDonald,46:46 +1,Kaden,1,6:47,"",MacDonald,47:21 +0,Gabby,1,6:17,"",MacDonald,47:52 +1,Mason,1,5:07,"",MacDonald,49:01 +1,Aiden,1,4:21,"Mason",MacDonald,49:47 +0,Aiden,1,3:36,"",MacDonald,50:32 +0,Mason,1,3:06,"",MacDonald,51:03 +1,Gabby,1,2:24,"",MacDonald,51:44 +1,Gabby,1,1:15,"",MacDonald,52:53 +0,Gabby,1,0:11,"",MacDonald,53:57 diff --git a/csvs/children_and_youth/teams.csv b/csvs/children_and_youth/teams.csv new file mode 100644 index 0000000..7f282c9 --- /dev/null +++ b/csvs/children_and_youth/teams.csv @@ -0,0 +1,11 @@ +player_name,season,division,team,number,position +Eli,2022 Canadian National Blind Hockey Tournament,Children And Youth,Black,28,? +Dylan Wood,2022 Canadian National Blind Hockey Tournament,Children And Youth,Yellow,24,? +Kaden Benoui,2022 Canadian National Blind Hockey Tournament,Children And Youth,Yellow,3,? +Kaden Benoui,2022 Canadian National Blind Hockey Tournament,Children And Youth,Black,17,? +### WTF? How tf am I supposed to handle that lol? +Cassandra Ruttle,2022 Canadian National Blind Hockey Tournament,Children And Youth,Black,10,? +Marie-Ellen,2022 Canadian National Blind Hockey Tournament,Children And Youth,Black,24,? +Mason Yolken,2022 Canadian National Blind Hockey Tournament,Children And Youth,Yellow,7,? +Gabby Alvez,2022 Canadian National Blind Hockey Tournament,Children And Youth,Yellow,9,? +Aiden ???,2022 Canadian National Blind Hockey Tournament,Children And Youth,Yellow,16,? diff --git a/csvs/open/game_1/penelties.csv b/csvs/open/game_1/penelties.csv new file mode 100644 index 0000000..2b40a28 --- /dev/null +++ b/csvs/open/game_1/penelties.csv @@ -0,0 +1,5 @@ +by,served_by,on,period,time,video_timestamp,type,length +Fornasier,Fornasier,Yuha,1,16:23,10:50,O,MR +# 17 Ice Owls on #82 Eclipse +Bentz,Bentz,?,2,19:27,30:30,T,MR +Bentz,Bentz,?,2,7:07,42:49,I,MR diff --git a/csvs/open/game_1/periods.csv b/csvs/open/game_1/periods.csv new file mode 100644 index 0000000..06bf250 --- /dev/null +++ b/csvs/open/game_1/periods.csv @@ -0,0 +1,4 @@ +period,time,timestamp_start,timestamp_end +1,20:00,07:09,27:10 +2,20:00,29:54,51:45 +3,20:00,1:05:56,1:27:05 diff --git a/csvs/open/game_1/shots_game_one_open.csv b/csvs/open/game_1/shots_game_one_open.csv new file mode 100644 index 0000000..89919c6 --- /dev/null +++ b/csvs/open/game_1/shots_game_one_open.csv @@ -0,0 +1,39 @@ +goal,name,period,time,assists,goalie,video_timestamp +0,Yuha,1,19:30,"",Pye,07:43 +0,Fitzpatrick,1,19:29,"",Pye,07:44 +0,Lindberg,1,18:25,"",Cabral,08:48 +0,Amanda,1,14:22,"",Pye,12:52 +0,Leduc,1,12:02,"",Pye,15:11 +0,#11 Eclipse,1,11:14,"",Cabral,15:59 +0,Callagy,1,9:03,"Curtis",Cabral,18:11 +1,Yuha,1,5:06,"DeMontis",Pye,22:07 +1,Sean,1,4:04,"Leduc",Pye,23:09 +0,Yuha,1,2:16,"",Pye,24:57 +0,Amanda,1,1:47,"",Pye,25:27 +0,Lions,1,1:10,"",Cabral,26:03 +0,#11 Eclipse,1,1:09,"",Cabral,26:04 +0,Gobeil,2,18:14,"",Cabral,31:42 +0,Gobeil,2,17:57,"",Cabral,31:59 +0,Gobeil,2,17:31,"",Cabral,32:25 +1,Fornasier,2,14:41,"Lindberg",Cabral,35:16 +0,Arndt,2,12:03,"",Pye,37:53 +0,Fornasier,2,11:22,"",Cabral,38:35 +0,DeMontis,2,10:34,"",Pye,39:23 +0,#8,2,9:49,"",Cabral,40:07 +0,#62,2,9:45,"",Cabral,40:11 +1,Yuha,2,3:01,"DeMontis",Mainella,46:55 +0,Fitzpatrick,2,0:18,"",Mainella,50:52 +1,Yuha,3,19:30,"Fitzpatrick,DeMontis",Mainella,1:06:28 +0,Fornasier,3,16:42,"",Cabral,1:09:16 +0,Callagy,3,15:55,"",Cabral,1:10:03 +0,Fitzpatrick,3,13:15,"",Mainella,1:12:43 +0,Fornasier,3,12:43,"",Cabral,1:13:15 +0,Lindberg,3,12:01,"",Cabral,1:13:57 +1,DeMontis,3,10:49,"Yuha",Mainella,1:15:09 +0,Leduc,3,9:21,"",Mainella,1:16:37 +0,Leduc,3,9:22,"",Mainella,1:16:38 +0,Lindberg,3,8:12,"",Cabral,1:17:47 +1,Gobeil,3,0:59,"Curtis",Cabral,1:24:58 +0,Fornasier,3,0:37,"",Cabral,1:26:28 + + diff --git a/csvs/open/teams.csv b/csvs/open/teams.csv index 70f980d..b3a1bc5 100644 --- a/csvs/open/teams.csv +++ b/csvs/open/teams.csv @@ -1,26 +1,26 @@ -player_name,season,division,team,position -Roland Arndt,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Mark Bentz,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Mark DeMontis,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? +player_name,season,division,team,number,position +Roland Arndt,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,12,? +Mark Bentz,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,17,? +Mark DeMontis,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,86,? Craig Fitzpatrick,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Sean Heaslip,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? +Sean Heaslip,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,9,? Edward Laba,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Hughes Leduc,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? +Hughes Leduc,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,14,? Amanda Provan,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? Paul Schmold,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? Wayne St.Denis,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? Nathan Tunis,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Jason Yuha,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,? -Joey Cabral,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,G +Jason Yuha,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,97,? +Joey Cabral,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,1,G Paul Kerins,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,H Joe McCallion,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,O Robert DeMontis,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,O Sylvian Audet,2022 Canadian National Blind Hockey Tournament,Open Divison,Ice Owls,O Christine Callagy,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? -Joe Fornasier,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? +Joe Fornasier,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,8,? Yan Gobeil,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? Michel Lapierre,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? -Tristan Lindberg,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? +Tristan Lindberg,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,17,? Braedan Lyons,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? Brian Mackie,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? Meghan Mahon,2022 Canadian National Blind Hockey Tournament,Open Divison,Eclipse,? diff --git a/scripts/generate_custom_period_times.py b/scripts/generate_custom_period_times.py new file mode 100755 index 0000000..cb6bf39 --- /dev/null +++ b/scripts/generate_custom_period_times.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +from datetime import timedelta + +def time_to_dict(time): + return {"minutes": int(time.split(":")[0]), "seconds": int(time.split(":")[1])} + +length_of_period = timedelta(**time_to_dict("18:20")) +start_of_period = timedelta(**time_to_dict("29:14")) +shot_at_timestamp = timedelta(**time_to_dict(input("Shot at: "))) +shot_at_diff = shot_at_timestamp - start_of_period +shot_at_period_time = length_of_period - shot_at_diff + +print("{}:{}".format(str(shot_at_period_time.seconds // 60).rjust(2, "0"), str(shot_at_period_time.seconds % 60).rjust(2, "0")))