meme-errors 0.1.6__tar.gz → 0.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meme_errors-0.1.6 → meme_errors-0.1.7}/PKG-INFO +1 -1
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors/__init__.py +20 -5
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors.egg-info/PKG-INFO +1 -1
- {meme_errors-0.1.6 → meme_errors-0.1.7}/setup.cfg +1 -1
- {meme_errors-0.1.6 → meme_errors-0.1.7}/MANIFEST.in +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/README.md +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors/sounds/__init__.py +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors/sounds/emotional-damage-meme.mp3 +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors/sounds/galaxy-meme.mp3 +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors/sounds/movie_1_C2K5NH0.mp3 +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors.egg-info/SOURCES.txt +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors.egg-info/dependency_links.txt +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors.egg-info/requires.txt +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/meme_errors.egg-info/top_level.txt +0 -0
- {meme_errors-0.1.6 → meme_errors-0.1.7}/pyproject.toml +0 -0
|
@@ -15,7 +15,7 @@ DEFAULT_SOUNDS = {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
def play_meme_sound(exc_type):
|
|
18
|
+
def play_meme_sound(exc_type, duration_ms=3000):
|
|
19
19
|
# Get sound file based on exception name
|
|
20
20
|
sound_file = DEFAULT_SOUNDS.get(exc_type.__name__, DEFAULT_SOUNDS["Exception"])
|
|
21
21
|
try:
|
|
@@ -31,7 +31,7 @@ def play_meme_sound(exc_type):
|
|
|
31
31
|
start_time = pygame.time.get_ticks()
|
|
32
32
|
while pygame.mixer.music.get_busy():
|
|
33
33
|
# Stop if it exceeds 3 seconds (3000ms)
|
|
34
|
-
if pygame.time.get_ticks() - start_time >
|
|
34
|
+
if pygame.time.get_ticks() - start_time > duration_ms:
|
|
35
35
|
pygame.mixer.music.stop()
|
|
36
36
|
break
|
|
37
37
|
pygame.time.Clock().tick(10)
|
|
@@ -51,13 +51,28 @@ sys.excepthook = meme_excepthook
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
# Decorator for function-level errors
|
|
54
|
-
def meme_sound_on_error(func):
|
|
54
|
+
def meme_sound_on_error(func=None, *, duration_ms=3000):
|
|
55
|
+
"""
|
|
56
|
+
Usage:
|
|
57
|
+
|
|
58
|
+
@meme_sound_on_error
|
|
59
|
+
def func(): ...
|
|
60
|
+
|
|
61
|
+
OR
|
|
62
|
+
|
|
63
|
+
@meme_sound_on_error(duration_ms=5000)
|
|
64
|
+
def func(): ...
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
if func is None:
|
|
68
|
+
return lambda f: meme_sound_on_error(f, duration_ms=duration_ms)
|
|
69
|
+
|
|
55
70
|
def wrapper(*args, **kwargs):
|
|
56
71
|
try:
|
|
57
72
|
return func(*args, **kwargs)
|
|
58
73
|
except Exception as e:
|
|
59
|
-
play_meme_sound(type(e))
|
|
60
|
-
raise
|
|
74
|
+
play_meme_sound(type(e), duration_ms=duration_ms)
|
|
75
|
+
raise
|
|
61
76
|
|
|
62
77
|
return wrapper
|
|
63
78
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|