Skip to content

Instantly share code, notes, and snippets.

EBNull EBNull

Block or report user

Report or block EBNull

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
import subprocess
import signal
def pipeline(cmds, first_stdin=None, last_stdout=None):
"""Pipe together programs using subprocess"""
pcount = len(cmds)
plist = []
for i, cmd in enumerate(cmds):
stdin = None
stdout = None
EBNull /
Last active Jun 2, 2020
FormatMessage() in python, for system messages.
__all__ = (
import ctypes
import ctypes.wintypes
EBNull / PyQt4.pth
Created Jul 17, 2013
Add PyQt4 to a virtualenv when it's installed on the system. Place PyQt4.pth into your local site-packages dir.
View PyQt4.pth
import sys; import os; _p = os.path.join(sys.real_prefix, 'lib', 'site-packages'); sys.path.append(_p); import sip; import PyQt4; sys.path.remove(_p)
EBNull /
Created Mar 27, 2013
Forces Windows to keep the display on (temporarily disables sleep mode while running). Netflix's silverlight app failed to do this for me :/
import os
import sys
import ctypes
ES_CONTINUOUS = 0x80000000
ES_DISPLAY_REQUIRED = 0x2 #Forces the display to be on by resetting the display idle timer.
ES_SYSTEM_REQUIRED = 0x1 #Forces the system to be in the working state by resetting the system idle timer.
EBNull /
Last active Dec 15, 2015
Testcase of Python issue 706263, with a workaround.
#This file is a testcase of with a workaround.
#Z:\>cat result.txt
#stdin: 0 stdout: 1 stderr: 2
#Bytes printed: 199998
#Z:\>cat result.txt
#stdin: -2 stdout: -2 stderr: -2
#Bytes printed before exception was raised: 4096
#Traceback (most recent call last):
EBNull /
Created Jan 14, 2013
Replacement for csv.reader that reads encoded input into a dict based on column definitions.
import csv
class StreamedDataConverter(object):
"""A conversion description that can convert one list of data into a processed dict using the cols attribute.
>>> class MyConverter(StreamedDataConverter):
... cols = ['a', 'b', 'c']
>>> c = MyConverter(iter([[4,5,6],[6,7,8]]))
>>> c.map_fieldnames(['a','b','c'])
EBNull /
Created Dec 5, 2012
Given a directory, find files containing COM objects
import os
import sys
import glob
import ctypes
import logging
log = logging.getLogger(__name__)
from collections import namedtuple
def path_iter(path, root=None, dirsortkey=None):
EBNull /
Created Dec 5, 2012
"Missing" win32com utilities for getting object instances from DLLs or from run-time licenced servers
__all__ = (
####### Class Objects
#CoGetClassObject - Normal, not wrapped
'CoDllGetClassObject', #Get ClassObject from a DLL file
####### ClassFactory::CreateInstance Wrappers
'CoCreateInstanceFromFactory', #Create an object via IClassFactory::CreateInstance
'CoCreateInstanceFromFactoryLicenced', #Create a licenced object via IClassFactory2::CreateInstanceLic
EBNull /
Created Nov 19, 2012
Create an instance of a COM object with IClassFactory2 for objects that require licensing.
import pythoncom
import win32com.client
from uuid import UUID
from ctypes import OleDLL, WinDLL, c_long, c_ulong, byref, WINFUNCTYPE, POINTER, c_char_p, pointer
from ctypes.wintypes import HRESULT
IID_IClassFactory2 = "{B196B28F-BAB4-101A-B69C-00AA00341D07}"
def CoCreateInstanceLicenced(clsid_class, iid_interface=pythoncom.IID_IDispatch, key='', dwClsContext=pythoncom.CLSCTX_SERVER, pythoncom_iid_interface=pythoncom.IID_IDispatch, pythoncom_wrapdisp=True):
EBNull /
Created Oct 16, 2012
In django, create a database definition that only exists for the current session.
import django.db
from cStringIO import StringIO
def inspect_mdb(filename):
db_dict = {'ENGINE': 'access.pyodbc', 'OPTIONS': {'driver': 'access'}, 'NAME': filename}
with temp_db(db_dict, 'test') as using:
django.db.connections[using].cursor() #Connect immediately
You can’t perform that action at this time.