From 9546b8467368f8aaf2c0fa6ede11f3b2c2de000e Mon Sep 17 00:00:00 2001 From: sangarshanan Date: Sun, 20 Sep 2020 22:11:02 +0530 Subject: [PATCH] Add onsucces tracks --- README.md | 79 +++++++++++++++++++- notebook.ipynb | 127 ++++++++++++++++++++++++++++---- src/jazzit/__init__.py | 1 + src/jazzit/jazz.py | 36 +++++++-- src/jazzit/jupyter/magic.py | 35 +++++++-- src/jazzit/jupyter/player.py | 19 +++-- src/jazzit/tracks/anime-wow.mp3 | Bin 0 -> 67449 bytes src/jazzit/utils.py | 28 +++++-- 8 files changed, 285 insertions(+), 40 deletions(-) create mode 100644 src/jazzit/tracks/anime-wow.mp3 diff --git a/README.md b/README.md index bac11e7..22e80d0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # JazzIt 🎷 +[![Open All Collab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Sangarshanan/jazzit/blob/master/notebook.ipynb) +[![License](https://img.shields.io/pypi/l/jazzit.svg)](https://github.com/Sangarshanan/jazzit/blob/master/LICENSE) +[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/sangarshanan1998@gmail.com) + Ever wanted your scripts to play music while running/ on erroring out? Of course you didn't @@ -64,26 +68,95 @@ if __name__ == "__main__": run(1000) ``` -The in-build tracks are bruh_moment, elevator and curb_your_enthusiasm but you can add your custom tracks +To satisfy your WHAT !!! IT WORKED !!! moments + + +```python +from jazzit import success_track +@success_track("anime-wow.mp3") +def add(a,b): + print(a+b) + +if __name__ == "__main__": + add(12, 42) +``` + +The in-build tracks are bruh_moment, elevator and curb_your_enthusiasm but you can add your custom tracks and urls Check out some of the [examples](https://github.com/Sangarshanan/jazzit/tree/master/examples) -> :warning: **Use wisely**: Best suited for scripts you run non-professionally! +### Jupyter Notebook + +Check out the colab link above or the example [notebook](https://github.com/Sangarshanan/jazzit/blob/master/notebook.ipynb) + +### Use Jupyter Magic: + +Load inside a Jupyter notebook + +``` python +%load_ext jazzit +``` + +Running away from the PEP8 police 🚲🚓 + +```python +%%waiting_track -t elevator.mp3 + +def fibonacci(n): + if n < 0: + raise Exception("BE POSITIVE!!!") + elif n == 1: + return 0 + elif n == 2: + return 1 + else: + return fibonacci(n - 1) + fibonacci(n - 2) +for num in range(1, 35): + print(fibonacci(num)) +``` + +For those BRUH moments in your life + +```python +%%error_track -t bruh.mp3 -w 3 + +for num in reversed(range(10)): + print(10/num) +``` + +It worked !!! + +```python +%%success -t anime-wow.mp3 -w 3 + +for num in range(10): + print(num ** 2) +``` + +There are two arguments in play here + +`-t` or `--track` that needs the sound track (Can be a file path, url, inbuilt tracks) + +`-w` or `--wait` (Optional, default is 3 seconds) Wait for x seconds before cutting the music ### Dependencies Jazz added with [playsound](https://github.com/TaylorSMarks/playsound) -If you are ubuntu and getting hit with `ModuleNotFoundError: No module named 'gi` +If you getting hit with `ModuleNotFound` errors while running jazzit You might need to install Pygobject https://pygobject.readthedocs.io/en/latest/getting_started.html +> :warning: **Use wisely**: Best suited for scripts you run non-professionally! + + ### Profiling +TL;DR It is definitely slower with music I did a lil profiling on bin/profiler.py diff --git a/notebook.ipynb b/notebook.ipynb index b0bc15b..2b14232 100644 --- a/notebook.ipynb +++ b/notebook.ipynb @@ -11,22 +11,23 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "import jazzit\n", "from jazzit import error_track\n", - "from jazzit import waiting_track" + "from jazzit import waiting_track\n", + "from jazzit import success_track" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ - "%load_ext jazzit" + "%reload_ext jazzit" ] }, { @@ -38,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -120,7 +121,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -145,7 +146,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mreversed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mreversed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" ] }, @@ -171,22 +172,71 @@ } ], "source": [ - "%%error_track -t https://www.myinstants.com/media/sounds/no-god-please-no-noooooooooo.mp3 -w 3\n", + "%%error_track -t bruh.mp3 -w 1\n", "\n", "for num in reversed(range(10)):\n", " print(10/num)" ] }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "4\n", + "9\n", + "16\n", + "25\n", + "36\n", + "49\n", + "64\n", + "81\n" + ] + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%success_track -t anime-wow.mp3\n", + "\n", + "for num in range(10):\n", + " print(num ** 2)" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Decorator" + "## Decorator 🎍" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -209,9 +259,9 @@ "output_type": "stream", "text": [ "Traceback (most recent call last):\n", - " File \"/home/sangarshanan/Music/jazzit/src/jazzit/jazz.py\", line 52, in wrapped_function\n", + " File \"/home/sangarshanan/Music/jazzit/src/jazzit/jazz.py\", line 47, in wrapped_function\n", " original_func(*args)\n", - " File \"\", line 4, in run\n", + " File \"\", line 4, in run\n", " print(10/num)\n", "ZeroDivisionError: division by zero\n" ] @@ -238,7 +288,7 @@ } ], "source": [ - "@error_track(\"https://www.myinstants.com/media/sounds/hellodarknessmyoldfriend.mp3\", wait=7)\n", + "@error_track(\"curb_your_enthusiasm.mp3\", wait=7)\n", "def run():\n", " for num in reversed(range(10)):\n", " print(10/num)\n", @@ -248,7 +298,49 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "54\n" + ] + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "@success_track(\"anime-wow.mp3\")\n", + "def add(a,b):\n", + " print(a+b)\n", + "\n", + "if __name__ == \"__main__\":\n", + " add(12, 42)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -330,6 +422,13 @@ "\n", "run(35)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/src/jazzit/__init__.py b/src/jazzit/__init__.py index 9b4e77c..7bf3e1f 100644 --- a/src/jazzit/__init__.py +++ b/src/jazzit/__init__.py @@ -11,3 +11,4 @@ def load_ipython_extension(ipython): from .jazz import WaitingTrack as waiting_track # noqa from .jazz import ErrorTrack as error_track # noqa +from .jazz import SuccessTrack as success_track # noqa diff --git a/src/jazzit/jazz.py b/src/jazzit/jazz.py index fba377f..2988edf 100644 --- a/src/jazzit/jazz.py +++ b/src/jazzit/jazz.py @@ -4,11 +4,7 @@ import time import traceback -from .utils import ( - _get_track_path, - _start_music, - _stop_music, -) +from .utils import _get_track_path, _start_music, _stop_music class WaitingTrack(object): @@ -70,3 +66,33 @@ def wrapped_function(*args): _stop_music(process) return wrapped_function + + +class SuccessTrack(object): + """Use on potential YAYs.""" + + def __init__(self, track=None, wait=None): + """Constructor.""" + self.track = track + self.wait = wait # (optional) will be infered by track length; defaults to 3 + + def __call__(self, original_func): + """Wrap decorator.""" + + def wrapped_function(*args): + track_path = _get_track_path(self.track) + original_func(*args) + try: + process = _start_music(track_path) + if self.wait is None: + from .utils import _track_length + + time.sleep(_track_length(track_path)) + else: + time.sleep(self.wait) + except KeyboardInterrupt: + _stop_music(process) + finally: + _stop_music(process) + + return wrapped_function diff --git a/src/jazzit/jupyter/magic.py b/src/jazzit/jupyter/magic.py index f989f5e..f386685 100644 --- a/src/jazzit/jupyter/magic.py +++ b/src/jazzit/jupyter/magic.py @@ -5,6 +5,17 @@ from .player import _start_music, _stop_music +def _play_music(track, wait): + try: + player = _start_music(track) + if wait: + time.sleep(wait) + except KeyboardInterrupt: + _stop_music(player) + finally: + _stop_music(player) + + @magics_class class JupyterJazz(Magics): @magic_arguments() @@ -13,7 +24,7 @@ class JupyterJazz(Magics): def waiting_track(self, line, cell=None): args = parse_argstring(self.waiting_track, line) exec_val = line if cell is None else cell - player = _start_music(args.track) + player = _start_music(args.track, loop=True) self.shell.run_cell(exec_val) _stop_music(player) @@ -32,7 +43,21 @@ def error_track(self, line, cell=None): exec_val = line if cell is None else cell execution = self.shell.run_cell(exec_val) if execution.error_in_exec: - player = _start_music(args.track) - if args.wait: - time.sleep(args.wait) - _stop_music(player) + _play_music(args.track, args.wait) + + @magic_arguments() + @argument("-t", "--track", help="Track to Play") + @argument( + "-w", + "--wait", + type=int, + default=3, + help="Wait for x seconds before cutting the music", + ) + @line_cell_magic + def success_track(self, line, cell=None): + args = parse_argstring(self.error_track, line) + exec_val = line if cell is None else cell + execution = self.shell.run_cell(exec_val) + if not execution.error_in_exec: + _play_music(args.track, args.wait) diff --git a/src/jazzit/jupyter/player.py b/src/jazzit/jupyter/player.py index 8d161cd..8a6bdd9 100644 --- a/src/jazzit/jupyter/player.py +++ b/src/jazzit/jupyter/player.py @@ -5,11 +5,18 @@ class JupyterAudio(Audio): + def __init__(self, *args, **kwargs): + self.loop = kwargs.pop("loop", False) + super().__init__(*args, **kwargs) + def _repr_html_(self): audio = super()._repr_html_() + if self.loop: + loop = "controls loop" + else: + loop = "" audio = audio.replace( - "{audio}' @@ -20,8 +27,8 @@ def __init__(self, track): self.display_id = str(uuid.uuid4()) display(HTML(""), display_id=self.display_id) - def play_music(self): - sound = JupyterAudio(self.track, autoplay=True,) + def play_music(self, loop): + sound = JupyterAudio(self.track, autoplay=True, loop=loop) return display(sound, display_id=self.display_id) @@ -30,8 +37,8 @@ def _stop_music(display): display.update(HTML("")) -def _start_music(track_path): +def _start_music(track_path, loop=False): """Play Music.""" player = JupyterPlayer(track_path) - display = player.play_music() + display = player.play_music(loop=loop) return display diff --git a/src/jazzit/tracks/anime-wow.mp3 b/src/jazzit/tracks/anime-wow.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..492968eb87f43ae65ccf793ce5ad4fbabf140a9d GIT binary patch literal 67449 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