Skip to content

Instantly share code, notes, and snippets.

c7h in ~/workspace/TimetableParser/examples on master ● λ python read_semesterplan.py -u if1184
Password:
Deine Faecher dieses Semester:
00: Entwicklung mobiler Anwendung unter iOS bei Mack, Alexander
01: Next Generation Networks bei Sós, Eckhard
Heute auf dem Plan:
---nichts---
@c7h
c7h / gist:096f09925cbbea8fb11b
Created May 29, 2015 13:29
Process States in LaTeX with tikz
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=5cm,
thick,main node/.style={circle,fill=blue!20,draw,
font=\sffamily\Large\bfseries,minimum size=15mm}]
\node[main node] (B) {B}; %Bereit
\node[main node] [above left of=B](L) {L}; %Laufend
\node[main node] [above right of=B](I) {I}; %Inaktiv
@c7h
c7h / SingletonTypes.py
Created June 14, 2015 11:21
the _drop-method is used for unittesting. Easy way to get rid of all your old instances.
__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
@c7h
c7h / gist:e2c73880159ab3502539
Created June 21, 2015 13:04
Python Decorator
__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 / gist:e0aa37201f255fd5e92a
Created July 3, 2015 10:03
CSV DictWriter Example
__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()
@c7h
c7h / binserarchtree.py
Created November 16, 2015 23:16
understanding binary search trees
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 / user.pl
Created December 9, 2015 10:53
logfile evaluation
#!/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 / gist:4722329
Last active December 12, 2015 05:28
primitive built-in debugging w. execution time measurement.
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 / gist:4730089
Created February 7, 2013 10:22
primitive debugging class as Singleton
'''
Created on Feb 6, 2013
@author: Christoph Gerneth
'''
import time
import inspect
class SingletonType(type):
@c7h
c7h / gist:5003772
Created February 21, 2013 10:30
split string - fixed format
n = 8 #format
[line[i:i+n] for i in range(0, len(line), n)]