{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Widget related imports\n", "import ipywidgets as widgets\n", "from IPython.display import display, clear_output, Javascript\n", "from traitlets import Unicode\n", "\n", "# nbconvert related imports\n", "from nbconvert import get_export_names, export_by_name\n", "from nbconvert.writers import FilesWriter\n", "from nbformat import read, NO_CONVERT\n", "from nbconvert.utils.exceptions import ConversionException" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook shows a really roundabout way to get the name of the notebook file using widgets. The true purpose of this demo is to demonstrate how Javascript and Python widget models are related by `id`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a text Widget without displaying it. The widget will be used to store the notebook's name which is otherwise only available in the front-end." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "notebook_name = widgets.Text()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get the current notebook's name by pushing JavaScript to the browser that sets the notebook name in a string widget." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "IPython.notebook.kernel.widget_manager.get_model('23f266cb606d4d24af0e2e5df473d7e0').then(function(model) {\n", " model.set('value', IPython.notebook.notebook_name);\n", " model.save();\n", "});\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "js = \"\"\"IPython.notebook.kernel.widget_manager.get_model('%s').then(function(model) {\n", " model.set('value', IPython.notebook.notebook_name);\n", " model.save();\n", "});\n", "\"\"\" % notebook_name.model_id\n", "display(Javascript(data=js))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'Export As (nbconvert).ipynb'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filename = notebook_name.value\n", "filename" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create the widget that will allow the user to Export the current notebook." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "exporter_names = widgets.Dropdown(options=get_export_names(), value='html')\n", "export_button = widgets.Button(description=\"Export\")\n", "download_link = widgets.HTML(visible=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Export the notebook when the export button is clicked." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "file_writer = FilesWriter()\n", "\n", "def export(name, nb):\n", " \n", " # Get a unique key for the notebook and set it in the resources object.\n", " notebook_name = name[:name.rfind('.')]\n", " resources = {}\n", " resources['unique_key'] = notebook_name\n", " resources['output_files_dir'] = '%s_files' % notebook_name\n", "\n", " # Try to export\n", " try:\n", " output, resources = export_by_name(exporter_names.value, nb)\n", " except ConversionException as e:\n", " download_link.value = \"
Could not export notebook!\"\n", " else:\n", " write_results = file_writer.write(output, resources, notebook_name=notebook_name)\n", " \n", " download_link.value = \"
Results: \\\"{filename}\\\"\".format(filename=write_results)\n", " download_link.visible = True\n", " \n", "def handle_export(widget):\n", " with open(filename, 'r') as f:\n", " export(filename, read(f, NO_CONVERT))\n", " \n", "export_button.on_click(handle_export)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display the controls." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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Szlp0KBBsWPHjqmnnnrq8lKOdwwBAgQIECBAgACBSgjYFaqEumsSIECAAAECBAgQIECAQM0KCNo121oTI0CAAAECBAgQIECAAIFKCAjalVB3TQIECBAgQIAAAQIECBCoWQFBu2Zba2IECBAgQIAAAQIECBAgUAmBnqDd/W7BDYMHD27t6OjYrxKFuGZtCNTX1/97+/btzU1NTW21MSOzIECAAAECBAgQIECAQO8EeoJ2W1tb18iRI2P48OG9G8HRBHYRaG9vjy1btkRDQ4O7JawMAgQIECBAgAABAgQKKdAThlpbW7u6dyELiWDS2Qokn6Xc3NwsaGfLajQCBAgQIECAAAECBHIiIGjnpFF5KlPQzlO31EqAAAECBAgQIECAQNYCgnbWosYLQdsiIECAAAECBAgQIECgyAKCdpG7X6a5C9plgjUsAQIECBAgQIAAAQK5EBC0c9GmfBUpaOerX6olQIAAAQIECBAgQCBbAUE7W0+jdQsI2pYBAQIECBAgQIAAAQJFFhC0i9z9Ms1d0C4TrGEJECBAgAABAgQIEMiFgKCdizblq0hBO1/9Ui0BAgQIECBAgAABAtkKCNrZehqtW0DQtgwIECBAgAABAgQIECiyQCGC9o8//hhLliyJVatWxfXXX5/2u7OzM955552466674thjjy3yGsh87oJ25qQGJECAAAECBAgQIEAgRwKFCNpJP1paWmLmzJnxySef9LTn22+/jd9//z1OPvnksrfs3XffjYaGhjj00EPLfq1KX0DQrnQHXJ8AAQIECBAgQIAAgUoKFCZot7a2xg033PA/QTuB7+joiPr6+rL24Keffoorr7wy3VUXtMtKbXACBAgQIECAAAECBAhUXKCwQTu5dfytt96KCRMmxDfffJPeQp6E7qVLl8acOXNi7NixMXHixHj22Wdjw4YN6W70K6+8EkceeWTcc889ceCBB8bmzZtjzZo1ccghh6TPJV933XUxYsSIdIwPPvggzjjjjHjxxRdj+vTpcffdd8fVV18d48ePj+OPP77ijS9nAXa0y6lrbAIECBAgQIAAAQIEql2gUEE7Cbw7n9H+8ssv45RTTonLLrss7dEPP/wQU6dOjdtvvz22bt0al1xySfr1999/Px588MF44okn4qCDDkp3pk877bQ0PE+ePDmefvrpGDZsWKxbty7uvffeeOmll9JgfuONN8ayZcvSW9NHjRqVBuwkqNvRrvZvCfURIECAAAECBAgQIECgfwKFCtq73jq+Y8eOePvtt9Md7Z2vlStXxsKFC2Pt2rWx//77p1/++OOP48knn0x/Ja/nn38+kuetZ8yYke58v/nmm+nX//777xg3blw8/vjj6a3ot9xySxqsd74E7f4tVGcTIECAAAECBAgQIEAgLwKFDdo7G7TrM9rJDnRyO/npp5+e7lzvKWivXr06DeiXX355ujv+4YcfRl1dXXrsOeecEw888ED6Z0G7uWdt5eWbQZ0ECBAgQIAAAQIECBDIQqDQQTt5TnvFihUxZcqU+OKLL6K9vT2OO+649Hby5Fbxo48+Ot3RXrBgQSxfvjz1nj9/fvpxYGeddVZMmjQpZs2aFWeffXb89ttvce2116a3i2/atClmz54dr776ak+Pkue1kzEOOOCA9Bb0Wn55RruWu2tuBAgQIECAAAECBAjsS6AQQTv5HO2nnnoqfX562rRpMXTo0EhuHf/000/T57KPOOKIuOOOO+Lhhx9O3+QsuS08Cd3z5s2Ln3/+OX2jtGSHO9mp/uWXX9JAnby++uqrNHg3NTXFX3/9Feeff34cfvjh6W3mixcvjvvuuy/dHU9ec+fOjaSOZKe71j+3W9De17edvydAgAABAgQIECBAoJYFChG0+9PA3Z/R7s9YRTlX0C5Kp82TAAECBAgQIECAAIE9CQja+1gXH330UbobvvPN0CyjfQsI2vs2cgQBAgQIECBAgAABArUrIGjvpbfJc9eLFi1K3yAtuUX8pJNOqt2VkOHMBO0MMQ1FgAABAgQIECBAgEDuBATt3LWs+gsWtKu/RyokQIAAAQIECBAgQKB8AoJ2+WwLO7KgXdjWmzgBAgQIECBAgAABAt0CgrZlkLmAoJ05qQEJECBAgAABAgQIEMiRgKCdo2blpVRBOy+dUicBAgQIECBAgAABAuUQELTLoVrwMQXtgi8A0ydAgAABAgQIECBQcAFBu+ALoBzTF7TLoWpMAgQIECBAgAABAgTyIiBo56VTOapT0M5Rs5RKgAABAgQIECBAgEDmAj1Be/369V2jR4+OIUOGZH4RAxZHYNu2bbFx48ZobGzsWVvFmb2ZEiBAgAABAgQIECBAYJd3HW9paZlSV1e3rLOzkwuBPgsMGjQourq6po4ZM2Z5nwdxIgECBAgQIECAAAECBHIsYNcxx81TOgECBAgQIECAAAECBAhUn4CgXX09UREBAgQIECBAgAABAgQI5FhA0M5x85ROgAABAgQIECBAgAABAtUnIGhXX09URIAAAQIECBAgQIAAAQI5FhC0c9w8pRMgQIAAAQIECBAgQIBA9QkI2tXXExURIECAAAECBAgQIECAQI4FBO0cN0/pBAgQIECAAAECBAgQIFB9AoJ29fVERQQIECBAgAABAgQIECCQYwFBO8fNUzoBAgQIECBAgAABAgQIVJ+AoF19PVERAQIECBAgQIAAAQIECORYQNDOcfOUToAAAQIECBAgQIAAAQLVJ/AfhQ2rlK0xgygAAAAASUVORK5CYII=", "text/html": [ "\n", "" ] }, "metadata": { "isWidgetSnapshot": true }, "output_type": "display_data" } ], "source": [ "display(exporter_names, export_button, download_link)" ] } ], "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.4.3+" }, "widgets": { "state": { "073cd4d5b3224dc4a0ab990a846cd672": { "views": [ { "cell": { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "trusted": true }, "outputs": [ { "data": { "image/png": "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Szlp0KBBsWPHjqmnnnrq8lKOdwwBAgQIECBAgACBSgjYFaqEumsSIECAAAECBAgQIECAQM0KCNo121oTI0CAAAECBAgQIECAAIFKCAjalVB3TQIECBAgQIAAAQIECBCoWQFBu2Zba2IECBAgQIAAAQIECBAgUAmBnqDd/W7BDYMHD27t6OjYrxKFuGZtCNTX1/97+/btzU1NTW21MSOzIECAAAECBAgQIECAQO8EeoJ2W1tb18iRI2P48OG9G8HRBHYRaG9vjy1btkRDQ4O7JawMAgQIECBAgAABAgQKKdAThlpbW7u6dyELiWDS2Qokn6Xc3NwsaGfLajQCBAgQIECAAAECBHIiIGjnpFF5KlPQzlO31EqAAAECBAgQIECAQNYCgnbWosYLQdsiIECAAAECBAgQIECgyAKCdpG7X6a5C9plgjUsAQIECBAgQIAAAQK5EBC0c9GmfBUpaOerX6olQIAAAQIECBAgQCBbAUE7W0+jdQsI2pYBAQIECBAgQIAAAQJFFhC0i9z9Ms1d0C4TrGEJECBAgAABAgQIEMiFgKCdizblq0hBO1/9Ui0BAgQIECBAgAABAtkKCNrZehqtW0DQtgwIECBAgAABAgQIECiyQCGC9o8//hhLliyJVatWxfXXX5/2u7OzM955552466674thjjy3yGsh87oJ25qQGJECAAAECBAgQIEAgRwKFCNpJP1paWmLmzJnxySef9LTn22+/jd9//z1OPvnksrfs3XffjYaGhjj00EPLfq1KX0DQrnQHXJ8AAQIECBAgQIAAgUoKFCZot7a2xg033PA/QTuB7+joiPr6+rL24Keffoorr7wy3VUXtMtKbXACBAgQIECAAAECBAhUXKCwQTu5dfytt96KCRMmxDfffJPeQp6E7qVLl8acOXNi7NixMXHixHj22Wdjw4YN6W70K6+8EkceeWTcc889ceCBB8bmzZtjzZo1ccghh6TPJV933XUxYsSIdIwPPvggzjjjjHjxxRdj+vTpcffdd8fVV18d48ePj+OPP77ijS9nAXa0y6lrbAIECBAgQIAAAQIEql2gUEE7Cbw7n9H+8ssv45RTTonLLrss7dEPP/wQU6dOjdtvvz22bt0al1xySfr1999/Px588MF44okn4qCDDkp3pk877bQ0PE+ePDmefvrpGDZsWKxbty7uvffeeOmll9JgfuONN8ayZcvSW9NHjRqVBuwkqNvRrvZvCfURIECAAAECBAgQIECgfwKFCtq73jq+Y8eOePvtt9Md7Z2vlStXxsKFC2Pt2rWx//77p1/++OOP48knn0x/Ja/nn38+kuetZ8yYke58v/nmm+nX//777xg3blw8/vjj6a3ot9xySxqsd74E7f4tVGcTIECAAAECBAgQIEAgLwKFDdo7G7TrM9rJDnRyO/npp5+e7lzvKWivXr06DeiXX355ujv+4YcfRl1dXXrsOeecEw888ED6Z0G7uWdt5eWbQZ0ECBAgQIAAAQIECBDIQqDQQTt5TnvFihUxZcqU+OKLL6K9vT2OO+649Hby5Fbxo48+Ot3RXrBgQSxfvjz1nj9/fvpxYGeddVZMmjQpZs2aFWeffXb89ttvce2116a3i2/atClmz54dr776ak+Pkue1kzEOOOCA9Bb0Wn55RruWu2tuBAgQIECAAAECBAjsS6AQQTv5HO2nnnoqfX562rRpMXTo0EhuHf/000/T57KPOOKIuOOOO+Lhhx9O3+QsuS08Cd3z5s2Ln3/+OX2jtGSHO9mp/uWXX9JAnby++uqrNHg3NTXFX3/9Feeff34cfvjh6W3mixcvjvvuuy/dHU9ec+fOjaSOZKe71j+3W9De17edvydAgAABAgQIECBAoJYFChG0+9PA3Z/R7s9YRTlX0C5Kp82TAAECBAgQIECAAIE9CQja+1gXH330UbobvvPN0CyjfQsI2vs2cgQBAgQIECBAgAABArUrIGjvpbfJc9eLFi1K3yAtuUX8pJNOqt2VkOHMBO0MMQ1FgAABAgQIECBAgEDuBATt3LWs+gsWtKu/RyokQIAAAQIECBAgQKB8AoJ2+WwLO7KgXdjWmzgBAgQIECBAgAABAt0CgrZlkLmAoJ05qQEJECBAgAABAgQIEMiRgKCdo2blpVRBOy+dUicBAgQIECBAgAABAuUQELTLoVrwMQXtgi8A0ydAgAABAgQIECBQcAFBu+ALoBzTF7TLoWpMAgQIECBAgAABAgTyIiBo56VTOapT0M5Rs5RKgAABAgQIECBAgEDmAj1Be/369V2jR4+OIUOGZH4RAxZHYNu2bbFx48ZobGzsWVvFmb2ZEiBAgAABAgQIECBAYJd3HW9paZlSV1e3rLOzkwuBPgsMGjQourq6po4ZM2Z5nwdxIgECBAgQIECAAAECBHIsYNcxx81TOgECBAgQIECAAAECBAhUn4CgXX09UREBAgQIECBAgAABAgQI5FhA0M5x85ROgAABAgQIECBAgAABAtUnIGhXX09URIAAAQIECBAgQIAAAQI5FhC0c9w8pRMgQIAAAQIECBAgQIBA9QkI2tXXExURIECAAAECBAgQIECAQI4FBO0cN0/pBAgQIECAAAECBAgQIFB9AoJ29fVERQQIECBAgAABAgQIECCQYwFBO8fNUzoBAgQIECBAgAABAgQIVJ+AoF19PVERAQIECBAgQIAAAQIECORYQNDOcfOUToAAAQIECBAgQIAAAQLVJ/AfhQ2rlK0xgygAAAAASUVORK5CYII=", "text/html": "\n" }, "metadata": { "isWidgetSnapshot": true }, "output_type": "display_data" } ], "source": "display(exporter_names, export_button, download_link)" }, "cell_index": 12, "root": true } ] }, "23f266cb606d4d24af0e2e5df473d7e0": { "views": [] }, "30ffcb416a7248fe8f45c355b0658cbb": { "views": [] }, "539631829f7d42f69900a8be5dfc1a9d": { "views": [] }, "995a5d0765ed408bab7092202d894a17": { "views": [] }, "b742a29038314a40ad129fe0b04d52c9": { "views": [] }, "c40401ca6d5d4eb9a2d8ed7b2a10158d": { "views": [ { "cell": { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "trusted": true }, "outputs": [ { "data": { "image/png": "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Szlp0KBBsWPHjqmnnnrq8lKOdwwBAgQIECBAgACBSgjYFaqEumsSIECAAAECBAgQIECAQM0KCNo121oTI0CAAAECBAgQIECAAIFKCAjalVB3TQIECBAgQIAAAQIECBCoWQFBu2Zba2IECBAgQIAAAQIECBAgUAmBnqDd/W7BDYMHD27t6OjYrxKFuGZtCNTX1/97+/btzU1NTW21MSOzIECAAAECBAgQIECAQO8EeoJ2W1tb18iRI2P48OG9G8HRBHYRaG9vjy1btkRDQ4O7JawMAgQIECBAgAABAgQKKdAThlpbW7u6dyELiWDS2Qokn6Xc3NwsaGfLajQCBAgQIECAAAECBHIiIGjnpFF5KlPQzlO31EqAAAECBAgQIECAQNYCgnbWosYLQdsiIECAAAECBAgQIECgyAKCdpG7X6a5C9plgjUsAQIECBAgQIAAAQK5EBC0c9GmfBUpaOerX6olQIAAAQIECBAgQCBbAUE7W0+jdQsI2pYBAQIECBAgQIAAAQJFFhC0i9z9Ms1d0C4TrGEJECBAgAABAgQIEMiFgKCdizblq0hBO1/9Ui0BAgQIECBAgAABAtkKCNrZehqtW0DQtgwIECBAgAABAgQIECiyQCGC9o8//hhLliyJVatWxfXXX5/2u7OzM955552466674thjjy3yGsh87oJ25qQGJECAAAECBAgQIEAgRwKFCNpJP1paWmLmzJnxySef9LTn22+/jd9//z1OPvnksrfs3XffjYaGhjj00EPLfq1KX0DQrnQHXJ8AAQIECBAgQIAAgUoKFCZot7a2xg033PA/QTuB7+joiPr6+rL24Keffoorr7wy3VUXtMtKbXACBAgQIECAAAECBAhUXKCwQTu5dfytt96KCRMmxDfffJPeQp6E7qVLl8acOXNi7NixMXHixHj22Wdjw4YN6W70K6+8EkceeWTcc889ceCBB8bmzZtjzZo1ccghh6TPJV933XUxYsSIdIwPPvggzjjjjHjxxRdj+vTpcffdd8fVV18d48ePj+OPP77ijS9nAXa0y6lrbAIECBAgQIAAAQIEql2gUEE7Cbw7n9H+8ssv45RTTonLLrss7dEPP/wQU6dOjdtvvz22bt0al1xySfr1999/Px588MF44okn4qCDDkp3pk877bQ0PE+ePDmefvrpGDZsWKxbty7uvffeeOmll9JgfuONN8ayZcvSW9NHjRqVBuwkqNvRrvZvCfURIECAAAECBAgQIECgfwKFCtq73jq+Y8eOePvtt9Md7Z2vlStXxsKFC2Pt2rWx//77p1/++OOP48knn0x/Ja/nn38+kuetZ8yYke58v/nmm+nX//777xg3blw8/vjj6a3ot9xySxqsd74E7f4tVGcTIECAAAECBAgQIEAgLwKFDdo7G7TrM9rJDnRyO/npp5+e7lzvKWivXr06DeiXX355ujv+4YcfRl1dXXrsOeecEw888ED6Z0G7uWdt5eWbQZ0ECBAgQIAAAQIECBDIQqDQQTt5TnvFihUxZcqU+OKLL6K9vT2OO+649Hby5Fbxo48+Ot3RXrBgQSxfvjz1nj9/fvpxYGeddVZMmjQpZs2aFWeffXb89ttvce2116a3i2/atClmz54dr776ak+Pkue1kzEOOOCA9Bb0Wn55RruWu2tuBAgQIECAAAECBAjsS6AQQTv5HO2nnnoqfX562rRpMXTo0EhuHf/000/T57KPOOKIuOOOO+Lhhx9O3+QsuS08Cd3z5s2Ln3/+OX2jtGSHO9mp/uWXX9JAnby++uqrNHg3NTXFX3/9Feeff34cfvjh6W3mixcvjvvuuy/dHU9ec+fOjaSOZKe71j+3W9De17edvydAgAABAgQIECBAoJYFChG0+9PA3Z/R7s9YRTlX0C5Kp82TAAECBAgQIECAAIE9CQja+1gXH330UbobvvPN0CyjfQsI2vs2cgQBAgQIECBAgAABArUrIGjvpbfJc9eLFi1K3yAtuUX8pJNOqt2VkOHMBO0MMQ1FgAABAgQIECBAgEDuBATt3LWs+gsWtKu/RyokQIAAAQIECBAgQKB8AoJ2+WwLO7KgXdjWmzgBAgQIECBAgAABAt0CgrZlkLmAoJ05qQEJECBAgAABAgQIEMiRgKCdo2blpVRBOy+dUicBAgQIECBAgAABAuUQELTLoVrwMQXtgi8A0ydAgAABAgQIECBQcAFBu+ALoBzTF7TLoWpMAgQIECBAgAABAgTyIiBo56VTOapT0M5Rs5RKgAABAgQIECBAgEDmAj1Be/369V2jR4+OIUOGZH4RAxZHYNu2bbFx48ZobGzsWVvFmb2ZEiBAgAABAgQIECBAYJd3HW9paZlSV1e3rLOzkwuBPgsMGjQourq6po4ZM2Z5nwdxIgECBAgQIECAAAECBHIsYNcxx81TOgECBAgQIECAAAECBAhUn4CgXX09UREBAgQIECBAgAABAgQI5FhA0M5x85ROgAABAgQIECBAgAABAtUnIGhXX09URIAAAQIECBAgQIAAAQI5FhC0c9w8pRMgQIAAAQIECBAgQIBA9QkI2tXXExURIECAAAECBAgQIECAQI4FBO0cN0/pBAgQIECAAAECBAgQIFB9AoJ29fVERQQIECBAgAABAgQIECCQYwFBO8fNUzoBAgQIECBAgAABAgQIVJ+AoF19PVERAQIECBAgQIAAAQIECORYQNDOcfOUToAAAQIECBAgQIAAAQLVJ/AfhQ2rlK0xgygAAAAASUVORK5CYII=", "text/html": "\n" }, "metadata": { "isWidgetSnapshot": true }, "output_type": "display_data" } ], "source": "display(exporter_names, export_button, download_link)" }, "cell_index": 12, "root": true } ] }, "fb7fe2e045234369857f4005326bc405": { "views": [ { "cell": { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "trusted": true }, "outputs": [ { "data": { "image/png": "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Szlp0KBBsWPHjqmnnnrq8lKOdwwBAgQIECBAgACBSgjYFaqEumsSIECAAAECBAgQIECAQM0KCNo121oTI0CAAAECBAgQIECAAIFKCAjalVB3TQIECBAgQIAAAQIECBCoWQFBu2Zba2IECBAgQIAAAQIECBAgUAmBnqDd/W7BDYMHD27t6OjYrxKFuGZtCNTX1/97+/btzU1NTW21MSOzIECAAAECBAgQIECAQO8EeoJ2W1tb18iRI2P48OG9G8HRBHYRaG9vjy1btkRDQ4O7JawMAgQIECBAgAABAgQKKdAThlpbW7u6dyELiWDS2Qokn6Xc3NwsaGfLajQCBAgQIECAAAECBHIiIGjnpFF5KlPQzlO31EqAAAECBAgQIECAQNYCgnbWosYLQdsiIECAAAECBAgQIECgyAKCdpG7X6a5C9plgjUsAQIECBAgQIAAAQK5EBC0c9GmfBUpaOerX6olQIAAAQIECBAgQCBbAUE7W0+jdQsI2pYBAQIECBAgQIAAAQJFFhC0i9z9Ms1d0C4TrGEJECBAgAABAgQIEMiFgKCdizblq0hBO1/9Ui0BAgQIECBAgAABAtkKCNrZehqtW0DQtgwIECBAgAABAgQIECiyQCGC9o8//hhLliyJVatWxfXXX5/2u7OzM955552466674thjjy3yGsh87oJ25qQGJECAAAECBAgQIEAgRwKFCNpJP1paWmLmzJnxySef9LTn22+/jd9//z1OPvnksrfs3XffjYaGhjj00EPLfq1KX0DQrnQHXJ8AAQIECBAgQIAAgUoKFCZot7a2xg033PA/QTuB7+joiPr6+rL24Keffoorr7wy3VUXtMtKbXACBAgQIECAAAECBAhUXKCwQTu5dfytt96KCRMmxDfffJPeQp6E7qVLl8acOXNi7NixMXHixHj22Wdjw4YN6W70K6+8EkceeWTcc889ceCBB8bmzZtjzZo1ccghh6TPJV933XUxYsSIdIwPPvggzjjjjHjxxRdj+vTpcffdd8fVV18d48ePj+OPP77ijS9nAXa0y6lrbAIECBAgQIAAAQIEql2gUEE7Cbw7n9H+8ssv45RTTonLLrss7dEPP/wQU6dOjdtvvz22bt0al1xySfr1999/Px588MF44okn4qCDDkp3pk877bQ0PE+ePDmefvrpGDZsWKxbty7uvffeeOmll9JgfuONN8ayZcvSW9NHjRqVBuwkqNvRrvZvCfURIECAAAECBAgQIECgfwKFCtq73jq+Y8eOePvtt9Md7Z2vlStXxsKFC2Pt2rWx//77p1/++OOP48knn0x/Ja/nn38+kuetZ8yYke58v/nmm+nX//777xg3blw8/vjj6a3ot9xySxqsd74E7f4tVGcTIECAAAECBAgQIEAgLwKFDdo7G7TrM9rJDnRyO/npp5+e7lzvKWivXr06DeiXX355ujv+4YcfRl1dXXrsOeecEw888ED6Z0G7uWdt5eWbQZ0ECBAgQIAAAQIECBDIQqDQQTt5TnvFihUxZcqU+OKLL6K9vT2OO+649Hby5Fbxo48+Ot3RXrBgQSxfvjz1nj9/fvpxYGeddVZMmjQpZs2aFWeffXb89ttvce2116a3i2/atClmz54dr776ak+Pkue1kzEOOOCA9Bb0Wn55RruWu2tuBAgQIECAAAECBAjsS6AQQTv5HO2nnnoqfX562rRpMXTo0EhuHf/000/T57KPOOKIuOOOO+Lhhx9O3+QsuS08Cd3z5s2Ln3/+OX2jtGSHO9mp/uWXX9JAnby++uqrNHg3NTXFX3/9Feeff34cfvjh6W3mixcvjvvuuy/dHU9ec+fOjaSOZKe71j+3W9De17edvydAgAABAgQIECBAoJYFChG0+9PA3Z/R7s9YRTlX0C5Kp82TAAECBAgQIECAAIE9CQja+1gXH330UbobvvPN0CyjfQsI2vs2cgQBAgQIECBAgAABArUrIGjvpbfJc9eLFi1K3yAtuUX8pJNOqt2VkOHMBO0MMQ1FgAABAgQIECBAgEDuBATt3LWs+gsWtKu/RyokQIAAAQIECBAgQKB8AoJ2+WwLO7KgXdjWmzgBAgQIECBAgAABAt0CgrZlkLmAoJ05qQEJECBAgAABAgQIEMiRgKCdo2blpVRBOy+dUicBAgQIECBAgAABAuUQELTLoVrwMQXtgi8A0ydAgAABAgQIECBQcAFBu+ALoBzTF7TLoWpMAgQIECBAgAABAgTyIiBo56VTOapT0M5Rs5RKgAABAgQIECBAgEDmAj1Be/369V2jR4+OIUOGZH4RAxZHYNu2bbFx48ZobGzsWVvFmb2ZEiBAgAABAgQIECBAYJd3HW9paZlSV1e3rLOzkwuBPgsMGjQourq6po4ZM2Z5nwdxIgECBAgQIECAAAECBHIsYNcxx81TOgECBAgQIECAAAECBAhUn4CgXX09UREBAgQIECBAgAABAgQI5FhA0M5x85ROgAABAgQIECBAgAABAtUnIGhXX09URIAAAQIECBAgQIAAAQI5FhC0c9w8pRMgQIAAAQIECBAgQIBA9QkI2tXXExURIECAAAECBAgQIECAQI4FBO0cN0/pBAgQIECAAAECBAgQIFB9AoJ29fVERQQIECBAgAABAgQIECCQYwFBO8fNUzoBAgQIECBAgAABAgQIVJ+AoF19PVERAQIECBAgQIAAAQIECORYQNDOcfOUToAAAQIECBAgQIAAAQLVJ/AfhQ2rlK0xgygAAAAASUVORK5CYII=", "text/html": "\n" }, "metadata": { "isWidgetSnapshot": true }, "output_type": "display_data" } ], "source": "display(exporter_names, export_button, download_link)" }, "cell_index": 12, "root": true } ] } }, "version": "0.0.1" } }, "nbformat": 4, "nbformat_minor": 1 }