Skip to content

Instantly share code, notes, and snippets.

View ionelmc's full-sized avatar
🙃
wat

Ionel Cristian Mărieș ionelmc

🙃
wat
View GitHub Profile
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <pthread.h>
#include <sys/signalfd.h>
#include <sys/time.h>
#include <sys/types.h>
#define handle_error(msg) \
@ionelmc
ionelmc / conftest.py
Last active May 21, 2018 15:21
A more sophisticated celery fixture (logs + tree term)
from __future__ import print_function
import subprocess
import sys
import time
import psutil
import pytest
@ionelmc
ionelmc / conftest.py
Created May 21, 2018 14:49
pytest-django support for subprocesses
@pytest.fixture(scope='session')
def django_db_setup(request,
django_test_environment,
django_db_blocker,
django_db_use_migrations,
django_db_keepdb,
django_db_modify_db_settings):
import pytest_django.compat
def teardown_databases(db_cfg, verbosity, _teardown_databases=pytest_django.compat.teardown_databases):
"""
Converts a dict containing a mongo query to a lambda. Doesn't support all the mongo
query $keywords, probably differs the result in subtle ways.
It only supports querying flat structures: dicts with no lists or other dicts in
them (aka subdocuments).
"""
from __future__ import print_function
import sys
import tempfile
@ionelmc
ionelmc / headerid.py
Last active March 17, 2018 17:39
Pelican plugin to add permalinks (headerid) to every section header when using reStructuredText. You can see it in action at http://blog.ionelmc.ro
from pelican import readers
from pelican.readers import PelicanHTMLTranslator
from pelican import signals
from docutils import nodes
def register():
class HeaderIDPatchedPelicanHTMLTranslator(PelicanHTMLTranslator):
def depart_title(self, node):
close_tag = self.context[-1]
parent = node.parent
{
"chrome": {
"default": "60.0",
"versions": {
"60.0": {
"image": "selenoid/chrome:60.0",
"port": "4444",
"path": "/"
}
}
"""
Make sure you have a `socat readline unix-listen:/tmp/debugger` or `socat - unix-listen:/tmp/debugger` running in
a termial before using set_trace.
"""
def set_trace():
from pdb import Pdb
import os
import socket
@ionelmc
ionelmc / create-mysql-ramdisk-instance.sh
Last active August 21, 2017 07:02
Mysql instances (ramdisk, linux)
#!/bin/bash -xe
# source: http://www.ducea.com/2009/01/19/running-multiple-instances-of-mysql-on-the-same-machine/
i=$1
port=$[3306+$i]
#mysqladmin -S /var/run/mysqld/mysqld$i.sock shutdown || true
kill -9 `cat /var/run/mysqld/mysqld$i.pid` || true
umount /var/lib/mysql$i || true
rm -rf /var/lib/mysql$i
mkdir /var/lib/mysql$i
@ionelmc
ionelmc / profiled_decorator.py
Last active February 19, 2017 09:49
Profiling decorator that generates kcachegrind output.
import cProfile
import os
import pstats
import time
from datetime import datetime
from functools import wraps
from io import StringIO
from logging import getLogger
logger = getLogger(__name__)

pycon

Python 3.5.1 (default, Dec 18 2015, 00:00:00) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import os def delete(self, , stuff_id, user): user.objects.remove(stuff_id) def change(self,, stuff_id, params, user): pass