Skip to content

Commit f071b4b

Browse files
authored
Merge pull request #1 from ClericPy/dev
add methods attrs
2 parents 71576e1 + f064d05 commit f071b4b

File tree

6 files changed

+26
-4
lines changed

6 files changed

+26
-4
lines changed

_test_py3_cases.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ async def task():
2020
assert result[2] - now > 1
2121
assert result[3] - now > 1
2222
assert result[4] - now > 2
23+
assert frequency.to_dict() == {'n': 2, 'interval': 1}
24+
assert frequency.to_list() == [2, 1]
2325

2426
get_event_loop().run_until_complete(test_async())

frequency_controller/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
# not support python2
99
AsyncFrequency = None
1010

11-
__version__ = '0.0.5'
11+
__version__ = '0.0.6'

frequency_controller/async_tools.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44

55
class Frequency(object):
66
"""Frequency controller, means concurrent running n tasks every interval seconds."""
7-
__slots__ = ("gen", "__aenter__", "repr", "_lock")
7+
__slots__ = ("gen", "__aenter__", "repr", "_lock", "n", "interval")
88
TIMER = time
99

1010
def __init__(self, n=None, interval=0):
11+
self.n = n
12+
self.interval = interval
1113
if n:
1214
self.gen = self.generator(n, interval)
1315
self._lock = None
@@ -18,6 +20,12 @@ def __init__(self, n=None, interval=0):
1820
self.__aenter__ = self.__aexit__
1921
self.repr = "Frequency(unlimited)"
2022

23+
def to_list(self):
24+
return [self.n, self.interval]
25+
26+
def to_dict(self):
27+
return {'n': self.n, 'interval': self.interval}
28+
2129
@property
2230
def lock(self):
2331
# lazy init loop

frequency_controller/sync_tools.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44

55
class Frequency(object):
66
"""Frequency controller, means concurrent running n tasks every interval seconds."""
7-
__slots__ = ("gen", "repr", "lock", "__enter__")
7+
__slots__ = ("gen", "repr", "lock", "__enter__", "n", "interval")
88
TIMER = time
99

1010
def __init__(self, n=None, interval=0):
11+
self.n = n
12+
self.interval = interval
1113
self.repr = "Frequency({n}, {interval})".format(n=n, interval=interval)
1214
if n:
1315
self.lock = Lock()
@@ -18,6 +20,12 @@ def __init__(self, n=None, interval=0):
1820
self.gen = None
1921
self.__enter__ = self.__exit__
2022

23+
def to_list(self):
24+
return [self.n, self.interval]
25+
26+
def to_dict(self):
27+
return {'n': self.n, 'interval': self.interval}
28+
2129
def generator(self, n=2, interval=1):
2230
q = [0] * n
2331
while 1:

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
linux:
1111
rm -rf "dist/*";rm -rf "build/*";python3 setup.py bdist_wheel;python2 setup.py bdist_wheel;twine upload "dist/*;rm -rf "dist/*";rm -rf "build/*""
1212
win32:
13-
rm -rf dist;rm -rf build;python3 setup.py bdist_wheel;python2 setup.py bdist_wheel;twine upload "dist/*";rm -rf dist;rm -rf build;rm -rf frequency_controller.egg-info
13+
rm -rf dist;rm -rf build;python3 setup.py bdist_wheel;python2 setup.py bdist_wheel;twine upload "dist/*"
14+
rm -rf dist;rm -rf build;rm -rf frequency_controller.egg-info
1415
"""
1516

1617
py_version = sys.version_info

test_cases.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ def test():
2323
assert result[2] - now > 1
2424
assert result[3] - now > 1
2525
assert result[4] - now > 2
26+
assert frequency.to_dict() == {'n': 2, 'interval': 1}
27+
assert frequency.to_list() == [2, 1]
2628

2729

2830
def test_async_frequency():
@@ -33,3 +35,4 @@ def test_async_frequency():
3335

3436
if __name__ == "__main__":
3537
test_sync_frequency()
38+
test_async_frequency()

0 commit comments

Comments
 (0)