working, außer F-Jugend

This commit is contained in:
Norbert
2025-08-31 14:51:45 +02:00
parent 12a5b8bfe5
commit cb16d47f50
26 changed files with 1108 additions and 492 deletions

View File

@@ -0,0 +1,528 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Imports \n",
"import os\n",
"import sys\n",
"import subprocess\n",
"import time\n",
"import dateutil.parser\n",
"from ids import *\n",
"#from hallen import *\n",
"import locale\n",
"import re\n",
"import requests\n",
"from bs4 import BeautifulSoup\n",
"import tabulate\n",
"#NummerDJugend=10\n",
"#%run ./QR_parser.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"tex_code = r\"\"\"\n",
"\\documentclass[12pt,a4paper,landscape]{extarticle}\n",
"\\usepackage[T1]{fontenc}\n",
"\\usepackage[default]{opensans}\n",
"\\usepackage[utf8]{inputenc}\n",
"\\usepackage[table]{xcolor}\n",
"\\usepackage[margin=0.01in]{geometry}\n",
"\\usepackage{array}\n",
"\\usepackage{arev}\n",
"%\\usepackage[T1]{fontenc}\n",
"\\usepackage{scalefnt}\n",
"\\usepackage{caption}\n",
"\\usepackage{array}\n",
"\\usepackage{graphicx}\n",
"\\usepackage[absolute]{textpos}\n",
"\\usepackage{threeparttable}\n",
"\\newcolumntype{L}[1]{>{\\raggedright\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n",
"\\newcolumntype{C}[1]{>{\\centering\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n",
"\\newcolumntype{R}[1]{>{\\raggedleft\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n",
"\\makeatletter\n",
"\\newcommand{\\thickhline}{%\n",
" \\noalign {\\ifnum 0=`}\\fi \\hrule height 2pt\n",
" \\futurelet \\reserved@a \\@xhline\n",
"}\n",
"\\setlength{\\tabcolsep}{.16667em}\n",
"\\newcolumntype{\"}{@{\\hskip\\tabcolsep\\vrule width 2pt\\hskip\\tabcolsep}}\n",
"\\makeatother\n",
"\\usepackage{color, colortbl}\n",
"\\definecolor{LRed}{rgb}{1,.8,.8}\n",
"\\definecolor{LGreen}{rgb}{.8,1,.8}\n",
"\\definecolor{LBlue}{rgb}{8,39,142}\n",
"\\renewcommand{\\rmdefault}{ptm}\n",
"\\setlength{\\topmargin}{-2.5cm}\n",
"\\begin{document}\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[]\n",
"['Pokal']\n",
"[]\n",
"['Pokal']\n",
"['Pokal']\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n",
"[]\n"
]
}
],
"source": [
"for y in range(len(team)):\n",
"#for y in range(10):\n",
" #print('Y=',y)\n",
" #print(team[y])\n",
" #print(y)\n",
" #print(team)\n",
" try: \n",
" table=tabelle(team[y])\n",
" except: \n",
" print('Table ', team[y][1], ' failed')\n",
" try:\n",
" Teamspielplan=teamspielplan(team[y])\n",
" except:\n",
" print('Teamspielplan ', team[y][1], 'failed')\n",
" parse=re.compile(r\"([K|L]\\w*\\s\\d?)\")\n",
" Liga=getliga(team[y])\n",
" #print(y, team[y])\n",
" tex_code += r\"\"\"\n",
" \\begin{textblock}{3}(0,13.2)\n",
" \\begin{figure}\n",
" \\includegraphics[width=3cm]{\"\"\"+team[y][Shortname]\n",
" tex_code += r\"\"\"}\\\\\\centering\n",
" Link zur liga\\end{figure}\\end{textblock}\n",
" \\begin{center}\n",
" \\vspace{0cm}\n",
" {\\scalefont{3}\"\"\"\n",
" tex_code +=r\"{}\".format(team[y][Alias])\n",
" tex_code +=r\"\"\"}\\\\\\scalefont{2}\"\"\"\n",
" if y<14:\n",
" tex_code +=r\"{}\".format(Liga)\n",
" tex_code +=r\"\"\"\\\\\"\"\"\n",
" tex_code +=r\"\"\"\n",
" \\vspace{0cm}\n",
" \\end{center}\n",
" \\rowcolors{2}{gray!25}{white}\n",
" \\begin{table}[h]\"\"\"\n",
" tex_code +=r\"\"\"\\small\n",
" \"\"\"\n",
" tex_code +=r\"\"\"\\centering\"\"\"\n",
" if len(table[0]) == 9:\n",
" tex_code +=r\"\"\"\\begin{tabular}{|L{0.6cm}|L{4.3cm}|C{1.2cm}|C{0.5cm}|C{0.4cm}|C{0.5cm}|C{1.5cm}|C{1.2cm}|C{1.3cm}|}\"\"\"\n",
" tex_code +=r\"\"\"\\hline\n",
" \\rowcolor{gray!50}\"\"\"\n",
" tex_code +=r\"\"\"Nr. & Mannschaft &Spiele& S & U &N & Tore & diff. & Punkte\\\\\"\"\"\n",
" if len(table[0]) == 7:\n",
" tex_code +=r\"\"\"\\begin{tabular}{|L{0.6cm}|L{5.5cm}|C{1.3cm}|C{0.5cm}|C{0.4cm}|C{0.5cm}|C{1.5cm}|}\"\"\"\n",
" tex_code +=r\"\"\"\\hline\n",
" \\rowcolor{gray!50}\"\"\"\n",
" tex_code +=r\"\"\"Nr. & Mannschaft &Spiele& S & U &N & Punkte\\\\\"\"\"\n",
" if len(table[0]) == 3:\n",
" tex_code +=r\"\"\"\\begin{tabular}{|L{5.5cm}|}\"\"\"\n",
" tex_code +=r\"\"\"\\hline\n",
" \\rowcolor{gray!50}\"\"\"\n",
" tex_code +=r\"\"\"Mannschaft\\\\\"\"\"\n",
" tex_code +=r\"\"\"\\hline \"\"\"\n",
" for x in range(len(table)):\n",
" verein = Teamspielplan_kuerzen(table[x][1])\n",
" rank = table[x][0]\n",
" if len(table[x][3]) < 3:\n",
" spiele =table[x][2]\n",
" else:\n",
" spiele = '-'\n",
" try: \n",
" if len(table[x][3]) < 3:\n",
" siege = table[x][3]\n",
" else: \n",
" siege = '-'\n",
" except:\n",
" siege = '0'\n",
" if table[x][3].startswith('zur') or table[x][2].startswith('zur'):\n",
" break\n",
" if len(table[0]) > 3:\n",
" try: \n",
" unentschieden = table[x][4]\n",
" niederlagen = table[x][5]\n",
" except:\n",
" unentschieden ='-'\n",
" niederlagen = '-'\n",
" if len(table[0]) > 7:\n",
" try:\n",
" tore = table[x][6]\n",
" diff = table[x][7]\n",
" punkte = table[x][8]\n",
" except:\n",
" tore = '-'\n",
" diff = '-'\n",
" punkte = '-'\n",
" if len(table[0]) == 7: \n",
" try:\n",
" punkte = table[x][6]\n",
" tore = '-'\n",
" diff = '-'\n",
" except:\n",
" punkte = '-'\n",
" print('Tabellenlänge falsch: '+team[y][1])\n",
" print(table)\n",
" #spiele=\"\\multicolumn{4}{|c|}{\"+table[x][2]+\"}\"\n",
" rank = '\\\\textbf{' + rank + '}'\n",
" #if \"Eschweiler\" in verein:\n",
" if team[y][0] == verein:\n",
" verein='\\\\textbf{'+verein+'}'\n",
" spiele = '\\\\textbf{' + spiele + '}'\n",
" siege = '\\\\textbf{' + siege + '}'\n",
" unentschieden = '\\\\textbf{' + unentschieden + '}'\n",
" niederlagen = '\\\\textbf{' + niederlagen + '}'\n",
" tore = '\\\\textbf{' + tore + '}'\n",
" diff = '\\\\textbf{' + diff + '}'\n",
" punkte = '\\\\textbf{' + punkte + '}'\n",
" if len(table[0]) == 9:\n",
" tex_code += r\"\"\"{}&{}&{}&{}&{}&{}&{}&{}&{}\\\\\"\"\".format(rank,verein, spiele,siege,unentschieden,niederlagen,tore,diff,punkte)\n",
" if len(table[0]) == 7:\n",
" tex_code += r\"\"\"{}&{}&{}&{}&{}&{}&{}\\\\\"\"\".format(rank,verein, spiele,siege,unentschieden,niederlagen,punkte)\n",
" if len(table[0]) == 3:\n",
" tex_code += r\"\"\"{}\\\\\"\"\".format(verein)\n",
" tex_code += os.linesep\n",
" tex_code+=r\"\"\"\n",
" \\hline\n",
" \\end{tabular}\"\"\"\n",
" tex_code+=r\"\"\"\\hspace*{0.3cm}\"\"\"\n",
" if len(table[0]) > 3:\n",
" tex_code+=r\"\"\"\n",
" \\begin{tabular}{|C{0.65cm}|C{2cm}|C{1.0cm}|C{4.1cm}|C{4.1cm}|C{1.2cm}|C{1.4cm}|}\n",
" \\hline\n",
" \\rowcolor{gray!50}\n",
" Tag & Datum & Zeit& Heim & Gast & Erg.& Halle\\\\\n",
" \"\"\"\n",
" if len(table[0]) == 3:\n",
" tex_code+=r\"\"\"\n",
" \\begin{tabular}{|C{0.65cm}|C{2cm}|C{1.0cm}|C{4.1cm}|C{4.1cm}|C{1.4cm}|}\n",
" \\hline\n",
" \\rowcolor{gray!50}\n",
" Tag & Datum & Zeit& Heim & Gast & Halle\\\\\n",
" \"\"\"\n",
" \n",
" for x in range(len(Teamspielplan)):\n",
" tag = Teamspielplan[x][0]\n",
" if tag == 'Termin offen':\n",
" tag = ' '\n",
" Teamspielplan[x][0]='offen'\n",
" Teamspielplan[x].insert(0,'')\n",
" zeit = Teamspielplan[x][2].lstrip()\n",
" #try:\n",
" # zeit = Teamspielplan[x][2]\n",
" #except: \n",
" # zeit = Teamspielplan[x][2].replace('v', '') \n",
" if zeit == '00:00':\n",
" zeit = ''\n",
" datum = Teamspielplan[x][1]\n",
" heim = Teamspielplan_kuerzen(Teamspielplan[x][5])\n",
" gast = Teamspielplan_kuerzen(Teamspielplan[x][6])\n",
" if team[y][0] == heim:\n",
" heim='\\\\textbf{'+team[y][0]+'}'\n",
" if team[y][0] == gast:\n",
" gast='\\\\textbf{'+team[y][0]+'}'\n",
" turnhalle = Teamspielplan[x][3]\n",
" ergebnis = Teamspielplan[x][7]\n",
" #print(ergebnis)\n",
" if \"spielfrei\" in gast or \"spielfrei\" in heim:\n",
" continue\n",
" if len(table[0]) > 3:\n",
" tex_code += r\"{}&{}&{}&{}&{}&{}&{}\\\\\".format(tag,datum,zeit[0:5],heim,gast,ergebnis,halle(turnhalle))\n",
" tex_code += os.linesep\n",
" if len(table[0]) == 3:\n",
" tex_code += r\"{}&{}&{}&{}&{}&{}\\\\\".format(tag,datum,zeit[0:5],heim,gast,halle(turnhalle))\n",
" tex_code += os.linesep\n",
" tex_code+=r\"\"\"\n",
" \\hline\n",
" \\end{tabular}\"\"\"\n",
" tex_code+=r\"\"\"\n",
" \\end{table}\"\"\"\n",
" erklaerung =''\n",
" if any('NG' in sublist for sublist in Teamspielplan):\n",
" erklaerung += '\\\\textbf{NG} = Gastmannschaft nicht angetreten' \n",
" if any('NH' in sublist for sublist in Teamspielplan):\n",
" if erklaerung != '':\n",
" erklaerung += '; '\n",
" erklaerung += '\\\\textbf{NH} = Heimmannschaft nicht angetreten' \n",
" if any('WG' in sublist for sublist in Teamspielplan):\n",
" if erklaerung != '':\n",
" erklaerung += '; '\n",
" erklaerung += '\\\\textbf{WG} = Wertung für Heimmannschaft' \n",
" if any('WH' in sublist for sublist in Teamspielplan):\n",
" if erklaerung != '':\n",
" erklaerung += '; '\n",
" erklaerung += '\\\\textbf{WH} = Wertung für Auswärtsmannschaft' \n",
" if any('ZH' in sublist for sublist in Teamspielplan):\n",
" if erklaerung != '':\n",
" erklaerung += '; '\n",
" erklaerung += '\\\\textbf{ZH} = Heimmannschaft zurückgezogen'\n",
" if any('ZG' in sublist for sublist in Teamspielplan):\n",
" if erklaerung != '':\n",
" erklaerung += '; '\n",
" erklaerung += '\\\\textbf{ZG} = Gastmannschaft zurückgezogen'\n",
" if erklaerung != '':\n",
" tex_code+=r\"\"\"\\begin{textblock}{9}(7,15.5)\"\"\"\n",
" tex_code+=erklaerung\n",
" tex_code+=r\"\"\"\\end{textblock}\"\"\"\n",
" tex_code+=r\"\"\"\n",
" \\newpage\"\"\"\n",
"\n",
"tex_code += r\"\"\"\n",
"\\centering\n",
"\\scalefont{5}Die nächsten Spiele\\\\[0.5cm]\n",
"\\begin{table}[h]\n",
"\\centering\n",
"\\begin{tabular}{|p{3cm} R{10cm} p{0.5cm} p{10cm} p{4cm}|}\n",
"\\rowcolor{gray!50}\n",
"\"\"\"\n",
"minis=False\n",
"Spiele=naechsteSpiele(4)\n",
"Tage=0\n",
"spiele=0\n",
"for spiel in Spiele:\n",
" tag = spiel[0]\n",
" if tag == '' :\n",
" spiele=spiele+1\n",
" else: \n",
" Tage=Tage+1\n",
"#print(Tage)\n",
"#print(spiele)\n",
"if spiele > 18:\n",
" limit=Tage-1\n",
" #print(\"begrenzt\")\n",
"else:\n",
" limit = 8\n",
"#print(limit)\n",
"ctr=0\n",
"for spiel in Spiele:\n",
" tag = spiel[0]\n",
" datum = spiel[1]\n",
" uhrzeit = spiel[2]\n",
" if tag != '' :\n",
" ctr=ctr+1\n",
" if ctr>limit:\n",
" break\n",
" tex_code += r\"\"\"\\rowcolor{darkgray!50}\\hline\\multicolumn{5}{|l|}{{\\scalefont{2.5}\\textbf{\\textcolor{white}{\"\"\"\n",
" tex_code += r\"{}\".format(tag + '' + datum)\n",
" tex_code += r\"}}}}\\\\\"\n",
" tex_code += os.linesep\n",
" halle=spiel[3]\n",
" heim=spiel[6]\n",
" gast=spiel[7]\n",
" if (heim==\"spielfrei\") or (gast == \"spielfrei\"):\n",
" continue \n",
" if (heim==\"\\\\textbf{Minis}\") or (gast == \"\\\\textbf{Minis}\"):\n",
" if minis == True:\n",
" continue\n",
" if minis == False:\n",
" minis = True\n",
" #TEXT=\"Mini Turnier\"\n",
" tex_code += r'\\LARGE {'+uhrzeit[0:5]+r'}&\\multicolumn{3}{c}{\\LARGE \\\\textbf{ MINI Turnier}}&\\LARGE {'+ halle +r'}' \n",
" tex_code += r\"\\\\\"\n",
" tex_code += os.linesep\n",
" # 18 Lines\n",
" else:\n",
" # print bla.strftime(\"%d.%m.%Y %H:%M\"), heim,' - ', gast, halle, strasse, ort, gespann\n",
" tex_code += r\"\\LARGE {}&\\LARGE {} &\\LARGE :& \\LARGE {}&\\LARGE {}\\\\\".format(uhrzeit[0:5],heim,gast,halle)\n",
" tex_code += os.linesep\n",
"tex_code += r\"\"\"\n",
"\\hline\n",
"\\end{tabular}\n",
"\\end{table}\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"done.\n",
"This is pdfTeX, Version 3.141592653-2.6-1.40.28 (TeX Live 2025) (preloaded format=pdflatex)\n",
" restricted \\write18 enabled.\n",
"entering extended mode\n",
"(./tabelle.tex\n",
"LaTeX2e <2025-06-01> patch level 1\n",
"L3 programming layer <2025-08-13>\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/extsizes/extarticle.cls\n",
"Document Class: extarticle 1996/10/08 v1.0 Non Standard LaTeX document class\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/size12.clo)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/exscale.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/fontenc.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/opensans/opensans.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/fontaxes/fontaxes.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/figureversions/figureversions.sty\n",
")) (/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifluatex.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/iftex.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifxetex.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/xkeyval/xkeyval.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/xkeyval.tex\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/xkvutils.tex\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/keyval.tex)))))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/inputenc.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/xcolor/xcolor.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-cfg/color.cfg)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-def/pdftex.def)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/mathcolor.ltx))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/colortbl/colortbl.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/tools/array.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/geometry/geometry.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifvtex.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/arev.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/arevtext.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/fontenc.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/opensans/T1opensans-TLF.fd))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/textcomp.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/arevmath.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/amssymb.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/amsfonts.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/ams-mdbch.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/base/ifthen.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/arevsymbols.tex))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/bera/beramono.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/carlisle/scalefnt.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/caption/caption.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/caption/caption3.sty))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/graphicx.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/graphics.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/trig.sty)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)))\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/textpos/textpos.sty\n",
"Grid set 16 x 16 = 52.81541pt x 37.34424pt\n",
"TextBlockOrigin set to 0pt x 0pt\n",
")\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/threeparttable/threeparttable.sty\n",
") (/usr/local/texlive/2025/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)\n",
"\n",
"No file tabelle.aux.\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/mathdesign/mdacmr.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/context/base/mkii/supp-pdf.mkii\n",
"[Loading MPS to PDF converter (version 2006.09.02).]\n",
") (/usr/local/texlive/2025/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))\n",
"*geometry* driver: auto-detecting\n",
"*geometry* detected driver: pdftex\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/ot1zavm.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/omlzavm.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/omszavm.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/mathdesign/mdbch/omxmdbch.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsa.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsb.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/mathdesign/mdbch/mdamdbch.fd)\n",
"(/usr/local/texlive/2025/texmf-dist/tex/latex/arev/uzavm.fd)\n",
"[1{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{/usr/l\n",
"ocal/texlive/2025/texmf-dist/fonts/enc/dvips/opensans/a_jg4h6q.enc} <./H1.png (\n",
"PNG copy)>]\n",
"[2 <./H2.png (PNG copy)>]\n",
"[3 <./H3.png (PNG copy)>]\n",
"[4 <./H4.png (PNG copy)>]\n",
"[5 <./D1.png (PNG copy)>]\n",
"[6 <./D2.png (PNG copy)>]\n",
"[7 <./mC.png (PNG copy)>]\n",
"[8 <./mC2.png (PNG copy)>]\n",
"[9 <./gJD.png (PNG copy)>]\n",
"[10 <./gJD2.png (PNG copy)>]\n",
"[11 <./gJE.png (PNG copy)>]\n",
"[12 <./gJE2.png (PNG copy)>]\n",
"[13 <./gJE3.png (PNG copy)>]\n",
"[14] (./tabelle.aux) )</usr/local/texlive/2025/texmf-dist/fonts/type1/ascender/\n",
"opensans/OpenSans-Bold.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/asce\n",
"nder/opensans/OpenSans-Regular.pfb>\n",
"Output written on tabelle.pdf (14 pages, 111611 bytes).\n",
"Transcript written on tabelle.log.\n"
]
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tex_code+=r\"\"\"\n",
"\\end{document}\"\"\"\n",
"#print(tex_code)\n",
"tex_file = \"tabelle.tex\"\n",
"with open(tex_file, \"w\") as out_file:\n",
" out_file.write(tex_code)\n",
"print(\"done.\")\n",
"os.system(\"/usr/local/texlive/2025/bin/universal-darwin/pdflatex tabelle.tex\")\n",
"os.system(\"rm -f *.log *.aux\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"kernel_info": {
"name": "ldap3-ipython"
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.6"
},
"nteract": {
"version": "0.15.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

View File

@@ -0,0 +1,100 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"#import requests\n",
"#import re\n",
"#from bs4 import BeautifulSoup\n",
"import qrcode\n",
"from PIL import Image, ImageDraw, ImageFont\n",
" \n",
"#teamlinks = [[0 for x in range(3)] for y in range(17)]\n",
"teamlinks=[]\n",
"teamlinks.append(['1. Herren', 'https://www.esg-handball.de/teams/teammatches/90', 'H1'])\n",
"teamlinks.append(['1. Damen', 'https://www.esg-handball.de/teams/teammatches/12', 'D1'])\n",
"teamlinks.append(['2. Herren', 'https://www.esg-handball.de/teams/teammatches/2', 'H2'])\n",
"teamlinks.append(['2. Damen', 'https://www.esg-handball.de/teams/teammatches/39', 'D2'])\n",
"teamlinks.append(['3. Herren', 'https://www.esg-handball.de/teams/teammatches/48', 'H3'])\n",
"teamlinks.append(['4. Herren', 'https://www.esg-handball.de/teams/teammatches/11', 'H4'])\n",
"teamlinks.append(['5. Herren', 'https://www.esg-handball.de/teams/teammatches/80', 'H5'])\n",
"#teamlinks.append(['mA-Jugend', 'https://www.esg-handball.de/teams/teammatches/5', 'mA'])\n",
"teamlinks.append(['mB-Jugend', 'https://www.esg-handball.de/teams/teammatches/77', 'mB'])\n",
"teamlinks.append(['wB-Jugend', 'https://www.esg-handball.de/teams/teammatches/17', 'wB']) \n",
"teamlinks.append(['mC-Jugend', 'https://www.esg-handball.de/teams/teammatches/78', 'mC'])\n",
"teamlinks.append(['mC2-Jugend', 'https://www.esg-handball.de/teams/teammatches/14', 'mC2'])\n",
"#teamlinks.append(['wC-Jugend', 'https://www.esg-handball.de/teams/teammatches/16', 'wC'])\n",
"teamlinks.append(['gJD-Jugend', 'https://www.esg-handball.de/teams/teammatches/6', 'gJD'])\n",
"teamlinks.append(['gJD-Jugend', 'https://www.esg-handball.de/teams/teammatches/20', 'gJD2'])\n",
"teamlinks.append(['wd-Jugend', 'https://www.esg-handball.de/teams/teammatches/15', 'wD'])\n",
"teamlinks.append(['gJE-Jugend', 'https://www.esg-handball.de/teams/teammatches/7', 'gJE'])\n",
"teamlinks.append(['gJE-Jugend', 'https://www.esg-handball.de/teams/teammatches/20', 'gJE2'])\n",
"teamlinks.append(['gJE-Jugend', 'https://www.esg-handball.de/teams/teammatches/87', 'gJE3'])\n",
"teamlinks.append(['F-Jugend', 'https://www.esg-handball.de/teams/teammatches/8', 'F'])\n",
"teamlinks.append(['F-Jugend 2', 'https://www.esg-handball.de/teams/teammatches/64', 'F2'])\n",
"teamlinks.append(['Minis', 'https://www.esg-handball.de/teams/current/34', 'Mi'])\n",
" \n",
"\n",
"\n",
"\n",
"def gen_qrcode(name, link):\n",
"\timg_bg = Image.new('RGB', (135, 70), color = (0,0,0))\n",
"\tfnt = ImageFont.truetype('/System/Library/Fonts/Supplemental/Arial Bold.ttf', 60)\n",
"\td = ImageDraw.Draw(img_bg)\n",
"\tif len(name) == 3:\n",
"\t\td.text((5,3), name, font=fnt, fill=(255, 255, 255))\n",
"\telse :\n",
"\t\td.text((25,3), name, font=fnt, fill=(255, 255, 255))\n",
"\tqr = qrcode.QRCode(box_size=9,error_correction=qrcode.constants.ERROR_CORRECT_H)\n",
"\tqr.add_data(link)\n",
"\tqr.make()\n",
"\timg_qr = qr.make_image()\n",
"\n",
"\tpos = (int((img_qr.size[0] - img_bg.size[0])/2), int((img_qr.size[1] - img_bg.size[1])/2))\n",
"\n",
"\timg_qr.paste(img_bg, pos)\n",
"\timg_qr.save(name+'.png')\n",
"\t\t\n",
"#teamlinks.pop()\n",
"#teamlinks[len(teamlinks)-1][2]='F'\n",
"for team in (teamlinks):\n",
"\tgen_qrcode(team[2],team[1])\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}