Skip to content

Instantly share code, notes, and snippets.

@pmuller
pmuller / gist:761b9372c18e0c22f439
Created January 22, 2015 14:25
Fun with Python mock's auto-spec-ing feature
from mock import Mock
from pytest import raises
class A(object):
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
#!/bin/bash -eu
usage() {
echo "
Usage: prun [-N <job name>] [-l <resource>] [-L <logs root>] [-D] <command> [arguments]
prun means \"process runner\".
Its job is to run a process, capture its logs and system metrics.
import os
from contextlib import contextmanager
@contextmanager
def env(**vars):
new_environ = os.environ.copy()
for name, value in vars.items():
new_environ[name] = value
@pmuller
pmuller / gist:f36faf13b172dca1cddb
Last active August 29, 2015 14:07
Enable descriptors to get their attribute names
class Descriptor(object):
def __get__(self, inst, owner):
if inst is None:
return self
return inst._descriptors[self]
class BaseClass(object):
class AttrDict(dict):
__setattr__ = dict.__setitem__
__delattr__ = dict.__delitem__
def __getattr__(self, attr):
if attr in self:
return self[attr]
else:
raise AttributeError(attr)
@pmuller
pmuller / temporary_file.py
Created August 26, 2014 11:49
context manager for temporary files
import os
from tempfile import mktemp
class TemporaryFile(object):
def __init__(self, content, prefix='tmp', mode=None):
self.content = content
self.prefix = prefix
self.mode = mode
@pmuller
pmuller / update_oracle_view_from_sql_file.sh
Created July 14, 2014 14:59
update oracle view from sql file
#!/bin/bash -eu
VIEW_FILE=$1
# These variables should be defined by the script user.
#DB_PASSWORD=
#DB_USERNAME=
#DB_SERVICE=
#!/usr/bin/env python
def func(x):
return x + 1
lambda_ = lambda x: x + 1
from .actions import Install, Uninstall
from . import requests
class Policy(object):
"""A :class:`.Solver` policy.
"""
def install(self, candidates, installed=None):
pass # pragma: no cover
# Copy/pasted from https://github.com/benhoyt/scandir
# Just kept the linux code
import os
import sys
import stat
import ctypes
import ctypes.util