Create new signature. - if the first argument is a signature already then it's cloned. - if the first argument is a dict, then a Signature version is returned. Returns: Signature: The resulting signature.
(varies, *args, **kwargs)
| 2371 | |
| 2372 | |
| 2373 | def signature(varies, *args, **kwargs): |
| 2374 | """Create new signature. |
| 2375 | |
| 2376 | - if the first argument is a signature already then it's cloned. |
| 2377 | - if the first argument is a dict, then a Signature version is returned. |
| 2378 | |
| 2379 | Returns: |
| 2380 | Signature: The resulting signature. |
| 2381 | """ |
| 2382 | app = kwargs.get('app') |
| 2383 | if isinstance(varies, dict): |
| 2384 | if isinstance(varies, abstract.CallableSignature): |
| 2385 | return varies.clone() |
| 2386 | return Signature.from_dict(varies, app=app) |
| 2387 | return Signature(varies, *args, **kwargs) |
| 2388 | |
| 2389 | |
| 2390 | subtask = signature # XXX compat |