Skip to content

Instantly share code, notes, and snippets.

View cklein's full-sized avatar

Christian Klein cklein

  • Hamburg, Germany
View GitHub Profile
@cklein
cklein / resolve_alias.py
Created September 17, 2014 06:28
Resolve Alias from com.apple.loginitems.plist
import Carbon.File
alias = Carbon.File.Alias(rawdata=rawdata)
path, some_flags = alias.FSResolveAlias(None)
print path.as_pathname()
def json_iterator(url, method='GET', content=None, credentials=None, datanodename='data'):
"""
Rufe JSON-Daten ab.
Es wird die seitenweise Darstellung von gaetk.BasicHandler.paginate unterstützt.
"""
if content is None:
content = {}
@cklein
cklein / 4.py
Created September 28, 2012 14:03
Sum of 4th powers
numbers = {}
for i in range(1, 200):
for j in range(1, 200):
number = i ** 4 + j ** 4
numbers.setdefault(number, set()).add(tuple(sorted((i, j))))
print min(dict((number, pairs) for number, pairs in numbers.items() if len(pairs) > 1))
ek = 21.
vk = 2 * ek
x = (vk - ek) / (vk * 0.9 - ek)
for menge in 5, 23, 712, 8544, 3344444:
x = ((vk - ek) / (vk * 0.9 - ek))
print menge * vk - menge * ek, (menge * x * (vk * 0.9)) - (menge * x * ek)
@cklein
cklein / order.xsd
Created July 5, 2012 07:07
XML-Schema für ORDERS
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="order">
<xs:complexType>
<xs:all>
<xs:element name="empfaenger_iln" type="GLN"/>
<xs:element name="orderid_client" type="xs:string"/>
<xs:element name="anlieferdatum_von" type="xs:date"/>
<xs:element name="anlieferdatum_bis" type="xs:date"/>
<xs:element name="auftragsnr_kunde" type="xs:string"/>
@cklein
cklein / properties.py
Created April 27, 2011 13:32
ConverterProperty
class ConverterProperty(db.Property):
"""Property class for converting data
Example:
Given a class MyModel which an IntegerProperty that should be converted to a StringProperty:
class MyModel(db.Model):
value = IntegerProperty()
In the conversion step the model would look like this:
@cklein
cklein / search.py
Created March 8, 2011 14:17
Verschiedene Suchstrategien für D-Ablage
# Beispiel einer parallelen Suche mit asynctools:
def parallelsearch(tenant, term):
"""Suche, die eine parallele Abfrage des Datastores durchführt"""
from asynctools import AsyncMultiTask, QueryTask
results = []
runner = AsyncMultiTask()
@cklein
cklein / execgae.py
Created December 28, 2010 19:56
Execute Code on GAE dev_server.py
#!/usr/bin/env python
# encoding: utf-8
"""
execgae.py
Created by Christian Klein on 2010-12-23.
Copyright (c) 2010 HUDORA. All rights reserved.
"""
import urllib
# Enforce maximum length contrains
for field in instance._meta.fields:
if isinstance(field, models.CharField):
value = getattr(instance, field.name, '')
if len(value) > field.max_length:
setattr(instance, field.name, value[:field.max_length])
#!/bin/sh
# cheyenne.sh - kill apache processes
# Created by Christian Klein on 2010-04-01.
# Copyright (c) 2010 HUDORA GmbH. All rights reserved.
ps -U www -o pid,time | tail +2 | while read pid time; do
hours=${time%:*}
minutes=${time#*:}
if [ $(printf %0.f $minutes) -gt 30 ] ; then