Last active
October 31, 2016 17:20
-
-
Save rdhyee/8a4ee8953be862d8f4bb3a9a1c115c0c to your computer and use it in GitHub Desktop.
Generate a markdown list of events happening at the Berkeley HfA office
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"import json\n", | |
"import requests\n", | |
"\n", | |
"import datetime\n", | |
"import arrow\n", | |
"import pytz\n", | |
"\n", | |
"from IPython.display import Markdown\n", | |
"import pandas as pd\n", | |
"from pandas import DataFrame" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"https://www.hillaryclinton.com/api/events/events?lat=37.8902044&lng=-122.2955867&radius=1.0951414235796038&earliestTime=2016-10-22T05%3A55%3A23.585Z&status=confirmed&visibility=public&perPage=500&onepage=1&_=1457303591599" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[{u'description': u'Join Mayor Maass on \"Albany Day\" to get out the vote for Hillary Clinton during the final week of the election! \\n\\nWe know that direct voter contact is the best way to get people to the polls- don\\'t miss your chance to help make history! No experience necessary- if you can, bring a laptop, cell phone, and a friend!',\n", | |
" u'endDate': u'2016-11-02T04:00:00Z',\n", | |
" u'guestsCanInviteOthers': True,\n", | |
" u'gwid': u'8d5024f3-3798-4f72-80a4-a532583bdc57',\n", | |
" u'id': 28369343,\n", | |
" u'locations': [{u'accuracy': u'',\n", | |
" u'address1': u'1224 Solano Ave',\n", | |
" u'address2': u' ',\n", | |
" u'addressType': u'',\n", | |
" u'city': u'Albany',\n", | |
" u'country': u'US',\n", | |
" u'event': 28369343,\n", | |
" u'hostFamilyName': u'',\n", | |
" u'hostGivenName': u'',\n", | |
" u'id': 223296,\n", | |
" u'language': u'',\n", | |
" u'latitude': u'37.8902916',\n", | |
" u'locality': u'',\n", | |
" u'longitude': u'-122.2950963',\n", | |
" u'name': u'Hillary for America - Berkeley',\n", | |
" u'postalCode': u'94706',\n", | |
" u'primary': False,\n", | |
" u'region': u'',\n", | |
" u'state': u'CA',\n", | |
" u'status': u'verified',\n", | |
" u'tags': {u'generatedBy': u'events-sync-togw',\n", | |
" u'unique_van_id': u'27340|CA',\n", | |
" u'van_location_id': 27340},\n", | |
" u'timezone': u'America/Los_Angeles'}],\n", | |
" u'lookupId': u'X65BZTFGHGHUTVCC',\n", | |
" u'name': u'Phone Bank with Albany Mayor Peter Maass!',\n", | |
" u'official': True,\n", | |
" u'reasonForPrivate': u'',\n", | |
" u'startDate': u'2016-11-02T01:00:00Z',\n", | |
" u'status': u'confirmed',\n", | |
" u'tags': {u'generatedBy': u'events-sync-togw',\n", | |
" u'unique_van_id': u'125299|CA',\n", | |
" u'van_createdby_id': None,\n", | |
" u'van_recurrence_id': None},\n", | |
" u'template': 36,\n", | |
" u'visibility': u'public'}]" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# use the XHR API that I learned from studying https://devprogress.us/hrc-events or\n", | |
"# https://www.hillaryclinton.com/events/\n", | |
"\n", | |
"url = \"https://www.hillaryclinton.com/api/events/events?lat=37.8902044&lng=-122.2955867&radius=1.00951414235796038&earliestTime=2016-10-22T05%3A55%3A23.585Z&status=confirmed&visibility=public&perPage=500&onepage=1&_=1457303591599\"\n", | |
"r = requests.get(url).json()\n", | |
"r['events'][:1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>description</th>\n", | |
" <th>endDate</th>\n", | |
" <th>guestsCanInviteOthers</th>\n", | |
" <th>gwid</th>\n", | |
" <th>id</th>\n", | |
" <th>locations</th>\n", | |
" <th>lookupId</th>\n", | |
" <th>name</th>\n", | |
" <th>official</th>\n", | |
" <th>reasonForPrivate</th>\n", | |
" <th>startDate</th>\n", | |
" <th>status</th>\n", | |
" <th>tags</th>\n", | |
" <th>template</th>\n", | |
" <th>visibility</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>Join Mayor Maass on \"Albany Day\" to get out th...</td>\n", | |
" <td>2016-11-02T04:00:00Z</td>\n", | |
" <td>True</td>\n", | |
" <td>8d5024f3-3798-4f72-80a4-a532583bdc57</td>\n", | |
" <td>28369343</td>\n", | |
" <td>[{u'addressType': u'', u'primary': False, u'ti...</td>\n", | |
" <td>X65BZTFGHGHUTVCC</td>\n", | |
" <td>Phone Bank with Albany Mayor Peter Maass!</td>\n", | |
" <td>True</td>\n", | |
" <td></td>\n", | |
" <td>2016-11-02T01:00:00Z</td>\n", | |
" <td>confirmed</td>\n", | |
" <td>{u'generatedBy': u'events-sync-togw', u'unique...</td>\n", | |
" <td>36</td>\n", | |
" <td>public</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>We know that people talking directly to other ...</td>\n", | |
" <td>2016-10-27T04:00:00Z</td>\n", | |
" <td>True</td>\n", | |
" <td>8d5024f3-3798-4f72-80a4-a532583bdc57</td>\n", | |
" <td>27196498</td>\n", | |
" <td>[{u'addressType': u'', u'primary': False, u'ti...</td>\n", | |
" <td>7T677QP7DWUIHP3R</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>True</td>\n", | |
" <td></td>\n", | |
" <td>2016-10-26T16:00:00Z</td>\n", | |
" <td>confirmed</td>\n", | |
" <td>{u'generatedBy': u'events-sync-togw', u'unique...</td>\n", | |
" <td>36</td>\n", | |
" <td>public</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>We know that people talking directly to other ...</td>\n", | |
" <td>2016-10-28T04:00:00Z</td>\n", | |
" <td>True</td>\n", | |
" <td>8d5024f3-3798-4f72-80a4-a532583bdc57</td>\n", | |
" <td>27196625</td>\n", | |
" <td>[{u'addressType': u'', u'primary': False, u'ti...</td>\n", | |
" <td>7CE2Q4N3CDDCAGGU</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>True</td>\n", | |
" <td></td>\n", | |
" <td>2016-10-27T16:00:00Z</td>\n", | |
" <td>confirmed</td>\n", | |
" <td>{u'generatedBy': u'events-sync-togw', u'unique...</td>\n", | |
" <td>36</td>\n", | |
" <td>public</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" description endDate \\\n", | |
"0 Join Mayor Maass on \"Albany Day\" to get out th... 2016-11-02T04:00:00Z \n", | |
"1 We know that people talking directly to other ... 2016-10-27T04:00:00Z \n", | |
"2 We know that people talking directly to other ... 2016-10-28T04:00:00Z \n", | |
"\n", | |
" guestsCanInviteOthers gwid id \\\n", | |
"0 True 8d5024f3-3798-4f72-80a4-a532583bdc57 28369343 \n", | |
"1 True 8d5024f3-3798-4f72-80a4-a532583bdc57 27196498 \n", | |
"2 True 8d5024f3-3798-4f72-80a4-a532583bdc57 27196625 \n", | |
"\n", | |
" locations lookupId \\\n", | |
"0 [{u'addressType': u'', u'primary': False, u'ti... X65BZTFGHGHUTVCC \n", | |
"1 [{u'addressType': u'', u'primary': False, u'ti... 7T677QP7DWUIHP3R \n", | |
"2 [{u'addressType': u'', u'primary': False, u'ti... 7CE2Q4N3CDDCAGGU \n", | |
"\n", | |
" name official reasonForPrivate \\\n", | |
"0 Phone Bank with Albany Mayor Peter Maass! True \n", | |
"1 Albany/Berkeley Headquarters Daily Phone Bank True \n", | |
"2 Albany/Berkeley Headquarters Daily Phone Bank True \n", | |
"\n", | |
" startDate status \\\n", | |
"0 2016-11-02T01:00:00Z confirmed \n", | |
"1 2016-10-26T16:00:00Z confirmed \n", | |
"2 2016-10-27T16:00:00Z confirmed \n", | |
"\n", | |
" tags template visibility \n", | |
"0 {u'generatedBy': u'events-sync-togw', u'unique... 36 public \n", | |
"1 {u'generatedBy': u'events-sync-togw', u'unique... 36 public \n", | |
"2 {u'generatedBy': u'events-sync-togw', u'unique... 36 public " | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# put into a DataFrame\n", | |
"\n", | |
"df = DataFrame(r['events'])\n", | |
"df[:3]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# put datetime in pacific tz\n", | |
"\n", | |
"pacific_tz = pytz.timezone(\"US/Pacific\")\n", | |
"df['startDate'] = df['startDate'].apply (lambda d: arrow.get(d).astimezone(pacific_tz))\n", | |
"df['endDate'] = df['endDate'].apply (lambda d: arrow.get(d).astimezone(pacific_tz))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# only 1224 Solano Ave events please (address of HfA Berkeley office)\n", | |
"\n", | |
"df = df[df['locations'].apply(lambda l: l[0]['address1'] == '1224 Solano Ave')]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>startDate</th>\n", | |
" <th>lookupId</th>\n", | |
" <th>name</th>\n", | |
" <th>endDate</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>2016-10-22 09:00:00-07:00</td>\n", | |
" <td>PZ2QCAFI2XU3NESS</td>\n", | |
" <td>Berkeley Area Get Out the Early Vote Phone Bank</td>\n", | |
" <td>2016-10-22 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>2016-10-23 09:00:00-07:00</td>\n", | |
" <td>OZWGBMHPVVG4XNRX</td>\n", | |
" <td>Berkeley Area Get Out the Early Vote Phone Bank</td>\n", | |
" <td>2016-10-23 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>2016-10-24 09:00:00-07:00</td>\n", | |
" <td>QQWJ7AYWJ6EWZB6A</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-24 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>2016-10-25 09:00:00-07:00</td>\n", | |
" <td>7B4P2SZJ7VBLA3ZU</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-25 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2016-10-26 09:00:00-07:00</td>\n", | |
" <td>7T677QP7DWUIHP3R</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-26 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>2016-10-26 17:00:00-07:00</td>\n", | |
" <td>LRTE6667VYEHNKRB</td>\n", | |
" <td>Downtown Berkeley For Hillary Phone Bank</td>\n", | |
" <td>2016-10-26 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>2016-10-26 17:30:00-07:00</td>\n", | |
" <td>PLPDKWKS73QN6KSK</td>\n", | |
" <td>Berkeley/Albany Hillary for America Open House</td>\n", | |
" <td>2016-10-26 19:30:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2016-10-27 09:00:00-07:00</td>\n", | |
" <td>7CE2Q4N3CDDCAGGU</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-27 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>2016-10-27 15:00:00-07:00</td>\n", | |
" <td>4TO3DOTX3SFQ6FRA</td>\n", | |
" <td>Berkeley for Hillary Texting Day</td>\n", | |
" <td>2016-10-27 20:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2016-10-28 09:00:00-07:00</td>\n", | |
" <td>5USKASR2HIADW2CW</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-28 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2016-10-29 09:00:00-07:00</td>\n", | |
" <td>6F4PUU6ECWCMPX5I</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-29 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>2016-10-29 09:00:00-07:00</td>\n", | |
" <td>FE3KHFDIAQDBERZO</td>\n", | |
" <td>Berkeley Get Out the Early Vote</td>\n", | |
" <td>2016-10-29 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>2016-10-29 13:00:00-07:00</td>\n", | |
" <td>WRZ6VNXS27HHDU5H</td>\n", | |
" <td>Albany For Hillary Phone Bank</td>\n", | |
" <td>2016-10-29 16:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>2016-10-29 14:00:00-07:00</td>\n", | |
" <td>5SS6FIHGN6F2R7XX</td>\n", | |
" <td>Text Out The Vote in Albany/Berkeley!</td>\n", | |
" <td>2016-10-29 17:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>2016-10-29 15:00:00-07:00</td>\n", | |
" <td>PBS5N4J56TDAKB3W</td>\n", | |
" <td>Downtown Berkeley For Hillary Phone Bank</td>\n", | |
" <td>2016-10-29 19:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2016-10-30 09:00:00-07:00</td>\n", | |
" <td>WTJJND2DQKXK74ZE</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-30 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>2016-10-30 09:00:00-07:00</td>\n", | |
" <td>W3Z73OODKAN54L5A</td>\n", | |
" <td>Berkeley Get Out the Early Vote</td>\n", | |
" <td>2016-10-30 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>2016-10-31 09:00:00-07:00</td>\n", | |
" <td>4NAKWHO23KI5ODJ2</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-10-31 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>2016-10-31 18:00:00-07:00</td>\n", | |
" <td>XLDDNWLDGHZT4SGI</td>\n", | |
" <td>Albany for Hillary Phone Bank</td>\n", | |
" <td>2016-10-31 20:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>2016-11-01 09:00:00-07:00</td>\n", | |
" <td>AG2C3SU7QWYSV4BB</td>\n", | |
" <td>Albany Day at Hillary for America Albany/Berkeley</td>\n", | |
" <td>2016-11-01 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2016-11-01 18:00:00-07:00</td>\n", | |
" <td>X65BZTFGHGHUTVCC</td>\n", | |
" <td>Phone Bank with Albany Mayor Peter Maass!</td>\n", | |
" <td>2016-11-01 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>2016-11-02 09:00:00-07:00</td>\n", | |
" <td>3S2A77HKRA55OFLK</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-11-02 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>2016-11-02 17:00:00-07:00</td>\n", | |
" <td>L3SHXVMWZVDPRJTQ</td>\n", | |
" <td>Downtown Berkeley For Hillary Phone Bank</td>\n", | |
" <td>2016-11-02 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>2016-11-03 09:00:00-07:00</td>\n", | |
" <td>7QWMLSSWJWQAW5YK</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-11-03 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>2016-11-04 09:00:00-07:00</td>\n", | |
" <td>I25EWVWPMGBVQ2HN</td>\n", | |
" <td>Albany/Berkeley Headquarters Daily Phone Bank</td>\n", | |
" <td>2016-11-04 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>2016-11-04 15:00:00-07:00</td>\n", | |
" <td>L6SFPIGI5LJEUY5M</td>\n", | |
" <td>Phonebank for Hillary with Senator Loni Hancock!</td>\n", | |
" <td>2016-11-04 18:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>2016-11-05 06:00:00-07:00</td>\n", | |
" <td>YACT5TCVUWAIY2FY</td>\n", | |
" <td>El Cerrito/West County Day at Hillary for Amer...</td>\n", | |
" <td>2016-11-05 21:00:00-07:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>2016-11-06 06:00:00-08:00</td>\n", | |
" <td>CX4GR3QXOGJ36NWH</td>\n", | |
" <td>Berkeley Day at Hillary for America Albany Ber...</td>\n", | |
" <td>2016-11-06 21:00:00-08:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>2016-11-06 15:00:00-08:00</td>\n", | |
" <td>MWEULTARB4EQZSY7</td>\n", | |
" <td>Phone bank for Hillary with Berkeley Mayor Tom...</td>\n", | |
" <td>2016-11-06 18:00:00-08:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>2016-11-07 06:00:00-08:00</td>\n", | |
" <td>JO5VHV256A2UZ7YM</td>\n", | |
" <td>Democratic Clubs Day at Hillary for America Be...</td>\n", | |
" <td>2016-11-07 21:00:00-08:00</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>2016-11-08 06:00:00-08:00</td>\n", | |
" <td>5BGG547736DA3RIL</td>\n", | |
" <td>Berkeley Get Out the Vote Phone Bank</td>\n", | |
" <td>2016-11-08 21:00:00-08:00</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" startDate lookupId \\\n", | |
"23 2016-10-22 09:00:00-07:00 PZ2QCAFI2XU3NESS \n", | |
"24 2016-10-23 09:00:00-07:00 OZWGBMHPVVG4XNRX \n", | |
"9 2016-10-24 09:00:00-07:00 QQWJ7AYWJ6EWZB6A \n", | |
"31 2016-10-25 09:00:00-07:00 7B4P2SZJ7VBLA3ZU \n", | |
"1 2016-10-26 09:00:00-07:00 7T677QP7DWUIHP3R \n", | |
"18 2016-10-26 17:00:00-07:00 LRTE6667VYEHNKRB \n", | |
"12 2016-10-26 17:30:00-07:00 PLPDKWKS73QN6KSK \n", | |
"2 2016-10-27 09:00:00-07:00 7CE2Q4N3CDDCAGGU \n", | |
"13 2016-10-27 15:00:00-07:00 4TO3DOTX3SFQ6FRA \n", | |
"3 2016-10-28 09:00:00-07:00 5USKASR2HIADW2CW \n", | |
"4 2016-10-29 09:00:00-07:00 6F4PUU6ECWCMPX5I \n", | |
"10 2016-10-29 09:00:00-07:00 FE3KHFDIAQDBERZO \n", | |
"22 2016-10-29 13:00:00-07:00 WRZ6VNXS27HHDU5H \n", | |
"14 2016-10-29 14:00:00-07:00 5SS6FIHGN6F2R7XX \n", | |
"21 2016-10-29 15:00:00-07:00 PBS5N4J56TDAKB3W \n", | |
"5 2016-10-30 09:00:00-07:00 WTJJND2DQKXK74ZE \n", | |
"11 2016-10-30 09:00:00-07:00 W3Z73OODKAN54L5A \n", | |
"6 2016-10-31 09:00:00-07:00 4NAKWHO23KI5ODJ2 \n", | |
"20 2016-10-31 18:00:00-07:00 XLDDNWLDGHZT4SGI \n", | |
"7 2016-11-01 09:00:00-07:00 AG2C3SU7QWYSV4BB \n", | |
"0 2016-11-01 18:00:00-07:00 X65BZTFGHGHUTVCC \n", | |
"8 2016-11-02 09:00:00-07:00 3S2A77HKRA55OFLK \n", | |
"19 2016-11-02 17:00:00-07:00 L3SHXVMWZVDPRJTQ \n", | |
"29 2016-11-03 09:00:00-07:00 7QWMLSSWJWQAW5YK \n", | |
"30 2016-11-04 09:00:00-07:00 I25EWVWPMGBVQ2HN \n", | |
"16 2016-11-04 15:00:00-07:00 L6SFPIGI5LJEUY5M \n", | |
"25 2016-11-05 06:00:00-07:00 YACT5TCVUWAIY2FY \n", | |
"26 2016-11-06 06:00:00-08:00 CX4GR3QXOGJ36NWH \n", | |
"15 2016-11-06 15:00:00-08:00 MWEULTARB4EQZSY7 \n", | |
"27 2016-11-07 06:00:00-08:00 JO5VHV256A2UZ7YM \n", | |
"28 2016-11-08 06:00:00-08:00 5BGG547736DA3RIL \n", | |
"\n", | |
" name \\\n", | |
"23 Berkeley Area Get Out the Early Vote Phone Bank \n", | |
"24 Berkeley Area Get Out the Early Vote Phone Bank \n", | |
"9 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"31 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"1 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"18 Downtown Berkeley For Hillary Phone Bank \n", | |
"12 Berkeley/Albany Hillary for America Open House \n", | |
"2 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"13 Berkeley for Hillary Texting Day \n", | |
"3 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"4 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"10 Berkeley Get Out the Early Vote \n", | |
"22 Albany For Hillary Phone Bank \n", | |
"14 Text Out The Vote in Albany/Berkeley! \n", | |
"21 Downtown Berkeley For Hillary Phone Bank \n", | |
"5 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"11 Berkeley Get Out the Early Vote \n", | |
"6 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"20 Albany for Hillary Phone Bank \n", | |
"7 Albany Day at Hillary for America Albany/Berkeley \n", | |
"0 Phone Bank with Albany Mayor Peter Maass! \n", | |
"8 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"19 Downtown Berkeley For Hillary Phone Bank \n", | |
"29 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"30 Albany/Berkeley Headquarters Daily Phone Bank \n", | |
"16 Phonebank for Hillary with Senator Loni Hancock! \n", | |
"25 El Cerrito/West County Day at Hillary for Amer... \n", | |
"26 Berkeley Day at Hillary for America Albany Ber... \n", | |
"15 Phone bank for Hillary with Berkeley Mayor Tom... \n", | |
"27 Democratic Clubs Day at Hillary for America Be... \n", | |
"28 Berkeley Get Out the Vote Phone Bank \n", | |
"\n", | |
" endDate \n", | |
"23 2016-10-22 21:00:00-07:00 \n", | |
"24 2016-10-23 21:00:00-07:00 \n", | |
"9 2016-10-24 21:00:00-07:00 \n", | |
"31 2016-10-25 21:00:00-07:00 \n", | |
"1 2016-10-26 21:00:00-07:00 \n", | |
"18 2016-10-26 21:00:00-07:00 \n", | |
"12 2016-10-26 19:30:00-07:00 \n", | |
"2 2016-10-27 21:00:00-07:00 \n", | |
"13 2016-10-27 20:00:00-07:00 \n", | |
"3 2016-10-28 21:00:00-07:00 \n", | |
"4 2016-10-29 21:00:00-07:00 \n", | |
"10 2016-10-29 21:00:00-07:00 \n", | |
"22 2016-10-29 16:00:00-07:00 \n", | |
"14 2016-10-29 17:00:00-07:00 \n", | |
"21 2016-10-29 19:00:00-07:00 \n", | |
"5 2016-10-30 21:00:00-07:00 \n", | |
"11 2016-10-30 21:00:00-07:00 \n", | |
"6 2016-10-31 21:00:00-07:00 \n", | |
"20 2016-10-31 20:00:00-07:00 \n", | |
"7 2016-11-01 21:00:00-07:00 \n", | |
"0 2016-11-01 21:00:00-07:00 \n", | |
"8 2016-11-02 21:00:00-07:00 \n", | |
"19 2016-11-02 21:00:00-07:00 \n", | |
"29 2016-11-03 21:00:00-07:00 \n", | |
"30 2016-11-04 21:00:00-07:00 \n", | |
"16 2016-11-04 18:00:00-07:00 \n", | |
"25 2016-11-05 21:00:00-07:00 \n", | |
"26 2016-11-06 21:00:00-08:00 \n", | |
"15 2016-11-06 18:00:00-08:00 \n", | |
"27 2016-11-07 21:00:00-08:00 \n", | |
"28 2016-11-08 21:00:00-08:00 " | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# take a look at the relevant pieces of info\n", | |
"df.sort_values(by='startDate')[['startDate', 'lookupId', 'name', 'endDate' ]]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"23 Sat 10/22\n", | |
"24 Sun 10/23\n", | |
"9 Mon 10/24\n", | |
"31 Tue 10/25\n", | |
"1 Wed 10/26\n", | |
"18 Wed 10/26\n", | |
"12 Wed 10/26\n", | |
"2 Thu 10/27\n", | |
"13 Thu 10/27\n", | |
"3 Fri 10/28\n", | |
"4 Sat 10/29\n", | |
"10 Sat 10/29\n", | |
"22 Sat 10/29\n", | |
"14 Sat 10/29\n", | |
"21 Sat 10/29\n", | |
"5 Sun 10/30\n", | |
"11 Sun 10/30\n", | |
"6 Mon 10/31\n", | |
"20 Mon 10/31\n", | |
"7 Tue 11/01\n", | |
"0 Tue 11/01\n", | |
"8 Wed 11/02\n", | |
"19 Wed 11/02\n", | |
"29 Thu 11/03\n", | |
"30 Fri 11/04\n", | |
"16 Fri 11/04\n", | |
"25 Sat 11/05\n", | |
"26 Sun 11/06\n", | |
"15 Sun 11/06\n", | |
"27 Mon 11/07\n", | |
"28 Tue 11/08\n", | |
"Name: startDate, dtype: object" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# see what dates are available and how to format \n", | |
"\n", | |
"df.sort_values(by='startDate')['startDate'].apply(lambda d: arrow.get(d).date().strftime('%a %m/%d'))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(Timestamp('2016-11-01 18:00:00-0700', tz='US/Pacific'), 'Tue 11/01 18:00')" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.ix[0]['startDate'], arrow.get(df.ix[0]['startDate']).strftime('%a %m/%d %H:%M')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"23 Sat 10/22\n", | |
"24 Sun 10/23\n", | |
"9 Mon 10/24\n", | |
"31 Tue 10/25\n", | |
"1 Wed 10/26\n", | |
"18 Wed 10/26\n", | |
"12 Wed 10/26\n", | |
"2 Thu 10/27\n", | |
"13 Thu 10/27\n", | |
"3 Fri 10/28\n", | |
"4 Sat 10/29\n", | |
"10 Sat 10/29\n", | |
"22 Sat 10/29\n", | |
"14 Sat 10/29\n", | |
"21 Sat 10/29\n", | |
"5 Sun 10/30\n", | |
"11 Sun 10/30\n", | |
"6 Mon 10/31\n", | |
"20 Mon 10/31\n", | |
"7 Tue 11/01\n", | |
"0 Tue 11/01\n", | |
"8 Wed 11/02\n", | |
"19 Wed 11/02\n", | |
"29 Thu 11/03\n", | |
"30 Fri 11/04\n", | |
"16 Fri 11/04\n", | |
"25 Sat 11/05\n", | |
"26 Sun 11/06\n", | |
"15 Sun 11/06\n", | |
"27 Mon 11/07\n", | |
"28 Tue 11/08\n", | |
"dtype: object" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(df.sort_values(by='startDate')\n", | |
" .apply(lambda s: (s['startDate'].date().strftime('%a %m/%d')),\n", | |
" axis=1)\n", | |
" )" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"df['title']=df.sort_values(by='startDate').apply(lambda s: \"{}-{}: {}\".format(s['startDate'].strftime('%a %m/%d %H:%M'), \n", | |
" s['endDate'].strftime('%H:%M'),\n", | |
" s['name']),\n", | |
" axis=1, broadcast=False)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"df['url'] = df['lookupId'].apply(lambda id_: \"https://www.hillaryclinton.com/events/view/{}/\".format(id_))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"* [Sat 10/22 09:00-21:00: Berkeley Area Get Out the Early Vote Phone Bank](https://www.hillaryclinton.com/events/view/PZ2QCAFI2XU3NESS/)\n", | |
"* [Sun 10/23 09:00-21:00: Berkeley Area Get Out the Early Vote Phone Bank](https://www.hillaryclinton.com/events/view/OZWGBMHPVVG4XNRX/)\n", | |
"* [Mon 10/24 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/QQWJ7AYWJ6EWZB6A/)\n", | |
"* [Tue 10/25 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7B4P2SZJ7VBLA3ZU/)\n", | |
"* [Wed 10/26 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7T677QP7DWUIHP3R/)\n", | |
"* [Wed 10/26 17:00-21:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/LRTE6667VYEHNKRB/)\n", | |
"* [Wed 10/26 17:30-19:30: Berkeley/Albany Hillary for America Open House](https://www.hillaryclinton.com/events/view/PLPDKWKS73QN6KSK/)\n", | |
"* [Thu 10/27 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7CE2Q4N3CDDCAGGU/)\n", | |
"* [Thu 10/27 15:00-20:00: Berkeley for Hillary Texting Day](https://www.hillaryclinton.com/events/view/4TO3DOTX3SFQ6FRA/)\n", | |
"* [Fri 10/28 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/5USKASR2HIADW2CW/)\n", | |
"* [Sat 10/29 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/6F4PUU6ECWCMPX5I/)\n", | |
"* [Sat 10/29 09:00-21:00: Berkeley Get Out the Early Vote](https://www.hillaryclinton.com/events/view/FE3KHFDIAQDBERZO/)\n", | |
"* [Sat 10/29 13:00-16:00: Albany For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/WRZ6VNXS27HHDU5H/)\n", | |
"* [Sat 10/29 14:00-17:00: Text Out The Vote in Albany/Berkeley!](https://www.hillaryclinton.com/events/view/5SS6FIHGN6F2R7XX/)\n", | |
"* [Sat 10/29 15:00-19:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/PBS5N4J56TDAKB3W/)\n", | |
"* [Sun 10/30 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/WTJJND2DQKXK74ZE/)\n", | |
"* [Sun 10/30 09:00-21:00: Berkeley Get Out the Early Vote](https://www.hillaryclinton.com/events/view/W3Z73OODKAN54L5A/)\n", | |
"* [Mon 10/31 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/4NAKWHO23KI5ODJ2/)\n", | |
"* [Mon 10/31 18:00-20:00: Albany for Hillary Phone Bank](https://www.hillaryclinton.com/events/view/XLDDNWLDGHZT4SGI/)\n", | |
"* [Tue 11/01 09:00-21:00: Albany Day at Hillary for America Albany/Berkeley](https://www.hillaryclinton.com/events/view/AG2C3SU7QWYSV4BB/)\n", | |
"* [Tue 11/01 18:00-21:00: Phone Bank with Albany Mayor Peter Maass!](https://www.hillaryclinton.com/events/view/X65BZTFGHGHUTVCC/)\n", | |
"* [Wed 11/02 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/3S2A77HKRA55OFLK/)\n", | |
"* [Wed 11/02 17:00-21:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/L3SHXVMWZVDPRJTQ/)\n", | |
"* [Thu 11/03 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7QWMLSSWJWQAW5YK/)\n", | |
"* [Fri 11/04 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/I25EWVWPMGBVQ2HN/)\n", | |
"* [Fri 11/04 15:00-18:00: Phonebank for Hillary with Senator Loni Hancock!](https://www.hillaryclinton.com/events/view/L6SFPIGI5LJEUY5M/)\n", | |
"* [Sat 11/05 06:00-21:00: El Cerrito/West County Day at Hillary for America Berkeley](https://www.hillaryclinton.com/events/view/YACT5TCVUWAIY2FY/)\n", | |
"* [Sun 11/06 06:00-21:00: Berkeley Day at Hillary for America Albany Berkeley](https://www.hillaryclinton.com/events/view/CX4GR3QXOGJ36NWH/)\n", | |
"* [Sun 11/06 15:00-18:00: Phone bank for Hillary with Berkeley Mayor Tom Bates!](https://www.hillaryclinton.com/events/view/MWEULTARB4EQZSY7/)\n", | |
"* [Mon 11/07 06:00-21:00: Democratic Clubs Day at Hillary for America Berkeley/Albany](https://www.hillaryclinton.com/events/view/JO5VHV256A2UZ7YM/)\n", | |
"* [Tue 11/08 06:00-21:00: Berkeley Get Out the Vote Phone Bank](https://www.hillaryclinton.com/events/view/5BGG547736DA3RIL/)\n" | |
] | |
} | |
], | |
"source": [ | |
"md = \"\\n\".join(list(df.sort_values(by='startDate').apply(lambda t:\"* [{}]({})\".format(t['title'], t['url']), axis=1)))\n", | |
"print(md)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/markdown": [ | |
"* [Sat 10/22 09:00-21:00: Berkeley Area Get Out the Early Vote Phone Bank](https://www.hillaryclinton.com/events/view/PZ2QCAFI2XU3NESS/)\n", | |
"* [Sun 10/23 09:00-21:00: Berkeley Area Get Out the Early Vote Phone Bank](https://www.hillaryclinton.com/events/view/OZWGBMHPVVG4XNRX/)\n", | |
"* [Mon 10/24 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/QQWJ7AYWJ6EWZB6A/)\n", | |
"* [Tue 10/25 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7B4P2SZJ7VBLA3ZU/)\n", | |
"* [Wed 10/26 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7T677QP7DWUIHP3R/)\n", | |
"* [Wed 10/26 17:00-21:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/LRTE6667VYEHNKRB/)\n", | |
"* [Wed 10/26 17:30-19:30: Berkeley/Albany Hillary for America Open House](https://www.hillaryclinton.com/events/view/PLPDKWKS73QN6KSK/)\n", | |
"* [Thu 10/27 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7CE2Q4N3CDDCAGGU/)\n", | |
"* [Thu 10/27 15:00-20:00: Berkeley for Hillary Texting Day](https://www.hillaryclinton.com/events/view/4TO3DOTX3SFQ6FRA/)\n", | |
"* [Fri 10/28 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/5USKASR2HIADW2CW/)\n", | |
"* [Sat 10/29 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/6F4PUU6ECWCMPX5I/)\n", | |
"* [Sat 10/29 09:00-21:00: Berkeley Get Out the Early Vote](https://www.hillaryclinton.com/events/view/FE3KHFDIAQDBERZO/)\n", | |
"* [Sat 10/29 13:00-16:00: Albany For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/WRZ6VNXS27HHDU5H/)\n", | |
"* [Sat 10/29 14:00-17:00: Text Out The Vote in Albany/Berkeley!](https://www.hillaryclinton.com/events/view/5SS6FIHGN6F2R7XX/)\n", | |
"* [Sat 10/29 15:00-19:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/PBS5N4J56TDAKB3W/)\n", | |
"* [Sun 10/30 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/WTJJND2DQKXK74ZE/)\n", | |
"* [Sun 10/30 09:00-21:00: Berkeley Get Out the Early Vote](https://www.hillaryclinton.com/events/view/W3Z73OODKAN54L5A/)\n", | |
"* [Mon 10/31 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/4NAKWHO23KI5ODJ2/)\n", | |
"* [Mon 10/31 18:00-20:00: Albany for Hillary Phone Bank](https://www.hillaryclinton.com/events/view/XLDDNWLDGHZT4SGI/)\n", | |
"* [Tue 11/01 09:00-21:00: Albany Day at Hillary for America Albany/Berkeley](https://www.hillaryclinton.com/events/view/AG2C3SU7QWYSV4BB/)\n", | |
"* [Tue 11/01 18:00-21:00: Phone Bank with Albany Mayor Peter Maass!](https://www.hillaryclinton.com/events/view/X65BZTFGHGHUTVCC/)\n", | |
"* [Wed 11/02 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/3S2A77HKRA55OFLK/)\n", | |
"* [Wed 11/02 17:00-21:00: Downtown Berkeley For Hillary Phone Bank](https://www.hillaryclinton.com/events/view/L3SHXVMWZVDPRJTQ/)\n", | |
"* [Thu 11/03 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/7QWMLSSWJWQAW5YK/)\n", | |
"* [Fri 11/04 09:00-21:00: Albany/Berkeley Headquarters Daily Phone Bank](https://www.hillaryclinton.com/events/view/I25EWVWPMGBVQ2HN/)\n", | |
"* [Fri 11/04 15:00-18:00: Phonebank for Hillary with Senator Loni Hancock!](https://www.hillaryclinton.com/events/view/L6SFPIGI5LJEUY5M/)\n", | |
"* [Sat 11/05 06:00-21:00: El Cerrito/West County Day at Hillary for America Berkeley](https://www.hillaryclinton.com/events/view/YACT5TCVUWAIY2FY/)\n", | |
"* [Sun 11/06 06:00-21:00: Berkeley Day at Hillary for America Albany Berkeley](https://www.hillaryclinton.com/events/view/CX4GR3QXOGJ36NWH/)\n", | |
"* [Sun 11/06 15:00-18:00: Phone bank for Hillary with Berkeley Mayor Tom Bates!](https://www.hillaryclinton.com/events/view/MWEULTARB4EQZSY7/)\n", | |
"* [Mon 11/07 06:00-21:00: Democratic Clubs Day at Hillary for America Berkeley/Albany](https://www.hillaryclinton.com/events/view/JO5VHV256A2UZ7YM/)\n", | |
"* [Tue 11/08 06:00-21:00: Berkeley Get Out the Vote Phone Bank](https://www.hillaryclinton.com/events/view/5BGG547736DA3RIL/)" | |
], | |
"text/plain": [ | |
"<IPython.core.display.Markdown object>" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Markdown(md)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"anaconda-cloud": {}, | |
"kernelspec": { | |
"display_name": "Python [default]", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment