Show More
@@ -0,0 +1,240 b'' | |||||
|
1 | { | |||
|
2 | "cells": [ | |||
|
3 | { | |||
|
4 | "cell_type": "code", | |||
|
5 | "execution_count": 1, | |||
|
6 | "metadata": { | |||
|
7 | "collapsed": false | |||
|
8 | }, | |||
|
9 | "outputs": [ | |||
|
10 | { | |||
|
11 | "data": { | |||
|
12 | "text/plain": [ | |||
|
13 | "[<matplotlib.lines.Line2D at 0x10f695240>]" | |||
|
14 | ] | |||
|
15 | }, | |||
|
16 | "execution_count": 1, | |||
|
17 | "metadata": {}, | |||
|
18 | "output_type": "execute_result" | |||
|
19 | }, | |||
|
20 | { | |||
|
21 | "data": { | |||
|
22 | "image/png": [ | |||
|
23 | "iVBORw0KGgoAAAANSUhEUgAAAu0AAAH/CAYAAADjSONqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", | |||
|
24 | "AAAWJQAAFiUBSVIk8AAAIABJREFUeJzt3X/M7ndd3/HXezmJG7QpEdqyrbD21OYgLMbNmRK6aM+w\n", | |||
|
25 | "DKMhwDS4RNnmkM0xLIqMyTY5JSEwNy2jiJOxOu1MiEQLW8xoQTBDKttcIJlz/YE9BaFWZdACtoVp\n", | |||
|
26 | "3/vjum56zn3u69w/rl/f73U9HsmVb3t9r/tzf+/e33Puz/3s5/p+q7sDAAAM159Z9wEAAADnZ9IO\n", | |||
|
27 | "AAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAADZ9IOAAAD\n", | |||
|
28 | "Z9IOAAADZ9IOAAADZ9IOAAADN9ekvaq+q6puqqoPV9UXquqxqrrliGNdVlU3V9X9VfVoVZ2uqhur\n", | |||
|
29 | "6knzHCMAAIzdsTk//p8n+YYkX0zy6STPSNKHHaSqrkxyR5KLk7wnyZ1Jrk5yfZLnV9U13f25OY8V\n", | |||
|
30 | "AABGad7lMa9KclV3X5TkB+cY5+2ZTNhf2d0v7u7Xdfdzk9yY5ESSN855nAAAMFrVfegwvvdAVdcm\n", | |||
|
31 | "+WCS/9jdLz3Ex12Z5J4kp7v7yl37LkjyQCb1/tLufnghBwsAACMyhDeinpxub9+9o7u/lOQjSZ6Y\n", | |||
|
32 | "5NmrPCgAABiKIUzaT0y3d8/Yf890e9UKjgUAAAZnCJP2i6bbh2bs33neVWQAANhK8149ZlCqajEL\n", | |||
|
33 | "9AEAYB/dXav6XEMo7Tsl/aIZ+3eef3AFxwIAAIMzhNJ+53R7Ysb+nbXss9a876GTybXjX53knd2H\n", | |||
|
34 | "v3Y8m6WqepW/DTN8zgn24rxgL84LdlvH6o4hlPYPTbfXVdVZfyCq6sIk1yT54yQfPcSYtya5MMk7\n", | |||
|
35 | "ktxWlacv4kABAGAdVjZpr6pjVfWMqjp+5vPdfW8ml3u8Iskrdn3YDUmekOSW7n7kEJ/ubyX520n+\n", | |||
|
36 | "b5Lrkvx2VX6gKn5LBgBgdOa6uVJVvTDJC6f/+tQkz0tyb5LfmD73R939mulrL5/u+2R3X7FrnONJ\n", | |||
|
37 | "7khySZL3ZrJk5uok1ya5K8lzuvvzBzieTh5/U0BVLk3yM0leNH3J+5O8rDufOvQXy6j5X5vs5pxg\n", | |||
|
38 | "L84L9uK8YLfdc86VfM45J+2vT/L65Jw14ztfwH3dfXz62sszmbR/9bldY12W5A1Jnp/kyUnuz2SZ\n", | |||
|
39 | "yw3dPetykLvHOOc/4LSuvyTJ26bjWuu+hfyFy27OCfbivGAvzgt2G92kfWjO9x9Qdd9u/sJlN+cE\n", | |||
|
40 | "e3FesBfnBbutY9I+hDeirkR3/iDWugMAMEJbM2lPku50d96V5FlxhZltc8O6D4DBcU6wF+cFe3Fe\n", | |||
|
41 | "sHZbszzm3Nda6w4AwOFZ0z6no/wHtNYdAIDDsKZ9Dax1BwBg6La+tJ/98ao7AADnp7SvmeoOAMAQ\n", | |||
|
42 | "Ke0zx1LdAQA4l9I+IKo7AABDobQfaFzVHQCACaV9oFR3AADWSWk/9OdQ3QEAtpnSPgKqOwAAq6a0\n", | |||
|
43 | "z/X5VHcAgG2jtI+M6g4AwCoo7Qv73Ko7AMA2UNpHTHUHAGBZlPalHIfqDgCwqZT2DaG6AwCwSEr7\n", | |||
|
44 | "kqnuAACbRWnfQKo7AADzUtpXSHUHABg/pX3Dqe4AAByF0r4mqjsAwDgp7VtEdQcA4KCU9gFQ3QEA\n", | |||
|
45 | "xkNp31KqOwAA56O0D4zqDgAwbEo7qjsAAOdQ2gdMdQcAGB6lnbOo7gAAJEr7aKjuAADDoLQzk+oO\n", | |||
|
46 | "ALC9lPYRUt0BANZHaedAVHcAgO2itI+c6g4AsFpKO4emugMAbD6lfYOo7gAAy6e0MxfVHQBgMynt\n", | |||
|
47 | "G0p1BwBYDqWdhVHdAQA2h9K+BVR3AIDFUdpZCtUdAGDclPYto7oDAMxHaWfpVHcAgPFR2reY6g4A\n", | |||
|
48 | "cHhKOyulugMAjIPSThLVHQDgoJR21kZ1BwAYLqWdc6juAACzKe0MguoOADAsSjvnpboDAJxNaWdw\n", | |||
|
49 | "VHcAgPVT2jkw1R0AQGln4FR3AID1UNo5EtUdANhWSjujoboDAKyO0s7cVHcAYJso7YyS6g4AsFxK\n", | |||
|
50 | "OwulugMAm05pZ/RUdwCAxVPaWRrVHQDYREo7G0V1BwBYDKWdlVDdAYBNobSzsVR3AICjU9pZOdUd\n", | |||
|
51 | "ABgzpZ2toLoDAByO0s5aqe4AwNgo7Wwd1R0AYH9KO4OhugMAY6C0s9VUdwCAvSntDJLqDgAMldIO\n", | |||
|
52 | "U6o7AMDjlHYGT3UHAIZEaYc9qO4AwLZbyKS9qi6rqpur6v6qerSqTlfVjVX1pEOO8x1VdXtVfbqq\n", | |||
|
53 | "Hq6q362qX6qqZy/iOBmv7nR33pXkWUluTXJhknckua0qT1/rwQEALNncy2Oq6sokdyS5OMl7ktyZ\n", | |||
|
54 | "5OokJ5PcleSa7v7cAcb5l0lek+Sz03E+m+SqJC9IcizJS7v7F/cZw/KYLTCt6y9J8rYkT07yxSSv\n", | |||
|
55 | "TvLO7mzOei8AYJDWMedcxKT9tkyWK7yyu3/6jOd/MskPJ/nZ7v7BfcZ4apLPJPmDJN/Q3Z89Y9+1\n", | |||
|
56 | "ST6Y5HR3X7nPOCbtW8RadwBgHUY3aZ9W9nuyx4S6qi5I8kCSTnJpdz98nnGuTvKbSd7b3S/aY/8X\n", | |||
|
57 | "knR3X7TP8Zi0bxnVHQBYtTG+EfXkdHv77h3d/aUkH0nyxCT7rUm/O8lXklxdVU8+c0dVfUuSC5J8\n", | |||
|
58 | "YM5jZQNZ6w4AbIN5J+0nptu7Z+y/Z7q96nyDdPfnk7w2yaVJfqeq3lFVb6qqX0pyWya/FPyDOY+V\n", | |||
|
59 | "DeYKMwDAJpt30r6zXOWhGft3nt/3KjLd/W8ymXQdS/KyTCbx35Xk95L8/Jnr3GEvqjsAsKkGc532\n", | |||
|
60 | "qvonSd6d5OeSHE/yhCTflOTeJL84vbrMQcfq8zxOLeP4GQ7VHQCYV1WdmjWfXMfxzDtp3ynps94g\n", | |||
|
61 | "uvP8g+cbZHqFmDdn8kbUH+3u+7r70e7+WCZXBvlMkldX1RUHOajurvM8Th1kDMZNdQcA5tHdp2bN\n", | |||
|
62 | "J9dxPPNO2u+cbk/M2L+zln3Wmvcd3zndfmj3ju5+JMn/yORYv/GwB8h2U90BgE0w76R9Z5J9XVWd\n", | |||
|
63 | "NQGqqguTXJPkj5N8dJ9xvma6vWTG/oun268c5SDZbqo7ADB2c03au/veTK7sckWSV+zafUMm69Jv\n", | |||
|
64 | "mdbyVNWxqnpGVR3f9dr/Ot2+vKr+wpk7qurbM5n8P5LJnVfhSFR3AGCsFnFH1OOZTKYvSfLeTJbM\n", | |||
|
65 | "XJ3k2iR3JXnO9JKOqarLM3lj6Se7+4ozxqhMLu34bZncHOfWTO6O+vWZLJ3pJK/q7pv2ORY3V+JA\n", | |||
|
66 | "3E0VADiq0d0R9auDVF2W5A1Jnp/JXSnvz2TifUN3P3TG6y7PZNJ+X3cf3zXGsUxq/fckeWYmlf7/\n", | |||
|
67 | "JvnvSd7a3fveXMmkncNwN1UA4ChGO2kfCpN2jkJ1BwAOYx1zzsFcpx3WxVp3AGDolHY4g+oOAOxH\n", | |||
|
68 | "aYc1U90BgCFS2mEG1R0A2IvSDgOiugMAQ6G0wwGo7gDADqUdBkp1BwDWSWmHQ1LdAWC7Ke0wAqo7\n", | |||
|
69 | "ALBqSjvMQXUHgO2jtMPIqO4AwCoo7bAgqjsAbAelHUZMdQcAlkVphyVQ3QFgcyntsCFUdwBgkZR2\n", | |||
|
70 | "WDLVHQA2i9IOG0h1BwDmpbTDCqnuADB+SjtsONUdADgKpR3WRHUHgHFS2mGLqO4AwEEp7TAAqjsA\n", | |||
|
71 | "jIfSDltKdQcAzkdph4FR3QFg2JR2QHUHAM6htMOAqe4AMDxKO3AW1R0ASJR2GA3VHQCGQWkHZlLd\n", | |||
|
72 | "AWB7Ke0wQqo7AKyP0g4ciOoOANtFaYeRU90BYLWUduDQVHcA2HxKO2wQ1R0Alk9pB+aiugPAZlLa\n", | |||
|
73 | "YUOp7gCwHEo7sDCqOwBsDqUdtoDqDgCLo7QDS6G6A8C4Ke2wZVR3AJiP0g4sneoOAOOjtMMWU90B\n", | |||
|
74 | "4PCUdmClVHcAGAelHUiiugPAQSntwNqo7gAwXEo7cA7VHQBmU9qBQVDdAWBYlHbgvFR3ADib0g4M\n", | |||
|
75 | "juoOAOuntAMHproDgNIODJzqDgDrobQDR6K6A7CtlHZgNFR3AFgdpR2Ym+oOwDZR2oFRUt0BYLmU\n", | |||
|
76 | "dmChVHcANp3SDoye6g4Ai6e0A0ujugOwiZR2YKOo7gCwGEo7sBKqOwCbQmkHNpbqDgBHp7QDK6e6\n", | |||
|
77 | "AzBmSjuwFVR3ADgcpR1YK9UdgLFR2oGto7oDwP6UdmAwVHcAxkBpB7aa6g4Ae1PagUFS3QEYKqUd\n", | |||
|
78 | "YEp1B4DHKe3A4KnuAAyJ0g6wB9UdgG2ntAOjoroDsG5KO8A+VHcAtpHSDoyW6g7AOoyytFfVZVV1\n", | |||
|
79 | "c1XdX1WPVtXpqrqxqp50hLGeW1W3VtUD07E+U1Xvq6pvn/c4gc2jugOwLeYq7VV1ZZI7klyc5D1J\n", | |||
|
80 | "7kxydZKTSe5Kck13f+6AY/1Ekh9N8ntJ/kuSzya5JMlfTfKB7v6nBxhDaYctpboDsCrrmHPOO2m/\n", | |||
|
81 | "LZOy9cru/ukznv/JJD+c5Ge7+wcPMM4PJPnZJP8hycu7+0927T+2+7kZ45i0wxab1vWXJHlbkicn\n", | |||
|
82 | "+WKSVyd5Z3c2Zy0gAGs1qkn7tLLfk+R0d1+5a98FSR5I0kku7e6HzzPO12RS1/84yVUHmZyfZyyT\n", | |||
|
83 | "dkB1B2Cpxram/eR0e/vuHd39pSQfSfLEJM/eZ5zrkjwlya8k6ar6jqp6bVVdX1X7fSzAOax1B2DT\n", | |||
|
84 | "zDNpPzHd3j1j/z3T7VX7jPPN0+2Xk3w8yX9O8qYkNya5o6p+vaqeMsdxAluoO92ddyV5VpJbk1yY\n", | |||
|
85 | "5B1JbqvK09d6cABwSPNM2i+abh+asX/n+f2uInPJdPuaJH+a5K8nuSDJN2RS8b8lybuPfpjANlPd\n", | |||
|
86 | "AdgEQ7i50s4x/L8kL+juO7r74e7+7UzWo346ybdaKgMcleoOwNjNM2nfKekXzdi/8/yD+4yzs/9j\n", | |||
|
87 | "3X3Wm8S6+5Ekt03/9ZtzQFXV53mcOug4wGZR3QE4qKo6NWs+uY7jmWfSfud0e2LG/p217LPWvO8e\n", | |||
|
88 | "Z9bkfuf5P3fA40p313kepw46DrB5VHcADqK7T82aT67jeOaZtH9our2uqs46+Kq6MMk1mVzG8aP7\n", | |||
|
89 | "jPNrmVwa8pm7x5n6y9Pt6TmOFeAsqjsAY3LkSXt335vJG0WvSPKKXbtvSPKEJLdMl7ikqo5V1TOq\n", | |||
|
90 | "6viucT6VyRVj/lKS68/cV1XPS/I3k3w+yfuOeqwAe1HdARiLee+IejzJHZlcAea9mSx1uTrJtUnu\n", | |||
|
91 | "SvKc7v789LWXJ7k3ySe7+4pd4/zF6ThPy6S8fzyTXwZemMkVZb6nu289wPG4uRJwJO6mCsBBjeqO\n", | |||
|
92 | "qF8doOqyJG9I8vxMftDdn0mxuqG7HzrjdZdnMmm/r7uP7zHOU5L8eJIXJPnzmbzR9cNJ3tTdv3XA\n", | |||
|
93 | "YzFpB+bibqoA7GeUk/YhMWkHFkF1B+B8TNrnZNIOLJLqDsBe1jHnHMLNlQAGyRVmABgKpR3gAFR3\n", | |||
|
94 | "AHYo7QADpboDsE5KO8Ahqe4A201pBxgB1R2AVVPaAeagugNsH6UdYGRUdwBWQWkHWBDVHWA7KO0A\n", | |||
|
95 | "I6a6A7AsSjvAEqjuAJtLaQfYEKo7AIuktAMsmeoOsFmUdoANpLoDMC+lHWCFVHeA8VPaATac6g7A\n", | |||
|
96 | "USjtAGuiugOMk9IOsEVUdwAOSmkHGADVHWA8lHaALaW6A3A+SjvAwKjuAMOmtAOgugNwDqUdYMBU\n", | |||
|
97 | "d4DhUdoBOIvqDkCitAOMhuoOMAxKOwAzqe4A20tpBxgh1R1gfZR2AA5EdQfYLko7wMip7gCrpbQD\n", | |||
|
98 | "cGiqO8DmU9oBNojqDrB8SjsAc1HdATaT0g6woVR3gOVQ2gFYGNUdYHMo7QBbQHUHWBylHYClUN0B\n", | |||
|
99 | "xk1pB9gyqjvAfJR2AJZOdQcYH6UdYIup7gCHp7QDsFKqO8A4KO0AJFHdAQ5KaQdgbVR3gOFS2gE4\n", | |||
|
100 | "h+oOMJvSDsAgqO4Aw6K0A3BeqjvA2ZR2AAZHdQdYP6UdgANT3QGUdgAGTnUHWA+lHYAjUd2BbaW0\n", | |||
|
101 | "AzAaqjvA6ijtAMxNdQe2idIOwCip7gDLpbQDsFCqO7DplHYARk91B1g8pR2ApVHdgU2ktAOwUVR3\n", | |||
|
102 | "gMVQ2gFYCdUd2BRKOwAbS3UHODqlHYCVU92BMVPaAdgKqjvA4SjtAKyV6g6MjdIOwNZR3QH2p7QD\n", | |||
|
103 | "MBiqOzAGSjsAW011B9ib0g7AIKnuwFAp7QAwpboDPE5pB2DwVHdgSJR2ANiD6g5sO6UdgFFR3YF1\n", | |||
|
104 | "U9oBYB+qO7CNlHYARkt1B9ZBaQeAQ1DdgW2htAOwEVR3YFWUdgA4ItUd2GRzT9qr6rKqurmq7q+q\n", | |||
|
105 | "R6vqdFXdWFVPmmPM762qx6aPvz/vMQKwHbrT3XlXkmcluTXJhUnekeS2qjx9rQcHMIe5Ju1VdWWS\n", | |||
|
106 | "/5nk7yb5aJKfSnJvkuuT/GZVfe0Rxnxakrcl+dL0qc1ZvwPASqjuwKaZt7S/PcnFSV7Z3S/u7td1\n", | |||
|
107 | "93OT3JjkRJI3HmawqqokP5fkj5L82zmPDYAtproDm+TIk/ZpZb8uyenu/uldu1+f5OEk31tVTzjE\n", | |||
|
108 | "sD+U5GSSvzf9eACYi+oObIJ5SvvJ6fb23Tu6+0tJPpLkiUmefZDBqurrk7w5yVu6+zfmOC4AOIvq\n", | |||
|
109 | "DozdPJP2E9Pt3TP23zPdXrXfQFV1LMktSe5L8ro5jgkAZlLdgbGaZ9J+0XT70Iz9O88f5CoyP57k\n", | |||
|
110 | "G5P83e7+8hzHBADnpboDY7T267RX1dVJfizJv+ru/7bu4wFgO6juwJjMM2nfKekXzdi/8/yDswaY\n", | |||
|
111 | "Lov5hSR3ZfLm1T1fdtgDq6o+z+PUYccDYDOp7sAsVXVq1nxyHcczz6T9zun2xIz9O2vZZ615T5IL\n", | |||
|
112 | "pq97ZpJHz7ih0mOZLJlJkn83fe7Ggx5Yd9d5HqcOOg4A20F1B3br7lOz5pPrOJ7qPtovC1V1PMkn\n", | |||
|
113 | "kpxO8nV9xkBVdWGS38/kxkiXdPcjM8b4s0luyt43UPqmJH8lyYczKfHv7+5373NMnUwm7Yf+ggAg\n", | |||
|
114 | "SVUuTfIzSV40fer9SV7WnU+t76iAIVnHnPPIk/Ykqar3JXlekh/q7red8fxPJXlVkn/b3f9o+tyx\n", | |||
|
115 | "JF+X5Cvdfe8Bxj6VSW1/WXfffMDjMWkHYG7Tuv6STO7Q/eQkX0zy6iTv7Hanbth265hzzvtG1H+U\n", | |||
|
116 | "5A+TvLWqbq2qN1XVBzOZsN+V5J+d8drLkvxOkl+b83MCwFJZ6w4MzVyT9mkx/2tJ/kOSq5P8SJIr\n", | |||
|
117 | "krwlybO7+/N7fdhBhz/EawFg4ax1B4ZiruUxQ2N5DADLYq07sGOMy2MAYCuo7sA6Ke0AcEiqO2w3\n", | |||
|
118 | "pR0ARkB1B1ZNaQeAOajusH2UdgAYGdUdWAWlHQAWRHWH7aC0A8CIqe7AsijtALAEqjtsLqUdADaE\n", | |||
|
119 | "6g4sktIOAEumusNmUdoBYAOp7sC8lHYAWCHVHcZPaQeADae6A0ehtAPAmqjuME5KOwBsEdUdOCil\n", | |||
|
120 | "HQAGQHWH8VDaAWBLqe7A+SjtADAwqjsMm9IOAKjuwDmUdgAYMNUdhkdpBwDOoroDidIOAKOhusMw\n", | |||
|
121 | "KO0AwEyqO2wvpR0ARkh1h/VR2gGAA1HdYbso7QAwcqo7rJbSDgAcmuoOm09pB4ANorrD8intAMBc\n", | |||
|
122 | "VHfYTEo7AGwo1R2WQ2kHABZGdYfNobQDwBZQ3WFxlHYAYClUdxg3pR0AtozqDvNR2gGApVPdYXyU\n", | |||
|
123 | "dgDYYqo7HJ7SDgCslOoO46C0AwBJVHc4KKUdAFgb1R2GS2kHAM6husNsSjsAMAiqOwyL0g4AnJfq\n", | |||
|
124 | "DmdT2gGAwVHdYf2UdgDgwFR3UNoBgIFT3WE9lHYA4EhUd7aV0g4AjIbqDqujtAMAc1Pd2SZKOwAw\n", | |||
|
125 | "Sqo7LJfSDgAslOrOplPaAYDRU91h8ZR2AGBpVHc2kdIOAGwU1R0WQ2kHAFZCdWdTKO0AwMZS3eHo\n", | |||
|
126 | "lHYAYOVUd8ZMaQcAtoLqDoejtAMAa6W6MzZKOwCwdVR32J/SDgAMhurOGCjtAMBWU91hb0o7ADBI\n", | |||
|
127 | "qjtDpbQDAEyp7vA4pR0AGDzVnSFR2gEA9qC6s+2UdgBgVFR31k1pBwDYh+rONlLaAYDRUt1ZB6Ud\n", | |||
|
128 | "AOAQVHe2hdIOAGwE1Z1VUdoBAI5IdWeTKe0AwMZR3VkmpR0AYAFUdzaN0g4AbDTVnUVT2gEAFkx1\n", | |||
|
129 | "ZxMsZNJeVZdV1c1VdX9VPVpVp6vqxqp60gE//mur6mVVdWtVfaKqHq6qB6vqw1X1/VXlDxQAcGTd\n", | |||
|
130 | "6e68K8mzktya5MIk70hyW1WevtaDgwOYe3lMVV2Z5I4kFyd5T5I7k1yd5GSSu5Jc092f22eMf5jk\n", | |||
|
131 | "7UnuT/KhJJ9K8tQkL05yUZJf7u7vPsCxWB4DAJzXtK6/JMnbkjw5yReTvDrJO7uzOeuGWZp1zDkX\n", | |||
|
132 | "MWm/LZP/zfTK7v7pM57/ySQ/nORnu/sH9xnjZJIndPev7nr+0iT/PcnTknxXd//KPuOYtAMAB2Kt\n", | |||
|
133 | "O0c1ukn7tLLfk+R0d1+5a98FSR5I0kku7e6Hj/g5fizJG5Pc1N3X7/Nak3YA4MBUd45ijG9EPTnd\n", | |||
|
134 | "3r57R3d/KclHkjwxybPn+Bx/smsLALAQ1rozFvNO2k9Mt3fP2H/PdHvVUQavqmNJXjr91/cdZQwA\n", | |||
|
135 | "gP24wgxDN++k/aLp9qEZ+3eeP9BVZPbw5kx+8/3V7n7/EccAANiX6s6QDfY67VX1Q0l+JMn/SfJ9\n", | |||
|
136 | "h/zYPs/j1DKOFwDYDKo7SVJVp2bNJ9dxPPNO2ndK+kUz9u88/+BhBq2qf5zkLUn+d5KT3X2oj+/u\n", | |||
|
137 | "Os/j1GHGAgC2j+pOd5+aNZ9cx/HMO2m/c7o9MWP/zlr2WWvez1FVr0ry1iT/K5MJ+x8e/fAAAI5O\n", | |||
|
138 | "dWco5r3k4/Ekn0hyOsnX9RmDVdWFSX4/k0s+XtLdjxxgvNcmeVOSjyW5br+bMu3x8S75CAAsheu6\n", | |||
|
139 | "s2N0l3zs7nszudzjFUlesWv3DUmekOSWnQl7VR2rqmdMJ/tnqap/kcmE/beSPPewE3YAgGVS3Vmn\n", | |||
|
140 | "RdwR9XiSO5JckuS9mSyZuTrJtUnuSvKc7v789LWXJ7k3ySe7+4ozxvg7SX4uyZ8muSnJF/b4VKe7\n", | |||
|
141 | "++f3ORalHQBYOtV9u43ujqhfHaTqsiRvSPL8TO4mdn8mb9q4obsfOuN1l2cyab+vu4+f8fzrk7w+\n", | |||
|
142 | "k6U0s774X+/uv7HPcZi0AwAr4W6q22u0k/ahMGkHAFZNdd8+o1vTDgCw7ax1ZxWUdgCABVHdt4PS\n", | |||
|
143 | "DgAwYqo7y6K0AwAsgeq+uZR2AIANobqzSEo7AMCSqe6bRWkHANhAqjvzUtoBAFZIdR8/pR0AYMOp\n", | |||
|
144 | "7hyF0g4AsCaq+zgp7QAAW0R156CUdgCAAVDdx0NpBwDYUqo756O0AwAMjOo+bEo7AACqO+dQ2gEA\n", | |||
|
145 | "Bkx1Hx6lHQCAs6juJEo7AMBoqO7DoLQDADCT6r69lHYAgBFS3ddHaQcA4EBU9+2itAMAjJzqvlpK\n", | |||
|
146 | "OwAAh6a6bz6lHQBgg6juy6e0AwAwF9V9MyntAAAbSnVfDqUdAICFUd03h9IOALAFVPfFUdoBAFgK\n", | |||
|
147 | "1X3clHYAgC2jus9HaQcAYOlU9/FR2gEAtpjqfnhKOwAAK6W6j4PSDgBAEtX9oJR2AADWRnUfLqUd\n", | |||
|
148 | "AIBzqO6zKe0AAAyC6j4sSjsAAOelup9NaQcAYHBU9/VT2gEAODDVXWkHAGDgVPf1UNoBADiSba3u\n", | |||
|
149 | "SjsAAKOhuq+O0g4AwNy2qbor7QAAjJLqvlxKOwAAC7Xp1V1pBwBg9FT3xVPaAQBYmk2s7ko7AAAb\n", | |||
|
150 | "RXVfDKUdAICV2JTqrrQDALCxVPejU9oBAFi5MVd3pR0AgK2guh+O0g4AwFqNrbor7QAAbB3VfX9K\n", | |||
|
151 | "OwAAgzGG6q60AwCw1VT3vSntAAAM0lCru9IOAABTqvvjlHYAAAZvSNVdaQcAgD1se3VX2gEAGJV1\n", | |||
|
152 | "V3elHQAA9rGN1V1pBwBgtNZR3ZV2AAA4hG2p7ko7AAAbYVXVXWkHAIAj2uTqrrQDALBxllndlXYA\n", | |||
|
153 | "AFiATavuSjsAABtt0dVdaQcAgAXbhOqutAMAsDUWUd2VdgAAWKKxVnelHQCArXTU6j7K0l5Vl1XV\n", | |||
|
154 | "zVV1f1U9WlWnq+rGqnrSOsaBvVTVqXUfA8PinGAvzgv24rzYXGOq7nOV9qq6MskdSS5O8p4kdya5\n", | |||
|
155 | "OsnJJHcluaa7P7fCcZR29lRV7bzgTM4J9uK8YC/Oi+1wmOo+xtL+9kwm2q/s7hd39+u6+7lJbkxy\n", | |||
|
156 | "IskbVzwOAAAc2tCr+5FL+7SO35PkdHdfuWvfBUkeSNJJLu3uh5c9zvT1Sjt7UknYzTnBXpwX7MV5\n", | |||
|
157 | "sX32q+5jK+0np9vbd+/o7i8l+UiSJyZ59orGAQCAuQ2xus8zaT8x3d49Y/890+1VKxoHAAAWojvd\n", | |||
|
158 | "nXcleVaSW5NcmOQdSW5bx/HMM2m/aLp9aMb+nef3u/rLosYBAICFmlHdV+7YOj7psu2sM4IzOS/Y\n", | |||
|
159 | "zTnBXpwX7MV5wbrNU9p3CvhFM/bvPP/gisYBAICNNE9pv3O6PTFj/84a9Flr1Rc9jqvGAACwkea5\n", | |||
|
160 | "5OPxJJ9IcjrJ1/UZA1XVhUl+P5NLNV7S3Y8sexwAANhUR14e0933ZnKZxiuSvGLX7huSPCHJLTsT\n", | |||
|
161 | "7ao6VlXPmE7SjzwOAABsmyOX9uSrlfyOJJckeW8mS12uTnJtkruSPKe7Pz997eVJ7k3yye6+4qjj\n", | |||
|
162 | "AADAtplr0p4kVXVZkjckeX6SJye5P5NrWd7Q3Q+d8brLM5m039fdx486DgAAbJu5J+0AAMByzXPJ\n", | |||
|
163 | "RwAAYAVM2gEAYOAGPWmvqsuq6uaqur+qHq2q01V1Y1U9aR3jMAzzfj+r6mur6mVVdWtVfaKqHq6q\n", | |||
|
164 | "B6vqw1X1/VXlev8jtIw/51X1vVX12PTx9xd5vKzGIs+Lqnru9O+NB6Zjfaaq3ldV376MY2d5Fji/\n", | |||
|
165 | "+I6qur2qPj39WfK7VfVLVfXsZR07i1dV31VVN03nAV+Y/p1/yxHHWtqcc7Br2qvqykyuKHNxkvfk\n", | |||
|
166 | "8SvKnMzkijLXdPfnVjUOw7CI72dV/cMkb8/kzc4fSvKpJE9N8uJM7sD7y9393cv6Gli8Zfw5r6qn\n", | |||
|
167 | "JflfmcSNC5K8rLtvXuRxs1yLPC+q6ieS/GiS30vyX5J8NpMrnv3VJB/o7n+68C+ApVjg/OJfJnlN\n", | |||
|
168 | "JufCe6ZH+b3pAAAGc0lEQVTbq5K8IJObV760u39xGV8Di1VVH0/yDUm+mOQzSZ6R5D9290sPOc5y\n", | |||
|
169 | "55zdPchHktuSPJbkFbue/8np8z+zynE8hvFYxPdz+ofnO/Z4/tIkn5yO8+J1f60eqz0vdn1cJflA\n", | |||
|
170 | "knuS/MR0jO9f99fpsZ7zIskPTF9/c5Jje+w/5zmP4T4W9HPkqUn+NJP485Rd+66djvO76/5aPQ58\n", | |||
|
171 | "Tlyb5MrpP3/r9Pv3C0cYZ6lzzkGW9ulvKvckOd3dV+7ad0GSBzK5S+ql3f3wssdhGFbx/ayqH0vy\n", | |||
|
172 | "xiQ3dff1cx4yK7CM86Kqrk/yU5n85f1tSX48SvuoLPDnyNdkUtf/OMlV3f0nyztqlm2B58XVSX4z\n", | |||
|
173 | "yXu7+0V77P9Cku7uixZ5/CxfVV2b5IM5ZGlfxRxlqGvaT063t+/e0d1fSvKRJE9Mst+asUWNwzCs\n", | |||
|
174 | "4vv5J7u2DN9Cz4uq+vokb07ylu7+jUUdJCu3qPPiuiRPSfIrSXq6hvm1VXW9dcujtKjz4u4kX0ly\n", | |||
|
175 | "dVU9+cwdVfUtmSyp+8DcR8uYLH2OMtRJ+4np9u4Z+++Zbq9a0TgMw1K/n1V1LMnOb9XvO8oYrMXC\n", | |||
|
176 | "zovpOXBLkvuSvG7uI2OdFnVefPN0++UkH0/yn5O8KcmNSe6oql+vqqfMc6Cs1ELOi57cpf21mSyr\n", | |||
|
177 | "/J2qekdVvamqfimTJRK3J/kHCzhexmPpc85jR/3AJdv530mz7oS68/x+78Rd1DgMw7K/n29O8qwk\n", | |||
|
178 | "v9rd7z/iGKzeIs+LH0/yjZm8WejL8x4Ya7Wo8+KS6fY1Sf53kr+eyeT9eJJ/neR5Sd6dxysbw7aw\n", | |||
|
179 | "vy+6+99U1SeT/PskLztj1yeS/Hx3f/bIR8kYLX3OOdTSDitVVT+U5EeS/J8k37fmw2ENpmtUfyzJ\n", | |||
|
180 | "v+ru/7bu42Ewdn5O/r8kL+juO7r74e7+7SQvSvLpJN9qqcz2qap/kskvbD+XyS9xT0jyTUnuTfKL\n", | |||
|
181 | "06vLwMIMddK+89vIrDdw7Dz/4IrGYRiW8v2sqn+c5C2ZVLST3e18GJe5z4vpsphfyOSSXK+f9bIj\n", | |||
|
182 | "HR3rsqi/L3b2f6y7P3Xmju5+JJOlEMnjy2gYtoWcF9M3K745kzei/mh339fdj3b3xzL5Ze4zSV5d\n", | |||
|
183 | "VVcs4JgZh6XPOYc6ab9zuj0xY//OeqBZ64YWPQ7DsPDvZ1W9KslbM7ke98nu/sOjHx5rsojz4oLp\n", | |||
|
184 | "656Z5NEzbqj0WCZLZpLk302fu3HuI2YVFv1zZNYP2p3n/9wBj4v1WtR58Z3T7Yd275j+Mvc/Mplj\n", | |||
|
185 | "feNhD5DRWvqcc6hr2nf+EFxXVdVnXJeyqi5Mck0ml9/66IrGYRgW+v2sqtdm8oayjyW5rt1ka6wW\n", | |||
|
186 | "cV48msm61L2ugftNSf5Kkg9nUuLvWMRBs3SL+vvi1zI5L565e5ypvzzdnl7AMbN8izovvma6vWTG\n", | |||
|
187 | "/oun268c9UAZnaXPOQdZ2rv73kzeeX1Fklfs2n1DJuvGbpn+NpuqOlZVz6iq4/OMw7At6ryY7vsX\n", | |||
|
188 | "mUzYfyvJc03Yx2sR58X0f2v/QHe/fPcjk6uFJJM3lr28u9+9/K+KeS3w58inMjkH/lKSs+7dUFXP\n", | |||
|
189 | "S/I3k3w+rjg1Cgv8OfJfp9uXV9VfOHNHVX17JhO0R+KX/I2zzjnnIG+ulCTT/xh3ZPJb7Hvz+K1g\n", | |||
|
190 | "r82kdj1nesmlVNXlmbzx45PdfcVRx2H4FnFeVNXfyeSNQ3+a5KYkX9jjU53u7p9f1tfBYi3q74sZ\n", | |||
|
191 | "Y5+KmyuN0gJ/jvzF6ThPy6S8fzyTH8wvzOTvke/p7luX/gWxEAv6OVKZvJ/h25J8McmtSf4gyddn\n", | |||
|
192 | "snSmk7yqu29axdfEfKrqhZn8eU4md7t9Xibf9517dfxRd79m+trLs64552Fun7rqR5LLMrlt9P2Z\n", | |||
|
193 | "XCP3dCZ3Kbxo1+suz+T2sPfOM47HOB7znheZvNHwsUx+2D424/HBdX+dHqs9L84z7uun58r3r/tr\n", | |||
|
194 | "9FjfeZHJDZbemsk1/L+c5A+T/HKSv7bur9FjPedFJkuMr8/kzqgPZXKFoQeS/Kck37bur9HjUOfD\n", | |||
|
195 | "mfOCMx+P7f7+r3POOdjSDgAATAxyTTsAAPA4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4\n", | |||
|
196 | "k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YAABg4k3YA\n", | |||
|
197 | "ABg4k3YAABi4/w/Y3UZ5IHmVbAAAAABJRU5ErkJggg==\n" | |||
|
198 | ], | |||
|
199 | "text/plain": [ | |||
|
200 | "<matplotlib.figure.Figure at 0x10d0da080>" | |||
|
201 | ] | |||
|
202 | }, | |||
|
203 | "metadata": { | |||
|
204 | "image/png": { | |||
|
205 | "height": 255, | |||
|
206 | "width": 374 | |||
|
207 | } | |||
|
208 | }, | |||
|
209 | "output_type": "display_data" | |||
|
210 | } | |||
|
211 | ], | |||
|
212 | "source": [ | |||
|
213 | "%matplotlib inline\n", | |||
|
214 | "%config InlineBackend.figure_formats = set(['retina'])\n", | |||
|
215 | "import matplotlib.pyplot as plt\n", | |||
|
216 | "plt.plot([0,1],[1,0])" | |||
|
217 | ] | |||
|
218 | } | |||
|
219 | ], | |||
|
220 | "metadata": { | |||
|
221 | "kernelspec": { | |||
|
222 | "display_name": "IPython mydev (Python 3)", | |||
|
223 | "name": "python3_mydev" | |||
|
224 | }, | |||
|
225 | "language_info": { | |||
|
226 | "codemirror_mode": { | |||
|
227 | "name": "ipython", | |||
|
228 | "version": 3 | |||
|
229 | }, | |||
|
230 | "file_extension": ".py", | |||
|
231 | "mimetype": "text/x-python", | |||
|
232 | "name": "python", | |||
|
233 | "nbconvert_exporter": "python", | |||
|
234 | "pygments_lexer": "ipython3", | |||
|
235 | "version": "3.4.2" | |||
|
236 | } | |||
|
237 | }, | |||
|
238 | "nbformat": 4, | |||
|
239 | "nbformat_minor": 0 | |||
|
240 | } No newline at end of file |
@@ -1,77 +1,86 b'' | |||||
1 | """Tests for HTMLExporter""" |
|
1 | """Tests for HTMLExporter""" | |
2 |
|
2 | |||
3 | #----------------------------------------------------------------------------- |
|
3 | #----------------------------------------------------------------------------- | |
4 | # Copyright (c) 2013, the IPython Development Team. |
|
4 | # Copyright (c) 2013, the IPython Development Team. | |
5 | # |
|
5 | # | |
6 | # Distributed under the terms of the Modified BSD License. |
|
6 | # Distributed under the terms of the Modified BSD License. | |
7 | # |
|
7 | # | |
8 | # The full license is in the file COPYING.txt, distributed with this software. |
|
8 | # The full license is in the file COPYING.txt, distributed with this software. | |
9 | #----------------------------------------------------------------------------- |
|
9 | #----------------------------------------------------------------------------- | |
10 |
|
10 | |||
11 | #----------------------------------------------------------------------------- |
|
11 | #----------------------------------------------------------------------------- | |
12 | # Imports |
|
12 | # Imports | |
13 | #----------------------------------------------------------------------------- |
|
13 | #----------------------------------------------------------------------------- | |
14 |
|
14 | |||
15 | from .base import ExportersTestsBase |
|
15 | from .base import ExportersTestsBase | |
16 | from ..html import HTMLExporter |
|
16 | from ..html import HTMLExporter | |
17 | from IPython.testing.decorators import onlyif_any_cmd_exists |
|
17 | from IPython.testing.decorators import onlyif_any_cmd_exists | |
18 | import re |
|
18 | import re | |
19 |
|
19 | |||
20 | #----------------------------------------------------------------------------- |
|
20 | #----------------------------------------------------------------------------- | |
21 | # Class |
|
21 | # Class | |
22 | #----------------------------------------------------------------------------- |
|
22 | #----------------------------------------------------------------------------- | |
23 |
|
23 | |||
24 | class TestHTMLExporter(ExportersTestsBase): |
|
24 | class TestHTMLExporter(ExportersTestsBase): | |
25 | """Tests for HTMLExporter""" |
|
25 | """Tests for HTMLExporter""" | |
26 |
|
26 | |||
27 | exporter_class = HTMLExporter |
|
27 | exporter_class = HTMLExporter | |
28 | should_include_raw = ['html'] |
|
28 | should_include_raw = ['html'] | |
29 |
|
29 | |||
30 | def test_constructor(self): |
|
30 | def test_constructor(self): | |
31 | """ |
|
31 | """ | |
32 | Can a HTMLExporter be constructed? |
|
32 | Can a HTMLExporter be constructed? | |
33 | """ |
|
33 | """ | |
34 | HTMLExporter() |
|
34 | HTMLExporter() | |
35 |
|
35 | |||
36 |
|
36 | |||
37 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') |
|
37 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') | |
38 | def test_export(self): |
|
38 | def test_export(self): | |
39 | """ |
|
39 | """ | |
40 | Can a HTMLExporter export something? |
|
40 | Can a HTMLExporter export something? | |
41 | """ |
|
41 | """ | |
42 | (output, resources) = HTMLExporter().from_filename(self._get_notebook()) |
|
42 | (output, resources) = HTMLExporter().from_filename(self._get_notebook()) | |
43 | assert len(output) > 0 |
|
43 | assert len(output) > 0 | |
44 |
|
44 | |||
45 |
|
45 | |||
46 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') |
|
46 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') | |
47 | def test_export_basic(self): |
|
47 | def test_export_basic(self): | |
48 | """ |
|
48 | """ | |
49 | Can a HTMLExporter export using the 'basic' template? |
|
49 | Can a HTMLExporter export using the 'basic' template? | |
50 | """ |
|
50 | """ | |
51 | (output, resources) = HTMLExporter(template_file='basic').from_filename(self._get_notebook()) |
|
51 | (output, resources) = HTMLExporter(template_file='basic').from_filename(self._get_notebook()) | |
52 | assert len(output) > 0 |
|
52 | assert len(output) > 0 | |
53 |
|
53 | |||
54 |
|
54 | |||
55 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') |
|
55 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') | |
56 | def test_export_full(self): |
|
56 | def test_export_full(self): | |
57 | """ |
|
57 | """ | |
58 | Can a HTMLExporter export using the 'full' template? |
|
58 | Can a HTMLExporter export using the 'full' template? | |
59 | """ |
|
59 | """ | |
60 | (output, resources) = HTMLExporter(template_file='full').from_filename(self._get_notebook()) |
|
60 | (output, resources) = HTMLExporter(template_file='full').from_filename(self._get_notebook()) | |
61 | assert len(output) > 0 |
|
61 | assert len(output) > 0 | |
62 |
|
62 | |||
63 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') |
|
63 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') | |
64 | def test_prompt_number(self): |
|
64 | def test_prompt_number(self): | |
65 | """ |
|
65 | """ | |
66 | Does HTMLExporter properly format input and output prompts? |
|
66 | Does HTMLExporter properly format input and output prompts? | |
67 | """ |
|
67 | """ | |
68 | (output, resources) = HTMLExporter(template_file='full').from_filename( |
|
68 | (output, resources) = HTMLExporter(template_file='full').from_filename( | |
69 | self._get_notebook(nb_name="prompt_numbers.ipynb")) |
|
69 | self._get_notebook(nb_name="prompt_numbers.ipynb")) | |
70 | in_regex = r"In \[(.*)\]:" |
|
70 | in_regex = r"In \[(.*)\]:" | |
71 | out_regex = r"Out\[(.*)\]:" |
|
71 | out_regex = r"Out\[(.*)\]:" | |
72 |
|
72 | |||
73 | ins = ["2", "10", " ", " ", "*", "0"] |
|
73 | ins = ["2", "10", " ", " ", "*", "0"] | |
74 | outs = ["10"] |
|
74 | outs = ["10"] | |
75 |
|
75 | |||
76 | assert re.findall(in_regex, output) == ins |
|
76 | assert re.findall(in_regex, output) == ins | |
77 | assert re.findall(out_regex, output) == outs |
|
77 | assert re.findall(out_regex, output) == outs | |
|
78 | ||||
|
79 | @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc') | |||
|
80 | def test_png_metadata(self): | |||
|
81 | """ | |||
|
82 | Does HTMLExporter with the 'basic' template treat pngs with width/height metadata correctly? | |||
|
83 | """ | |||
|
84 | (output, resources) = HTMLExporter(template_file='basic').from_filename( | |||
|
85 | self._get_notebook(nb_name="pngmetadata.ipynb")) | |||
|
86 | assert len(output) > 0 |
@@ -1,192 +1,192 b'' | |||||
1 | {%- extends 'display_priority.tpl' -%} |
|
1 | {%- extends 'display_priority.tpl' -%} | |
2 |
|
2 | |||
3 |
|
3 | |||
4 | {% block codecell %} |
|
4 | {% block codecell %} | |
5 | <div class="cell border-box-sizing code_cell rendered"> |
|
5 | <div class="cell border-box-sizing code_cell rendered"> | |
6 | {{ super() }} |
|
6 | {{ super() }} | |
7 | </div> |
|
7 | </div> | |
8 | {%- endblock codecell %} |
|
8 | {%- endblock codecell %} | |
9 |
|
9 | |||
10 | {% block input_group -%} |
|
10 | {% block input_group -%} | |
11 | <div class="input"> |
|
11 | <div class="input"> | |
12 | {{ super() }} |
|
12 | {{ super() }} | |
13 | </div> |
|
13 | </div> | |
14 | {% endblock input_group %} |
|
14 | {% endblock input_group %} | |
15 |
|
15 | |||
16 | {% block output_group %} |
|
16 | {% block output_group %} | |
17 | <div class="output_wrapper"> |
|
17 | <div class="output_wrapper"> | |
18 | <div class="output"> |
|
18 | <div class="output"> | |
19 | {{ super() }} |
|
19 | {{ super() }} | |
20 | </div> |
|
20 | </div> | |
21 | </div> |
|
21 | </div> | |
22 | {% endblock output_group %} |
|
22 | {% endblock output_group %} | |
23 |
|
23 | |||
24 | {% block in_prompt -%} |
|
24 | {% block in_prompt -%} | |
25 | <div class="prompt input_prompt"> |
|
25 | <div class="prompt input_prompt"> | |
26 | {%- if cell.execution_count is defined -%} |
|
26 | {%- if cell.execution_count is defined -%} | |
27 | In [{{ cell.execution_count|replace(None, " ") }}]: |
|
27 | In [{{ cell.execution_count|replace(None, " ") }}]: | |
28 | {%- else -%} |
|
28 | {%- else -%} | |
29 | In [ ]: |
|
29 | In [ ]: | |
30 | {%- endif -%} |
|
30 | {%- endif -%} | |
31 | </div> |
|
31 | </div> | |
32 | {%- endblock in_prompt %} |
|
32 | {%- endblock in_prompt %} | |
33 |
|
33 | |||
34 | {% block empty_in_prompt -%} |
|
34 | {% block empty_in_prompt -%} | |
35 | <div class="prompt input_prompt"> |
|
35 | <div class="prompt input_prompt"> | |
36 | </div> |
|
36 | </div> | |
37 | {%- endblock empty_in_prompt %} |
|
37 | {%- endblock empty_in_prompt %} | |
38 |
|
38 | |||
39 | {# |
|
39 | {# | |
40 | output_prompt doesn't do anything in HTML, |
|
40 | output_prompt doesn't do anything in HTML, | |
41 | because there is a prompt div in each output area (see output block) |
|
41 | because there is a prompt div in each output area (see output block) | |
42 | #} |
|
42 | #} | |
43 | {% block output_prompt %} |
|
43 | {% block output_prompt %} | |
44 | {% endblock output_prompt %} |
|
44 | {% endblock output_prompt %} | |
45 |
|
45 | |||
46 | {% block input %} |
|
46 | {% block input %} | |
47 | <div class="inner_cell"> |
|
47 | <div class="inner_cell"> | |
48 | <div class="input_area"> |
|
48 | <div class="input_area"> | |
49 | {{ cell.source | highlight_code(metadata=cell.metadata) }} |
|
49 | {{ cell.source | highlight_code(metadata=cell.metadata) }} | |
50 | </div> |
|
50 | </div> | |
51 | </div> |
|
51 | </div> | |
52 | {%- endblock input %} |
|
52 | {%- endblock input %} | |
53 |
|
53 | |||
54 | {% block output %} |
|
54 | {% block output %} | |
55 | <div class="output_area"> |
|
55 | <div class="output_area"> | |
56 | {%- if output.output_type == 'execute_result' -%} |
|
56 | {%- if output.output_type == 'execute_result' -%} | |
57 | <div class="prompt output_prompt"> |
|
57 | <div class="prompt output_prompt"> | |
58 | {%- if cell.execution_count is defined -%} |
|
58 | {%- if cell.execution_count is defined -%} | |
59 | Out[{{ cell.execution_count|replace(None, " ") }}]: |
|
59 | Out[{{ cell.execution_count|replace(None, " ") }}]: | |
60 | {%- else -%} |
|
60 | {%- else -%} | |
61 | Out[ ]: |
|
61 | Out[ ]: | |
62 | {%- endif -%} |
|
62 | {%- endif -%} | |
63 | {%- else -%} |
|
63 | {%- else -%} | |
64 | <div class="prompt"> |
|
64 | <div class="prompt"> | |
65 | {%- endif -%} |
|
65 | {%- endif -%} | |
66 | </div> |
|
66 | </div> | |
67 | {{ super() }} |
|
67 | {{ super() }} | |
68 | </div> |
|
68 | </div> | |
69 | {% endblock output %} |
|
69 | {% endblock output %} | |
70 |
|
70 | |||
71 | {% block markdowncell scoped %} |
|
71 | {% block markdowncell scoped %} | |
72 | <div class="cell border-box-sizing text_cell rendered"> |
|
72 | <div class="cell border-box-sizing text_cell rendered"> | |
73 | {{ self.empty_in_prompt() }} |
|
73 | {{ self.empty_in_prompt() }} | |
74 | <div class="inner_cell"> |
|
74 | <div class="inner_cell"> | |
75 | <div class="text_cell_render border-box-sizing rendered_html"> |
|
75 | <div class="text_cell_render border-box-sizing rendered_html"> | |
76 | {{ cell.source | markdown2html | strip_files_prefix }} |
|
76 | {{ cell.source | markdown2html | strip_files_prefix }} | |
77 | </div> |
|
77 | </div> | |
78 | </div> |
|
78 | </div> | |
79 | </div> |
|
79 | </div> | |
80 | {%- endblock markdowncell %} |
|
80 | {%- endblock markdowncell %} | |
81 |
|
81 | |||
82 | {% block unknowncell scoped %} |
|
82 | {% block unknowncell scoped %} | |
83 | unknown type {{ cell.type }} |
|
83 | unknown type {{ cell.type }} | |
84 | {% endblock unknowncell %} |
|
84 | {% endblock unknowncell %} | |
85 |
|
85 | |||
86 | {% block execute_result -%} |
|
86 | {% block execute_result -%} | |
87 | {%- set extra_class="output_execute_result" -%} |
|
87 | {%- set extra_class="output_execute_result" -%} | |
88 | {% block data_priority scoped %} |
|
88 | {% block data_priority scoped %} | |
89 | {{ super() }} |
|
89 | {{ super() }} | |
90 | {% endblock %} |
|
90 | {% endblock %} | |
91 | {%- set extra_class="" -%} |
|
91 | {%- set extra_class="" -%} | |
92 | {%- endblock execute_result %} |
|
92 | {%- endblock execute_result %} | |
93 |
|
93 | |||
94 | {% block stream_stdout -%} |
|
94 | {% block stream_stdout -%} | |
95 | <div class="output_subarea output_stream output_stdout output_text"> |
|
95 | <div class="output_subarea output_stream output_stdout output_text"> | |
96 | <pre> |
|
96 | <pre> | |
97 | {{- output.text | ansi2html -}} |
|
97 | {{- output.text | ansi2html -}} | |
98 | </pre> |
|
98 | </pre> | |
99 | </div> |
|
99 | </div> | |
100 | {%- endblock stream_stdout %} |
|
100 | {%- endblock stream_stdout %} | |
101 |
|
101 | |||
102 | {% block stream_stderr -%} |
|
102 | {% block stream_stderr -%} | |
103 | <div class="output_subarea output_stream output_stderr output_text"> |
|
103 | <div class="output_subarea output_stream output_stderr output_text"> | |
104 | <pre> |
|
104 | <pre> | |
105 | {{- output.text | ansi2html -}} |
|
105 | {{- output.text | ansi2html -}} | |
106 | </pre> |
|
106 | </pre> | |
107 | </div> |
|
107 | </div> | |
108 | {%- endblock stream_stderr %} |
|
108 | {%- endblock stream_stderr %} | |
109 |
|
109 | |||
110 | {% block data_svg scoped -%} |
|
110 | {% block data_svg scoped -%} | |
111 | <div class="output_svg output_subarea {{extra_class}}"> |
|
111 | <div class="output_svg output_subarea {{extra_class}}"> | |
112 | {%- if output.svg_filename %} |
|
112 | {%- if output.svg_filename %} | |
113 | <img src="{{output.svg_filename | posix_path}}" |
|
113 | <img src="{{output.svg_filename | posix_path}}" | |
114 | {%- else %} |
|
114 | {%- else %} | |
115 | {{ output.data['image/svg+xml'] }} |
|
115 | {{ output.data['image/svg+xml'] }} | |
116 | {%- endif %} |
|
116 | {%- endif %} | |
117 | </div> |
|
117 | </div> | |
118 | {%- endblock data_svg %} |
|
118 | {%- endblock data_svg %} | |
119 |
|
119 | |||
120 | {% block data_html scoped -%} |
|
120 | {% block data_html scoped -%} | |
121 | <div class="output_html rendered_html output_subarea {{extra_class}}"> |
|
121 | <div class="output_html rendered_html output_subarea {{extra_class}}"> | |
122 | {{ output.data['text/html'] }} |
|
122 | {{ output.data['text/html'] }} | |
123 | </div> |
|
123 | </div> | |
124 | {%- endblock data_html %} |
|
124 | {%- endblock data_html %} | |
125 |
|
125 | |||
126 | {% block data_png scoped %} |
|
126 | {% block data_png scoped %} | |
127 | <div class="output_png output_subarea {{extra_class}}"> |
|
127 | <div class="output_png output_subarea {{extra_class}}"> | |
128 | {%- if 'image/png' in output.metadata.get('filenames', {}) %} |
|
128 | {%- if 'image/png' in output.metadata.get('filenames', {}) %} | |
129 | <img src="{{output.metadata.filenames['image/png'] | posix_path}}" |
|
129 | <img src="{{output.metadata.filenames['image/png'] | posix_path}}" | |
130 | {%- else %} |
|
130 | {%- else %} | |
131 | <img src="data:image/png;base64,{{ output.data['image/png'] }}" |
|
131 | <img src="data:image/png;base64,{{ output.data['image/png'] }}" | |
132 | {%- endif %} |
|
132 | {%- endif %} | |
133 | {%- if 'width' in output.metadata.get('image/png', {}) %} |
|
133 | {%- if 'width' in output.metadata.get('image/png', {}) %} | |
134 | width={{output.metadata['png']['width']}} |
|
134 | width={{output.metadata['image/png']['width']}} | |
135 | {%- endif %} |
|
135 | {%- endif %} | |
136 | {%- if 'height' in output.metadata.get('image/png', {}) %} |
|
136 | {%- if 'height' in output.metadata.get('image/png', {}) %} | |
137 | height={{output.metadata['png']['height']}} |
|
137 | height={{output.metadata['image/png']['height']}} | |
138 | {%- endif %} |
|
138 | {%- endif %} | |
139 | > |
|
139 | > | |
140 | </div> |
|
140 | </div> | |
141 | {%- endblock data_png %} |
|
141 | {%- endblock data_png %} | |
142 |
|
142 | |||
143 | {% block data_jpg scoped %} |
|
143 | {% block data_jpg scoped %} | |
144 | <div class="output_jpeg output_subarea {{extra_class}}"> |
|
144 | <div class="output_jpeg output_subarea {{extra_class}}"> | |
145 | {%- if 'image/jpeg' in output.metadata.get('filenames', {}) %} |
|
145 | {%- if 'image/jpeg' in output.metadata.get('filenames', {}) %} | |
146 | <img src="{{output.metadata.filenames['image/jpeg'] | posix_path}}" |
|
146 | <img src="{{output.metadata.filenames['image/jpeg'] | posix_path}}" | |
147 | {%- else %} |
|
147 | {%- else %} | |
148 | <img src="data:image/jpeg;base64,{{ output.data['image/jpeg'] }}" |
|
148 | <img src="data:image/jpeg;base64,{{ output.data['image/jpeg'] }}" | |
149 | {%- endif %} |
|
149 | {%- endif %} | |
150 | {%- if 'width' in output.metadata.get('image/jpeg', {}) %} |
|
150 | {%- if 'width' in output.metadata.get('image/jpeg', {}) %} | |
151 | width={{output.metadata['image/jpeg']['width']}} |
|
151 | width={{output.metadata['image/jpeg']['width']}} | |
152 | {%- endif %} |
|
152 | {%- endif %} | |
153 | {%- if 'height' in output.metadata.get('image/jpeg', {}) %} |
|
153 | {%- if 'height' in output.metadata.get('image/jpeg', {}) %} | |
154 | height={{output.metadata['image/jpeg']['height']}} |
|
154 | height={{output.metadata['image/jpeg']['height']}} | |
155 | {%- endif %} |
|
155 | {%- endif %} | |
156 | > |
|
156 | > | |
157 | </div> |
|
157 | </div> | |
158 | {%- endblock data_jpg %} |
|
158 | {%- endblock data_jpg %} | |
159 |
|
159 | |||
160 | {% block data_latex scoped %} |
|
160 | {% block data_latex scoped %} | |
161 | <div class="output_latex output_subarea {{extra_class}}"> |
|
161 | <div class="output_latex output_subarea {{extra_class}}"> | |
162 | {{ output.data['text/latex'] }} |
|
162 | {{ output.data['text/latex'] }} | |
163 | </div> |
|
163 | </div> | |
164 | {%- endblock data_latex %} |
|
164 | {%- endblock data_latex %} | |
165 |
|
165 | |||
166 | {% block error -%} |
|
166 | {% block error -%} | |
167 | <div class="output_subarea output_text output_error"> |
|
167 | <div class="output_subarea output_text output_error"> | |
168 | <pre> |
|
168 | <pre> | |
169 | {{- super() -}} |
|
169 | {{- super() -}} | |
170 | </pre> |
|
170 | </pre> | |
171 | </div> |
|
171 | </div> | |
172 | {%- endblock error %} |
|
172 | {%- endblock error %} | |
173 |
|
173 | |||
174 | {%- block traceback_line %} |
|
174 | {%- block traceback_line %} | |
175 | {{ line | ansi2html }} |
|
175 | {{ line | ansi2html }} | |
176 | {%- endblock traceback_line %} |
|
176 | {%- endblock traceback_line %} | |
177 |
|
177 | |||
178 | {%- block data_text scoped %} |
|
178 | {%- block data_text scoped %} | |
179 | <div class="output_text output_subarea {{extra_class}}"> |
|
179 | <div class="output_text output_subarea {{extra_class}}"> | |
180 | <pre> |
|
180 | <pre> | |
181 | {{- output.data['text/plain'] | ansi2html -}} |
|
181 | {{- output.data['text/plain'] | ansi2html -}} | |
182 | </pre> |
|
182 | </pre> | |
183 | </div> |
|
183 | </div> | |
184 | {%- endblock -%} |
|
184 | {%- endblock -%} | |
185 |
|
185 | |||
186 | {%- block data_javascript scoped %} |
|
186 | {%- block data_javascript scoped %} | |
187 | <div class="output_subarea output_javascript {{extra_class}}"> |
|
187 | <div class="output_subarea output_javascript {{extra_class}}"> | |
188 | <script type="text/javascript"> |
|
188 | <script type="text/javascript"> | |
189 | {{ output.data['text/javascript'] }} |
|
189 | {{ output.data['text/javascript'] }} | |
190 | </script> |
|
190 | </script> | |
191 | </div> |
|
191 | </div> | |
192 | {%- endblock -%} |
|
192 | {%- endblock -%} |
General Comments 0
You need to be logged in to leave comments.
Login now