Skip to content

Instantly share code, notes, and snippets.

Christoph Gerneth c7h

View GitHub Profile
@c7h
c7h / gist:5521563
Created May 5, 2013
maxgif.com image download script (via firefox bookmarks)
View gist:5521563
#! /usr/bin/env python
'''
Created on 05.05.2013
@author: christoph gerneth
ugly, short hack!
read in firefox bookmarks and
download images from maxgif.com
'''
View gist:5396518
#!/usr/bin/python
import sys
import csv
def convert(filename):
reader = csv.reader(open(filename, 'rb'))
for row in reader:
@c7h
c7h / gist:5003772
Created Feb 21, 2013
split string - fixed format
View gist:5003772
n = 8 #format
[line[i:i+n] for i in range(0, len(line), n)]
@c7h
c7h / gist:4730089
Created Feb 7, 2013
primitive debugging class as Singleton
View gist:4730089
'''
Created on Feb 6, 2013
@author: Christoph Gerneth
'''
import time
import inspect
class SingletonType(type):
@c7h
c7h / gist:4722329
Last active Dec 12, 2015
primitive built-in debugging w. execution time measurement.
View gist:4722329
import time
import inspect
start_time = time.time()
debuglevel = 2 #e.g: 0=no 1=error 2=info ...
def printdebug(level, message):
if debuglevel >= level:
curr_time = time.time() - start_time
caller = inspect.stack()[1][3]
@c7h
c7h / user.pl
Created Dec 9, 2015
logfile evaluation
View user.pl
#!/usr/bin/perl
my $user_c = 0;
my $user_min = 0;
my @ip = ();
while(<>) {
if (m/(^\w+).*(\d{2}:\d{2})/) {
if ($1 eq 'christoph'){
$user_c++; # user_zaehler erhöhen
@c7h
c7h / binserarchtree.py
Created Nov 16, 2015
understanding binary search trees
View binserarchtree.py
class BinSearchTreeElement(object):
def __init__(self, data, leftTree=None, rightTree=None):
self.data = data
self.left = leftTree
self.right = rightTree
def add(self, element):
if element <= self.data:
self._insertElement(self.left, element)
else:
@c7h
c7h / gist:e0aa37201f255fd5e92a
Created Jul 3, 2015
CSV DictWriter Example
View gist:e0aa37201f255fd5e92a
__author__ = 'Christoph Gerneth'
from csv import DictWriter
from random import randrange
filename = 'data.csv'
label = ['x-axis', 'y-axis']
with open(filename, 'w') as f:
csvw = DictWriter(f, fieldnames=label)
csvw.writeheader()
View gist:e2c73880159ab3502539
__author__ = 'Christoph Gerneth'
'''
Decorators are one of the most powerful patterns. They can be used to
inject code in functions, modify them and infuence their beihavior.
[wikipedia](https://en.wikipedia.org/wiki/Decorator_pattern)
Here is an example:
'''
class Tools(object):
@classmethod
def sayhello(self, func):
@c7h
c7h / SingletonTypes.py
Created Jun 14, 2015
the _drop-method is used for unittesting. Easy way to get rid of all your old instances.
View SingletonTypes.py
__author__ = 'Christoph Gerneth'
class SingletonType(type):
def __call__(self, *args, **kwargs):
try:
return self.__instance
except AttributeError:
self.__instance = super(SingletonType, self).__call__(*args, **kwargs)
return self.__instance
You can’t perform that action at this time.