View random_string.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
docker rm $(docker ps -aq -f status=exited) | |
docker rmi $(docker images --quiet --filter "dangling=true") |
View python_diff.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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