Skip to content

Instantly share code, notes, and snippets.

@riffm
riffm / c14n2.xml
Created November 6, 2012 15:35
c14n2 params example
<?xml version="1.0" encoding="UTF-8"?>
<sec:Security xmlns:sec="urn:sec" xmlns:wsu="urn:wsu" xmlns:wsse="urn:wsse"
xmlns:ds="urn:ds">
<wsu:Timestamp wsu:Id="TIMESTAMP">
<wsu:Created wsu:Id="CREATED">2012-11-07T15:52:00</wsu:Created>
</wsu:Timestamp>
<wsse:BinarySecurityToken EncodingType="http://www.ietf.org/rfc/rfc4648.txt"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="TOKEN">
TOKEN_VALUE
16
10 8
10 5
8 1
5 3
2 1
1 5
3 8
9 2
3 1
@riffm
riffm / rename-ns-shortcuts.sh
Created May 24, 2012 11:26
change xmlns shortcuts
#!/bin/sh
sed -i -r -e "s/xmlns:$1=/xmlns:$2=/g" -e "s/(\"|'|<|\/)$1:/\1$2:/g" $(find . -name '*.xsd')
@riffm
riffm / gist:2780475
Created May 24, 2012 09:38
greping for xmlns shortcuts
sed -r -e "s/xmlns:(\w+)=(\"|')[-:.\/a-zA-Z0-9]+/\n\0\n/g" $(find . -name '*.xsd') | grep 'xmlns:\w\+=' | sed -r -e 's/xmlns://g' -e "s/=(\"|')/\t/g"
@riffm
riffm / gist:2709288
Created May 16, 2012 10:20
grep xsd types
egrep --color=always \<\([-.a-zA-Z0-9]+:\)?\(simple\|complex\)Type $(find . -name '*.xsd') | sed -r -e "s/:(.*)name=(\"|')([-.:a-zA-Z0-9]+)(\"|')(.*)/: \3/g"
@riffm
riffm / db_tools.py
Created January 25, 2012 19:50
Gentle `drop tables` using sqlalchemy
# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
from sqlalchemy.types import SchemaType
from sqlalchemy.engine import reflection
from sqlalchemy.schema import (
MetaData,
Table,
DropTable,
ForeignKeyConstraint,
Цели:
- упростить процесс локализации и интернационализации текстовых данных (gettext — не лучший вариант)
- упростить процесс внедрения локализации и интернационализации в питон проекты
- возможность использования уже существующих средств (в том числе и графических) для перевода строк
Фичи:
- перевод строк
- перевод строк, зависимых от числа или чисел
- возможность изменения представления дат, времени и чисел в зависимости от локали
- импорт/экспорт PO файлов
@riffm
riffm / lev.py
Created December 20, 2010 12:33
Damerau–Levenshtein distance
# -*- coding: utf-8 -*-
def edit_distance(first_word, second_word):
first_word_len = len(first_word)
second_word_len = len(second_word)
matrix = [[0 for j in range(second_word_len+1)] \
for i in range(first_word_len+1)]
for i in range(1, first_word_len+1):
for j in range(1, second_word_len+1):
cost = first_word[i-1] != second_word[j-1] and 1 or 0
'''
- WebHandler wraps next WebHandler and make desicion what to return (like decorators)
- WebHandler may return Response object and that will be the end of current chain, even
there are other handlers.
- If WebHandler returns None means that this chain is not for current request,
so we ask next chain. If this chain was last status 404 returns to client.
- There are two datastructures for data accumulation 'data' and 'env'.
'data' - template data
'env' - environment data (db sessions, template renderers, url_for, ...)
These structures are mutable during request processing. The only significant thing,
@riffm
riffm / vimrc
Created September 17, 2009 10:10
set nocompatible
set nobackup
set history=50
set showcmd
set ruler
set hlsearch
set incsearch
set smartcase
set cmdheight=1
syntax enable