Skip to content

Instantly share code, notes, and snippets.

@ytjohn
Last active July 23, 2018 11:45
Show Gist options
  • Select an option

  • Save ytjohn/6d063d2a4bc2d9e4261e7deb44abc9a6 to your computer and use it in GitHub Desktop.

Select an option

Save ytjohn/6d063d2a4bc2d9e4261e7deb44abc9a6 to your computer and use it in GitHub Desktop.
code test
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"name: first1 last1\n",
" home1-1, away1\n",
" home2-1, away2\n",
" home3-1, away3\n",
"name: first2 last2\n",
" home1-1, away1\n",
" home2-1, away2\n",
" home3-1, away3\n",
"\n",
" <div class=\"row\">\n",
" <div class=\"col-md-12\">\n",
" \n",
" \n",
" \n",
" \n",
" <h3>First1 Last1</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>Home1</td>\n",
" <td>1-1</td>\n",
" <td>Away1</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" <tr>\n",
" <td>Home2</td>\n",
" <td>2-1</td>\n",
" <td>Away2</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" <tr>\n",
" <td>Home3</td>\n",
" <td>3-1</td>\n",
" <td>Away3</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" \n",
" </tbody>\n",
" </table>\n",
" \n",
" <h3>First2 Last2</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>Home1</td>\n",
" <td>1-1</td>\n",
" <td>Away1</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" <tr>\n",
" <td>Home2</td>\n",
" <td>2-1</td>\n",
" <td>Away2</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" <tr>\n",
" <td>Home3</td>\n",
" <td>3-1</td>\n",
" <td>Away3</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" </tbody>\n",
" </table> \n",
" </div>\n",
" </div>\n"
]
}
],
"source": [
"from jinja2 import Template\n",
"\n",
"predictions = [\n",
" ['first1 last1', 1, 'home1', 'away1', 1],\n",
" ['first1 last1', 2, 'home2', 'away2', 1],\n",
" ['first1 last1', 3, 'home3', 'away3', 1],\n",
" ['first2 last2', 1, 'home1', 'away1', 1],\n",
" ['first2 last2', 2, 'home2', 'away2', 1],\n",
" ['first2 last2', 3, 'home3', 'away3', 1]\n",
"]\n",
"\n",
"name = 'blank'\n",
"\n",
"for row in predictions:\n",
" if name != row[0]:\n",
" print('name: {}'.format(row[0]))\n",
" print(' {}-{}, {}'.format(row[2], row[4], row[3]))\n",
" name = row[0]\n",
" \n",
"template_raw = '''\n",
" <div class=\"row\">\n",
" <div class=\"col-md-12\">\n",
" {% set name = namespace(txt = \"blank\") %}\n",
" {% for row in predictions %}\n",
" {% if name.txt != row[0] %}\n",
" {% if not loop.first %}\n",
" </tbody>\n",
" </table>\n",
" {% endif %}\n",
" <h3>{{ row[0].title() }}</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" {% endif %}\n",
" <tr>\n",
" <td>{{ row[2].title() }}</td>\n",
" <td>{{ row[1] }}-{{ row[4] }}</td>\n",
" <td>{{ row[3].title() }}</td>\n",
" </tr>\n",
" {% set name.txt = row[0] %}\n",
"\n",
" {% endfor %}\n",
" </tbody>\n",
" </table> \n",
" </div>\n",
" </div>'''\n",
"\n",
"template = Template(template_raw)\n",
"\n",
"print(template.render(predictions=predictions))\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"first1 last1 [1, 'home1', 'away1', 1]\n",
"first1 last1 [2, 'home2', 'away2', 1]\n",
"first1 last1 [3, 'home3', 'away3', 1]\n",
"first2 last2 [1, 'home1', 'away1', 1]\n",
"first2 last2 [2, 'home2', 'away2', 1]\n",
"first2 last2 [3, 'home3', 'away3', 1]\n",
"{\"first1 last1\": [[1, \"home1\", \"away1\", 1], [2, \"home2\", \"away2\", 1], [3, \"home3\", \"away3\", 1]], \"first2 last2\": [[1, \"home1\", \"away1\", 1], [2, \"home2\", \"away2\", 1], [3, \"home3\", \"away3\", 1]]}\n",
"\n",
" <div class=\"row\">\n",
" <div class=\"col-md-12\">\n",
" \n",
" <h3>first1 last1</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>Home1</td>\n",
" <td>1-1</td>\n",
" <td>Away1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Home2</td>\n",
" <td>2-1</td>\n",
" <td>Away2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Home3</td>\n",
" <td>3-1</td>\n",
" <td>Away3</td>\n",
" </tr>\n",
" \n",
" </tbody>\n",
" </table> \n",
" \n",
" <h3>first2 last2</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>Home1</td>\n",
" <td>1-1</td>\n",
" <td>Away1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Home2</td>\n",
" <td>2-1</td>\n",
" <td>Away2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Home3</td>\n",
" <td>3-1</td>\n",
" <td>Away3</td>\n",
" </tr>\n",
" \n",
" </tbody>\n",
" </table> \n",
" \n",
" </div>\n",
" </div>\n"
]
}
],
"source": [
"from jinja2 import Template\n",
"import json\n",
"\n",
"predictions = [\n",
" ['first1 last1', 1, 'home1', 'away1', 1],\n",
" ['first1 last1', 2, 'home2', 'away2', 1],\n",
" ['first1 last1', 3, 'home3', 'away3', 1],\n",
" ['first2 last2', 1, 'home1', 'away1', 1],\n",
" ['first2 last2', 2, 'home2', 'away2', 1],\n",
" ['first2 last2', 3, 'home3', 'away3', 1]\n",
"]\n",
"\n",
"grouped = dict()\n",
"for row in predictions:\n",
" name = row[0]\n",
" data = row[1:]\n",
" print(name, data)\n",
" if name not in grouped.keys():\n",
" grouped[name] = list()\n",
" \n",
" grouped[name].append(data)\n",
" \n",
"print(json.dumps(grouped))\n",
" \n",
"template_raw = '''\n",
" <div class=\"row\">\n",
" <div class=\"col-md-12\">\n",
" {% for name in predictions %}\n",
" <h3>{{ name|title }}</h3>\n",
" <table class=\"table table-condensed table-bordered table-striped text-center\">\n",
" <thead>\n",
" <tr>\n",
" <td>Home Team</td>\n",
" <td>Prediction</td>\n",
" <td>Away Team</td>\n",
" <td>Result</td>\n",
" <td>Points</td>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" {% for row in predictions[name] %}\n",
" <tr>\n",
" <td>{{ row[1].title() }}</td>\n",
" <td>{{ row[0] }}-{{ row[3] }}</td>\n",
" <td>{{ row[2].title() }}</td>\n",
" </tr>\n",
" {% endfor %}\n",
" </tbody>\n",
" </table> \n",
" {% endfor %}\n",
" </div>\n",
" </div>'''\n",
"\n",
"template = Template(template_raw)\n",
"\n",
"print(template.render(predictions=grouped))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment