Merge remote branch 'remotes/macno/pushatom'
[mediagoblin.git] / mediagoblin / db / sql / extratypes.py
1 from sqlalchemy.types import TypeDecorator, Unicode
2
3
4 class PathTupleWithSlashes(TypeDecorator):
5 "Represents a Tuple of strings as a slash separated string."
6
7 impl = Unicode
8
9 def process_bind_param(self, value, dialect):
10 if value is not None:
11 assert len(value), "Does not support empty lists"
12 value = '/'.join(value)
13 return value
14
15 def process_result_value(self, value, dialect):
16 if value is not None:
17 value = tuple(value.split('/'))
18 return value