#!/usr/bin/env python
# -*- coding: utf-8 -*-
def din5007(input):
""" This function implements sort keys for the german language according to
DIN 5007."""
# key1: compare words lowercase and replace umlauts according to DIN 5007
key1=input.lower()
key1=key1.replace(u"ä", u"a")
key1=key1.replace(u"ö", u"o")
key1=key1.replace(u"ü", u"u")
key1=key1.replace(u"ß", u"ss")
# key2: sort the lowercase word before the uppercase word and sort
# the word with umlaut after the word without umlaut
key2=input.swapcase()
# in case two words are the same according to key1, sort the words
# according to key2.
return (key1, key2)
words=[u"All", u"Tränen", u"Zauber", u"aber", u"tränen", u"zum", u"Ärger", u"ärgerlich"]
print sorted(words, key=din5007)