blob: 1d6be2cdd5820346425455cf2447d0dda58305a6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from urlparse import urlparse, parse_qs
from .third_libs.link_header import parse_link_value
class Link(str):
class Url(str):
@property
def query(self):
return urlparse(self).query
@property
def params(self):
return dict([
(param, values.pop())
for param, values in parse_qs(self.query).items()])
def __init__(self, object_):
super(Link, self).__init__(object_)
parsed = parse_link_value(self)
for url in parsed:
setattr(self, parsed[url]['rel'], Link.Url(url))
|