typeglide 0.3.0__tar.gz → 0.3.2__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.
- {typeglide-0.3.0 → typeglide-0.3.2}/PKG-INFO +1 -1
- {typeglide-0.3.0 → typeglide-0.3.2}/pyproject.toml +1 -1
- typeglide-0.3.2/typeglide/__init__.py +3 -0
- typeglide-0.3.2/typeglide/engine.py +83 -0
- typeglide-0.3.0/pytypewriter/__init__.py +0 -3
- typeglide-0.3.0/pytypewriter/engine.py +0 -18
- {typeglide-0.3.0 → typeglide-0.3.2}/LICENSE +0 -0
- {typeglide-0.3.0 → typeglide-0.3.2}/README.md +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import time
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def write(text, delay=0.05, end="\n"):
|
|
6
|
+
"""
|
|
7
|
+
Prints text to the console character by character.
|
|
8
|
+
|
|
9
|
+
:param text: The string to print.
|
|
10
|
+
:param delay: Time in seconds between each character.
|
|
11
|
+
:param end: The character to print at the very end (defaults to newline).
|
|
12
|
+
"""
|
|
13
|
+
for char in text:
|
|
14
|
+
sys.stdout.write(char)
|
|
15
|
+
sys.stdout.flush()
|
|
16
|
+
time.sleep(delay)
|
|
17
|
+
sys.stdout.write(end)
|
|
18
|
+
sys.stdout.flush()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Glide:
|
|
22
|
+
"""
|
|
23
|
+
A saveable typewriter-effect object.
|
|
24
|
+
|
|
25
|
+
Usage:
|
|
26
|
+
glide = typeglide.save("Hello", delay=0.05)
|
|
27
|
+
|
|
28
|
+
# Terminal — animates character by character:
|
|
29
|
+
print(glide)
|
|
30
|
+
|
|
31
|
+
# Tkinter static text:
|
|
32
|
+
button.config(text=glide.text)
|
|
33
|
+
|
|
34
|
+
# Tkinter animated text:
|
|
35
|
+
glide.animate_widget(button)
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
def __init__(self, text, delay=0.05, end="\n"):
|
|
39
|
+
self.text = text
|
|
40
|
+
self.delay = delay
|
|
41
|
+
self.end = end
|
|
42
|
+
|
|
43
|
+
def __str__(self):
|
|
44
|
+
for char in self.text:
|
|
45
|
+
sys.stdout.write(char)
|
|
46
|
+
sys.stdout.flush()
|
|
47
|
+
time.sleep(self.delay)
|
|
48
|
+
return ""
|
|
49
|
+
|
|
50
|
+
def __repr__(self):
|
|
51
|
+
return f"Glide({self.text!r}, delay={self.delay})"
|
|
52
|
+
|
|
53
|
+
def animate_widget(self, widget, attr="text"):
|
|
54
|
+
"""
|
|
55
|
+
Animate the text into a tkinter widget one character at a time.
|
|
56
|
+
|
|
57
|
+
:param widget: Any tkinter widget that supports .config().
|
|
58
|
+
:param attr: The config attribute to update (default 'text').
|
|
59
|
+
|
|
60
|
+
Example:
|
|
61
|
+
glide.animate_widget(button)
|
|
62
|
+
glide.animate_widget(label)
|
|
63
|
+
"""
|
|
64
|
+
delay_ms = int(self.delay * 1000)
|
|
65
|
+
|
|
66
|
+
def _step(index):
|
|
67
|
+
widget.config(**{attr: self.text[:index]})
|
|
68
|
+
if index < len(self.text):
|
|
69
|
+
widget.after(delay_ms, _step, index + 1)
|
|
70
|
+
|
|
71
|
+
_step(0)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def save(text, delay=0.05, end="\n"):
|
|
75
|
+
"""
|
|
76
|
+
Save a typewriter-effect string for later use.
|
|
77
|
+
|
|
78
|
+
:param text: The string to animate.
|
|
79
|
+
:param delay: Time in seconds between each character.
|
|
80
|
+
:param end: End character used when printing (defaults to newline).
|
|
81
|
+
:returns: A Glide object.
|
|
82
|
+
"""
|
|
83
|
+
return Glide(text, delay=delay, end=end)
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import time
|
|
3
|
-
|
|
4
|
-
def write(text, delay=0.05, end="\n"):
|
|
5
|
-
"""
|
|
6
|
-
Prints text to the console character by character.
|
|
7
|
-
|
|
8
|
-
:param text: The string to print.
|
|
9
|
-
:param delay: Time in seconds between each character.
|
|
10
|
-
:param end: The character to print at the very end (defaults to newline).
|
|
11
|
-
"""
|
|
12
|
-
for char in text:
|
|
13
|
-
sys.stdout.write(char)
|
|
14
|
-
sys.stdout.flush()
|
|
15
|
-
time.sleep(delay)
|
|
16
|
-
sys.stdout.write(end)
|
|
17
|
-
sys.stdout.flush()
|
|
18
|
-
|
|
File without changes
|
|
File without changes
|