annotate bin/unicode @ 7137:59c9be91adcd

<oerjan> mkx bin/slashlearn//sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; [ -e "wisdom/$topic" ] && verb="Relearned" || verb="Learned"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "$verb \xc2\xab$key\xc2\xbb"
author HackBot
date Sun, 06 Mar 2016 16:48:02 +0000
parents 56dcce63901b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5643
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
1 #!/usr/bin/env python
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
2 # -*- encoding: utf-8 -*-
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
3 import re
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
4 import sys, os
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
5 import unicodedata
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
6 def l(c): m = re.match('(?:U[+])?([0-9a-f]{1,5})$', c, re.I); return unicodedata.lookup(c) if m is None else unichr(int(m.group(1),16))
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
7 try:
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
8 print u''.join(map(l, sys.argv[1:])).encode('utf-8')
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
9 except KeyError:
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
10 os.execvp("multicode", ["multicode"] +sys.argv[1:])