$ docker network create n1$ docker run --rm -it --name t1 --net n1 -e TARANTOOL_REPLICATION=t1:3301,t2:3301 progaudi/tarantool:1.10.1-135-g193ef4150| from functools import wraps | |
| def side_effect(callback, before=True, after=False): | |
| """A decorator. | |
| Wraps the decorated function. The callback will be called before and after each | |
| call of the decorated function according to the parameters. | |
| Args: |
| # Source: | |
| # https://forum.sublimetext.com/t/retrieving-inserted-and-deleted-text/18697/24 | |
| import sublime | |
| import sublime_plugin | |
| def get_cursors(view): | |
| # can't use `view.sel()[:]` because it gives an error `TypeError: an integer is required` | |
| return [cursor for cursor in view.sel()] |
| # install Jupyter Notebook into system site-packages | |
| pip install -U notebook | |
| # create a virtualenv and use the Jupyter from the system site-packages | |
| mkvirtualenv --system-site-packages myvenv | |
| # the virtualenv is now activated | |
| pip install ipykernel | |
| VM_NAME=myvm python -m ipykernel install --user --name $VM_NAME --display-name $VM_NAME | |
| python -m jupyter notebook | |
| # In the browser: New -> select kernel "myvm" |
| import signal | |
| def set_run_timeout(timeout): | |
| """Set maximum execution time of the current Python process""" | |
| def alarm(*_): | |
| raise SystemExit("Timed out!") | |
| signal.signal(signal.SIGALRM, alarm) | |
| signal.alarm(timeout) |
| #!/usr/bin/env bash | |
| cat <<EE > app.lua | |
| box.cfg { | |
| listen = 3301, | |
| read_only = false, | |
| wal_mode = "write", | |
| replication = {"t1:3301", "t2:3301"}, | |
| } |
| import itertools | |
| import functools | |
| class It: | |
| """A handy iterator with method chaining. | |
| >>> It([1, 2, 3]).map(lambda x: x**2).filter(lambda x: x<5).chain_after('abc').apply(list) | |
| ['a', 'b', 'c', 1, 4] | |
| """ |
| from collections import deque | |
| from functools import partial, wraps | |
| class Deferred: | |
| """ | |
| Deferred functions execution. | |
| Usage: |
| Python 3.7.0 (default, Jun 29 2018, 09:12:54) | |
| [GCC 4.9.2] on linux | |
| Type "help", "copyright", "credits" or "license" for more information. | |
| >>> import asyncio, asynctnt | |
| >>> asyncio.run(asynctnt.Connection(host='aa', port=1234).connect()) | |
| Traceback (most recent call last): | |
| File "<stdin>", line 1, in <module> | |
| File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run | |
| return loop.run_until_complete(main) | |
| File "/usr/local/lib/python3.7/asyncio/base_events.py", line 568, in run_until_complete |