Skip to content

Commit 3a1d1fc

Browse files
Rename Clock.tick -> Clock.advance, and leave the original name as an alias.
1 parent 518710f commit 3a1d1fc

File tree

8 files changed

+92
-91
lines changed

8 files changed

+92
-91
lines changed

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Clock
22

3-
Provides async time-related functionality.
4-
53
```python
64
import asyncgui
75
from asyncgui_ext.clock import Clock
@@ -13,12 +11,12 @@ async def async_fn():
1311
print("Hello")
1412

1513
asyncgui.start(async_fn())
16-
clock.tick(10) # Advances the clock by 10 time units.
17-
clock.tick(10) # Total of 20 time units. The async_fn will wake up, and prints 'Hello'.
14+
clock.advance(10) # Advances the clock by 10 time units.
15+
clock.advance(10) # Total of 20 time units. The async_fn will wake up, and prints 'Hello'.
1816
```
1917

2018
The example above effectively illustrate how this module works but it's not practical.
21-
In a real-world program, you probably want to call ``clock.tick()`` in a main loop.
19+
In a real-world program, you probably want to call ``clock.advance()`` in a main loop.
2220
For example, if you are using `PyGame`, you may want to do:
2321

2422
```python
@@ -29,8 +27,8 @@ clock = asyncgui_ext.clock.Clock()
2927
while running:
3028
...
3129

32-
dt = pygame_clock.tick(fps)
33-
clock.tick(dt)
30+
dt = pygame_clock.advance(fps)
31+
clock.advance(dt)
3432
```
3533

3634
## Installation

sphinx/readme_jp.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ ReadMe |ja|
1616
print("Hello")
1717
1818
asyncgui.start(async_fn())
19-
clock.tick(10) # 時間を10進める。
20-
clock.tick(10) # 合計で20進むのでタスクが再開し 'Hello' が表示される。
19+
clock.advance(10) # 時間を10進める。
20+
clock.advance(10) # 合計で20進むのでタスクが再開し 'Hello' が表示される。
2121
22-
この様に ``clock.tick()`` を呼ぶ事で時計内部の時が進み停止中のタスクが再開します。
22+
この様に ``clock.advance()`` を呼ぶ事で時計内部の時が進み停止中のタスクが再開します。
2323
また :mod:`sched` と同じで時間の単位が決まってない事に気付いたと思います。
2424
APIに渡す時間の単位は統一さえされていれば何でも構いません。
2525

2626
ただ上記の例はこのモジュールの仕組みを示しているだけであり実用的な使い方ではありません。
27-
実際のプログラムでは ``clock.tick()`` をメインループ内で呼んだり別のタイマーを用いて定期的に呼ぶ事になると思います。
27+
実際のプログラムでは ``clock.advance()`` をメインループ内で呼んだり別のタイマーを用いて定期的に呼ぶ事になると思います。
2828
例えば ``PyGame`` を使っているなら以下のように、
2929

3030
.. code-block::
@@ -36,8 +36,8 @@ APIに渡す時間の単位は統一さえされていれば何でも構いま
3636
while running:
3737
...
3838
39-
dt = pygame_clock.tick(fps)
40-
clock.tick(dt)
39+
dt = pygame_clock.advance(fps)
40+
clock.advance(dt)
4141
4242
``Kivy`` を使っているなら以下のようになるでしょう。
4343

@@ -46,7 +46,7 @@ APIに渡す時間の単位は統一さえされていれば何でも構いま
4646
from kivy.clock import Clock
4747
4848
clock = asyncui_ext.clock.Clock()
49-
Clock.schedule_interval(clock.tick, 0)
49+
Clock.schedule_interval(clock.advance, 0)
5050
5151
インストール方法
5252
-----------------------

src/asyncgui_ext/clock.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@ def __init__(self, initial_time=0):
5555
def current_time(self) -> TimeUnit:
5656
return self._cur_time
5757

58-
def tick(self, delta_time):
58+
def advance(self, delta_time):
5959
'''
6060
Advances the clock time and triggers scheduled events accordingly.
61-
The ``delta_time`` must be 0 or greater.
61+
62+
:param delta_time: Must be 0 or greater.
6263
6364
.. warning::
6465
@@ -88,6 +89,8 @@ def tick(self, delta_time):
8889
self._events = events_tba
8990
self._events_to_be_added = events
9091

92+
tick = advance
93+
9194
def schedule_interval(self, func, interval) -> ClockEvent:
9295
'''
9396
Schedules the ``func`` to be called repeatedly at a specified interval.
@@ -133,7 +136,7 @@ def move_on_after(self, timeout) -> AbstractAsyncContextManager[Task]:
133136
@types.coroutine
134137
def n_frames(self, n: int) -> Awaitable:
135138
'''
136-
Waits for a specified number of times the :meth:`tick` to be called.
139+
Waits for a specified number of times the :meth:`advance` to be called.
137140
138141
.. code-block::
139142

tests/clock/test_anim_attrs.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ def test_scalar(clock):
99
task = asyncgui.start(clock.anim_attrs(obj, num=20, duration=100))
1010

1111
assert int(obj.num) == 0
12-
clock.tick(30)
12+
clock.advance(30)
1313
assert int(obj.num) == 6
14-
clock.tick(30)
14+
clock.advance(30)
1515
assert int(obj.num) == 12
16-
clock.tick(30)
16+
clock.advance(30)
1717
assert int(obj.num) == 18
18-
clock.tick(30)
18+
clock.advance(30)
1919
assert int(obj.num) == 20
2020
assert task.finished
2121

@@ -29,12 +29,12 @@ def test_sequence(clock):
2929
task = asyncgui.start(clock.anim_attrs(obj, pos=[100, 0], duration=100))
3030

3131
assert obj.pos == approx([0, 100])
32-
clock.tick(30)
32+
clock.advance(30)
3333
assert obj.pos == approx([30, 70])
34-
clock.tick(30)
34+
clock.advance(30)
3535
assert obj.pos == approx([60, 40])
36-
clock.tick(30)
36+
clock.advance(30)
3737
assert obj.pos == approx([90, 10])
38-
clock.tick(30)
38+
clock.advance(30)
3939
assert obj.pos == approx([100, 0])
4040
assert task.finished

tests/clock/test_anim_with_xxx.py

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ async def async_fn():
1111

1212
task = start(async_fn())
1313
assert dt_list == []
14-
clock.tick(10)
14+
clock.advance(10)
1515
assert dt_list == [10]
16-
clock.tick(20)
16+
clock.advance(20)
1717
assert dt_list == [10, 20]
18-
clock.tick(5)
18+
clock.advance(5)
1919
assert dt_list == [10, 20, 5]
20-
clock.tick(5)
20+
clock.advance(5)
2121
assert dt_list == [10, 20, 5, 5]
22-
clock.tick(5)
22+
clock.advance(5)
2323
assert dt_list == [10, 20, 5, 5]
2424
task.cancel()
2525

@@ -34,15 +34,15 @@ async def async_fn():
3434

3535
task = start(async_fn())
3636
assert et_list == []
37-
clock.tick(10)
37+
clock.advance(10)
3838
assert et_list == [10]
39-
clock.tick(20)
39+
clock.advance(20)
4040
assert et_list == [10, 30]
41-
clock.tick(5)
41+
clock.advance(5)
4242
assert et_list == [10, 30, 35]
43-
clock.tick(5)
43+
clock.advance(5)
4444
assert et_list == [10, 30, 35, 40]
45-
clock.tick(5)
45+
clock.advance(5)
4646
assert et_list == [10, 30, 35, 40]
4747
task.cancel()
4848

@@ -60,17 +60,17 @@ async def async_fn():
6060

6161
task = start(async_fn())
6262
assert p_list == []
63-
clock.tick(10)
63+
clock.advance(10)
6464
assert p_list == approx([0.1])
65-
clock.tick(20)
65+
clock.advance(20)
6666
assert p_list == approx([0.1, 0.3])
67-
clock.tick(5)
67+
clock.advance(5)
6868
assert p_list == approx([0.1, 0.3, 0.35, ])
69-
clock.tick(5)
69+
clock.advance(5)
7070
assert p_list == approx([0.1, 0.3, 0.35, 0.4, ])
71-
clock.tick(5)
71+
clock.advance(5)
7272
assert p_list == approx([0.1, 0.3, 0.35, 0.4, ])
73-
clock.tick(105)
73+
clock.advance(105)
7474
assert p_list == approx([0.1, 0.3, 0.35, 0.4, 1.5])
7575
assert task.finished
7676

@@ -85,10 +85,10 @@ async def async_fn():
8585

8686
task = start(async_fn())
8787
assert p_list == []
88-
clock.tick(6)
88+
clock.advance(6)
8989
assert p_list == []
9090
with pytest.raises(ZeroDivisionError):
91-
clock.tick(6)
91+
clock.advance(6)
9292
assert p_list == []
9393
assert task.cancelled
9494

@@ -103,15 +103,15 @@ async def async_fn():
103103

104104
task = start(async_fn())
105105
assert values == []
106-
clock.tick(10)
106+
clock.advance(10)
107107
assert values == [10, 10] ; values.clear()
108-
clock.tick(20)
108+
clock.advance(20)
109109
assert values == [20, 30] ; values.clear()
110-
clock.tick(5)
110+
clock.advance(5)
111111
assert values == [5, 35] ; values.clear()
112-
clock.tick(5)
112+
clock.advance(5)
113113
assert values == [5, 40] ; values.clear()
114-
clock.tick(5)
114+
clock.advance(5)
115115
assert values == []
116116
assert not task.finished
117117
task.cancel()
@@ -130,25 +130,25 @@ async def async_fn():
130130

131131
task = start(async_fn())
132132
assert values == []
133-
clock.tick(10)
133+
clock.advance(10)
134134
assert values[:2] == [10, 10]
135135
assert values[2] == approx(0.1)
136136
values.clear()
137-
clock.tick(20)
137+
clock.advance(20)
138138
assert values[:2] == [20, 30]
139139
assert values[2] == approx(0.3)
140140
values.clear()
141-
clock.tick(5)
141+
clock.advance(5)
142142
assert values[:2] == [5, 35]
143143
assert values[2] == approx(0.35)
144144
values.clear()
145-
clock.tick(5)
145+
clock.advance(5)
146146
assert values[:2] == [5, 40]
147147
assert values[2] == approx(0.4)
148148
values.clear()
149-
clock.tick(5)
149+
clock.advance(5)
150150
assert values == []
151-
clock.tick(105)
151+
clock.advance(105)
152152
assert values[:2] == [110, 150]
153153
assert values[2] == approx(1.5)
154154
assert task.finished
@@ -164,9 +164,9 @@ async def async_fn():
164164

165165
task = start(async_fn())
166166
assert values == []
167-
clock.tick(6)
167+
clock.advance(6)
168168
assert values == []
169169
with pytest.raises(ZeroDivisionError):
170-
clock.tick(6)
170+
clock.advance(6)
171171
assert values == []
172172
assert task.cancelled

tests/clock/test_etc.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ async def async_fn():
1414

1515
task = start(async_fn())
1616
assert task_state == 'A'
17-
clock.tick(10)
17+
clock.advance(10)
1818
assert task_state == 'B'
19-
clock.tick(10)
19+
clock.advance(10)
2020
assert task_state == 'C'
2121
assert task.finished
2222

@@ -37,9 +37,9 @@ async def async_fn():
3737

3838
task = start(async_fn())
3939
assert task_state == 'A'
40-
clock.tick(10)
40+
clock.advance(10)
4141
assert task_state == 'B'
42-
clock.tick(10)
42+
clock.advance(10)
4343
assert task_state == 'B'
4444
assert task.finished
4545

@@ -56,5 +56,5 @@ def test_n_frames(clock, n):
5656
task = start(clock.n_frames(n))
5757
for __ in range(n):
5858
assert not task.finished
59-
clock.tick(0)
59+
clock.advance(0)
6060
assert task.finished

tests/clock/test_interpolate_xxx.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ async def async_fn():
1111

1212
task = start(async_fn())
1313
assert values == [100, ]
14-
clock.tick(30)
14+
clock.advance(30)
1515
assert values == [100, 70]
16-
clock.tick(20)
16+
clock.advance(20)
1717
assert values == [100, 70, 50, ]
18-
clock.tick(40)
18+
clock.advance(40)
1919
assert values == [100, 70, 50, 10, ]
20-
clock.tick(40)
20+
clock.advance(40)
2121
assert values == [100, 70, 50, 10, 0, ]
2222
assert task.finished
2323

@@ -33,7 +33,7 @@ async def async_fn():
3333

3434
task = start(async_fn())
3535
assert values == [100, ]
36-
clock.tick(step)
36+
clock.advance(step)
3737
assert values == [100, 0]
3838
assert task.finished
3939

@@ -49,13 +49,13 @@ async def async_fn():
4949

5050
task = start(async_fn())
5151
assert values == [0, 100] ; values.clear()
52-
clock.tick(30)
52+
clock.advance(30)
5353
assert values == [30, 70] ; values.clear()
54-
clock.tick(30)
54+
clock.advance(30)
5555
assert values == [60, 40] ; values.clear()
56-
clock.tick(30)
56+
clock.advance(30)
5757
assert values == [90, 10] ; values.clear()
58-
clock.tick(30)
58+
clock.advance(30)
5959
assert values == [100, 0] ; values.clear()
6060
assert task.finished
6161

@@ -72,6 +72,6 @@ async def async_fn():
7272

7373
task = start(async_fn())
7474
assert values == [0, 100] ; values.clear()
75-
clock.tick(step)
75+
clock.advance(step)
7676
assert values == [100, 0] ; values.clear()
7777
assert task.finished

0 commit comments

Comments
 (0)