Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am DanielSzoska on github.
  • I am dszoska (https://keybase.io/dszoska) on keybase.
  • I have a public key whose fingerprint is A990 2C13 BCBE 46F4 9D2F EFE0 2766 EF00 8023 F2D1

To claim this, I am signing this object:

@DanielSzoska
DanielSzoska / template_invitation_member_meeting.py
Last active December 22, 2015 07:59
Gerüst für endgültige Einladung MV per Mail oder Brief
# Voraussetzung: mitglieder.csv wird eingelesen mit csv.DictReader
# erste Zeile der CSV-Datei enthält die Feldnamen
members = csv.DictReader(open('mitglieder.csv', 'r'), ...)
for member in members:
active_member = member['Austrittsdatum'] == "" # wenn Spalte nicht leer, dann ist Mitglied ausgetreten
if active_member:
# hier PDF-Datei generieren
# nun entscheiden, ob per Mail schicken oder PDF ins Druckverzeichnis kopieren
{
"metadata": {
"name": "Untitled0"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
# Skizze, wie das Löschen und Entlöschen eines Belegs in etwa funktionieren soll
# die Funktion basiert darauf, daß der Inhalt des Feldes "KASSENNAME" in weiteren
# Prozeßschritten definitiv nie benötigt wird
# außerdem wird das Image in der IBF-Datei nicht wirklich gelöscht, sondern erhält
# nur eine andere PIC-Nummer, die es so definitiv auch nie geben kann. Somit ist
# ein Entlöschen sowohl des Belegs als auch des Images problemlos möglich. Durch
# das Ändern der PIC-Nummer ist sichergestellt, daß das Image in nachfolgenden
# Prozessen wirklich nicht gefunden werden kann
class CDB_Form(object):
def delete(self):
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
>>> a = '1234aaaa56789bbbbbb0123456789ccccccc1111111dddddddddd'
>>> b = 'aa12456bbbb0123cc8cccc111111dddddd567889'
>>> import difflib
>>> s = difflib.SequenceMatcher(None, a, b)
>>> s.get_opcodes()
[('insert', 0, 0, 0, 2), ('equal', 0, 2, 2, 4), ('delete', 2, 3, 4, 4), ('equal', 3, 4, 4, 5), ('delete', 4, 8, 5, 5), ('equal', 8, 10, 5, 7), ('delete', 10, 15, 7, 7), ('equal', 15, 23, 7, 15), ('replace', 23, 27, 15, 17), ('equal', 27, 28, 17, 18), ('delete', 28, 29, 18, 18), ('equal', 29, 33, 18, 22), ('delete', 33, 37, 22, 22), ('equal', 37, 49, 22, 34), ('replace', 49, 53, 34, 40)]
>>> i = s.get_grouped_opcodes()
>>> next(i)
[('insert', 0, 0, 0, 2), ('equal', 0, 2, 2, 4), ('delete', 2, 3, 4, 4), ('equal', 3, 4, 4, 5), ('delete', 4, 8, 5, 5), ('equal', 8, 10, 5, 7), ('delete', 10, 15, 7, 7), ('equal', 15, 18, 7, 10)]
>>> next(i)
import logging
# configuration of the default standard logger - log to a file
logging.basicConfig(format='%(asctime)s %(message)s',
level=logging.DEBUG,
filename='logfile.log',
datefmt='%d.%m.%Y %H:%M:%S')
# we need an additional logger, that will log to the console
# use at main or program start
@DanielSzoska
DanielSzoska / gist:4223231
Created December 6, 2012 09:29
Konzept Fernbedienung
class Gui(object)
def init_remote_control(self):
if self.activate_remote_control:
self.create_timer()
def create_timer(self):
self.timer = QTimer()
self.timer.timeout.connect(self.update)
self.timer.start(1000)
@DanielSzoska
DanielSzoska / session4.py
Created November 3, 2012 13:56 — forked from anonymous/session4.py
code-retreat session 4
from collections import Counter
class LiveCells(object):
def __init__(self):
self.cells = set()
def add_cell(self, position):
self.cells.add(position)