Skip to content

Instantly share code, notes, and snippets.

View fdemmer's full-sized avatar
🌱
developing

Florian Demmer fdemmer

🌱
developing
  • Vienna, Austria
  • 04:58 (UTC +02:00)
View GitHub Profile
@fdemmer
fdemmer / README.rst
Created August 6, 2012 07:56
simple bash prompt customizer

Installation

Put prompt.sh in "/etc/profile.d" or any other place suitable for the target system to have it load when a user logs in.

In case the target system does not have a /etc/profile.d you can create it:

mkdir /etc/profile.d
@fdemmer
fdemmer / split.py
Created August 14, 2012 19:22
Quick and dirty mp4 file cutting by cue sheet.
#!/usr/bin/python
"""Quick and dirty mp4 file cutting by cue sheet.
The cue sheet shall look somewhat like this::
PERFORMER "Calexico & ORF Radio-Symphonieorchester"
TITLE "FM4 Radiosession mit Calexico"
FILE "mp4_rs_calexico_final_2_q4a_200152.mp4" MP3
TRACK 01 AUDIO
@fdemmer
fdemmer / artnet.py
Created November 29, 2013 12:29
send an art-net udp packet (ArtDMX)
#!/usr/bin/env python
import socket
import struct
class ArtNet(object):
PORT = 6454 # 0x1936
def __init__(self, port=PORT):
self._socket = None
@fdemmer
fdemmer / artnet.pl
Created December 1, 2013 03:29
send an art-net udp packet (ArtDMX)
#!/usr/bin/env perl
use IO::Socket::INET;
my $sig = 'Art-Net'.pack('x');
my $op = pack('v', 0x5000);
my $ver = pack('n', 14);
my $seq = pack('x');
my $phy = pack('x');
@fdemmer
fdemmer / test.py
Created January 4, 2015 15:12
Log statement for every test method
import unittest
import inspect
class TestLists(unittest.TestCase):
def logPoint(self):
currentTest = self.id().split('.')[-1]
callingFunction = inspect.stack()[1][3]
print 'in %s - %s()' % (currentTest, callingFunction)
@fdemmer
fdemmer / namedtuplefactory.py
Last active August 29, 2015 14:26
a named tuple factory function
def namedtuple_factory(name=None, **kwargs):
"""create and use namedtuples in one line"""
name = name or 'AnonymousNamedtuple'
cls = namedtuple(name, kwargs.keys())
return cls(**kwargs)
# sample usage
namedtuple_factory('Response', errorcode=500)
namedtuple_factory(id=1, name='anon')
namedtuple_factory(**{'this_dict': 1, 'is_a': 2, 'named': 'tuple'})
@fdemmer
fdemmer / logging_settings.py
Last active September 2, 2015 18:17
Simple default debug console logging configuration for Django.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'debug': {
'format': '%(asctime)s %(levelname)s %(name)s %(funcName)s(%(lineno)d): %(message)s'
},
},
'handlers': {
@fdemmer
fdemmer / django_queryset_iterator.py
Created September 1, 2015 17:46
make huge queries chunk by chunk
def queryset_iterator(query, chunk_size=1000):
count = 0
total = query.count()
while count < total:
for row in query[count:count + chunk_size]:
count += 1
yield row
gc.collect()
@fdemmer
fdemmer / logging_basicconfig.py
Created September 9, 2015 18:45
Configure basic logging for stdout in scripts or quick and dirty stuff...
import logging
import sys
logging.basicConfig(
stream=sys.stdout,
level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(name)s %(funcName)s(%(lineno)d): %(message)s'
)