diff options
| author | Mattias Andrée <maandree@operamail.com> | 2014-03-07 16:59:15 +0100 |
|---|---|---|
| committer | Mattias Andrée <maandree@operamail.com> | 2014-03-07 16:59:15 +0100 |
| commit | 8826d3adde62a482ba310606d302bfe3ada68ffa (patch) | |
| tree | 4d67f52cfb6ead1ef5fac391c775b5abdd4cab63 | |
| parent | test concurrently (diff) | |
| download | join-python-8826d3adde62a482ba310606d302bfe3ada68ffa.tar.gz join-python-8826d3adde62a482ba310606d302bfe3ada68ffa.tar.bz2 join-python-8826d3adde62a482ba310606d302bfe3ada68ffa.tar.xz | |
add fsignal
Signed-off-by: Mattias Andrée <maandree@operamail.com>
| -rw-r--r-- | src/join.py | 14 | ||||
| -rwxr-xr-x | src/test.py | 32 |
2 files changed, 45 insertions, 1 deletions
diff --git a/src/join.py b/src/join.py index 8c6440a..a873bf4 100644 --- a/src/join.py +++ b/src/join.py @@ -104,6 +104,20 @@ class fragment: +class fsignal(fragment): + ''' + Shorthand for @fragment @signal + ''' + def __init__(self, f): + ''' + Constructor + + @param f:(...)→¿R? The decorated function + ''' + fragment.__init__(self, signal(f)) + + + def join(*fs): ''' Join with fragments diff --git a/src/test.py b/src/test.py index 0dd65dc..0279f2d 100755 --- a/src/test.py +++ b/src/test.py @@ -96,7 +96,6 @@ def fsig2(value): def fsig3(value): pass - def unjoining(index): if index == 0: fsig1(1) if index == 1: fsig2(2) @@ -122,4 +121,35 @@ def c(value): print('Testing connurrently') concurrently(lambda : c(0), lambda : c(1), lambda : c(2), lambda : c(3)) print(' Last (delayed c:a 1 s)') +print() + + +@fsignal +def fsig1(value): + pass + +@fsignal +def fsig2(value): + pass + +@fsignal +def fsig3(value): + pass + +def unjoining(index): + if index == 0: fsig1(1) + if index == 1: fsig2(2) + if index == 2: fsig3(3) + (case, (jargs, jkwargs, jrc)) = ordered_join((fsig1,), (fsig2,), (fsig3,)) + if index != 0: fsig1(1) + if index != 1: fsig2(2) + if index != 2: fsig3(3) + print(' ', *jargs) + time.sleep(0.25) + +print('Testing @fsignal, expecting 1,2,1') +unjoining(0) +unjoining(1) +unjoining(2) +print() |
