View random_string.py
# Python 3 | |
import random | |
import string | |
''.join(random.choice(string.ascii_letters + string.digits + '#$-=_') for n in range(32)) | |
# Python 2 | |
import random | |
import string | |
''.join([random.choice(string.ascii_letters + string.digits + '#$-=_') for n in xrange(32)]) |
View ipython_notebook_table_magic.py
from IPython.core.magic import (register_line_magic, register_cell_magic, | |
register_line_cell_magic) | |
from six import string_types | |
class T(list): | |
def _repr_html_(self): | |
html = [u"<table>"] | |
for row in self: | |
html.append(u"<tr>") | |
View my_sed
my_sed() { | |
python -c 'import re,sys; sys.stdout.write(re.sub(sys.argv[1], sys.argv[2], sys.stdin.read()))' "$1" "$2" | |
} |
View apt-sources.sh
#!/usr/bin/env bash | |
cp /etc/apt/sources.list /etc/apt/sources.list_bkp | |
sed -ri 's/\/\/\w+\.ubuntu\.com/\/\/mirror\.yandex\.ru/' /etc/apt/sources.list | |
# OR | |
cat /etc/apt/sources.list | \ | |
python -c 'import re,sys; sys.stdout.write(re.sub(sys.argv[1], sys.argv[2], sys.stdin.read()))' \ | |
'//\w+\.ubuntu\.com' '//mirror.yandex.ru' > /etc/apt/sources.list1 | |
mv /etc/apt/sources.list1 /etc/apt/sources.list |
View rlwrap_static.sh
# It works on RedHat, OEL, Centos | |
curl -o /usr/bin/rlwrap https://dl.dropboxusercontent.com/u/21373460/rlwrap_static_x64 && chmod 755 /usr/bin/rlwrap |
View docker_du.sh
#!/usr/bin/env bash | |
for d in `docker ps -aq`; do | |
d_name=`docker inspect -f {{.Name}} $d` | |
echo "=========================================================" | |
echo "$d_name ($d) container size:" | |
sudo du -d 2 -h /var/lib/docker/aufs | grep `docker inspect -f "{{.Id}}" $d` | |
echo "$d_name ($d) volumes:" | |
for mount in `docker inspect -f "{{range .Mounts}} {{.Source}}:{{.Destination}} | |
{{end}}" $d`; do |
View docker_cleanup
#!/usr/bin/env bash | |
docker rm $(docker ps -aq -f status=exited) | |
docker rmi $(docker images --quiet --filter "dangling=true") |
View python_diff.py
import subprocess | |
def diff(one, two): | |
with tempfile.TemporaryDirectory() as tmpdir: | |
f1, f2 = ('%s/%s' % (tmpdir, n) for n in (1,2)) | |
for f, txt in zip((f1, f2), (one, two)): | |
with open(f, 'w') as f: | |
f.write(str(txt)) | |
cmd = ('diff -w %s %s' % (f1, f2)).split() |
View escape_xml.py
#!/usr/bin/env python3 | |
import sys | |
import re | |
# https://trac-hacks.org/ticket/11050#comment:13 | |
_illegal_unichrs = ((0x00, 0x08), (0x0B, 0x1F), (0x7F, 0x84), (0x86, 0x9F), | |
(0xD800, 0xDFFF), (0xFDD0, 0xFDDF), (0xFFFE, 0xFFFF), | |
(0x1FFFE, 0x1FFFF), (0x2FFFE, 0x2FFFF), | |
(0x3FFFE, 0x3FFFF), (0x4FFFE, 0x4FFFF), |
View merge.py
def merge_records_by_key(dicts1, dicts2, key): | |
"""Updates each dict1 containing key `key` from `dicts1` | |
with the corresponding dict2 from `dicts2` having | |
dict1[key] == dict2[key]. | |
""" | |
if len(dicts1) > len(dicts2): | |
probe, build = dicts1, dicts2 | |
hashmap = {d[key]: d for d in build if key in d} |
OlderNewer