Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "metadata": {
- "name": "progbar"
- },
- "nbformat": 3,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "import sys, time",
- "try:",
- " from IPython.core.display import clear_output",
- " have_ipython = True",
- "except ImportError:",
- " have_ipython = False",
- "",
- "class ProgressBar:",
- " def __init__(self, iterations):",
- " self.iterations = iterations",
- " self.prog_bar = '[]'",
- " self.fill_char = '*'",
- " self.width = 40",
- " self.__update_amount(0)",
- " if have_ipython:",
- " self.animate = self.animate_ipython",
- " else:",
- " self.animate = self.animate_noipython",
- "",
- " def animate_ipython(self, iter):",
- " try:",
- " clear_output()",
- " except Exception:",
- " # terminal IPython has no clear_output",
- " pass",
- " print '\\r', self,",
- " sys.stdout.flush()",
- " self.update_iteration(iter + 1)",
- "",
- " def update_iteration(self, elapsed_iter):",
- " self.__update_amount((elapsed_iter / float(self.iterations)) * 100.0)",
- " self.prog_bar += ' %d of %s complete' % (elapsed_iter, self.iterations)",
- "",
- " def __update_amount(self, new_amount):",
- " percent_done = int(round((new_amount / 100.0) * 100.0))",
- " all_full = self.width - 2",
- " num_hashes = int(round((percent_done / 100.0) * all_full))",
- " self.prog_bar = '[' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'",
- " pct_place = (len(self.prog_bar) / 2) - len(str(percent_done))",
- " pct_string = '%d%%' % percent_done",
- " self.prog_bar = self.prog_bar[0:pct_place] + \\",
- " (pct_string + self.prog_bar[pct_place + len(pct_string):])",
- "",
- " def __str__(self):",
- " return str(self.prog_bar)"
- ],
- "language": "python",
- "outputs": [],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "p = ProgressBar(1000)",
- "for i in range(1001):",
- " p.animate(i)",
- "# time.sleep(0.01)"
- ],
- "language": "python",
- "outputs": [],
- "prompt_number": 20
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import uuid",
- "from IPython.core.display import HTML, Javascript, display",
- "",
- "divid = str(uuid.uuid4())",
- "",
- "pb = HTML(",
- "\"\"\"",
- "<div style=\"border: 1px solid black; width:500px\">",
- " <div id=\"%s\" style=\"background-color:blue; width:0%%\"> </div>",
- "</div> ",
- "\"\"\" % divid)",
- "display(pb)",
- "for i in range(1,101):",
- " time.sleep(0.1)",
- " ",
- " display(Javascript(\"$('div#%s').width('%i%%')\" % (divid, i)))"
- ],
- "language": "python",
- "outputs": [],
- "prompt_number": 21
- }
- ]
- }
- ]
- }
Add Comment
Please, Sign In to add comment