-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlink_builder_class.py
More file actions
36 lines (28 loc) · 1.23 KB
/
link_builder_class.py
File metadata and controls
36 lines (28 loc) · 1.23 KB
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
27
28
29
30
31
32
33
34
35
36
class link_builder(object):
link_template = "<a href='{url}' {target}>{name}</a>"
def __init__(self, url, name, target=None):
self.url = url
self.name = name
self.target = "target = '%s'" % target if target else ""
def __repr__(self):
return self.link_template.format(name=self.name, target=self.target, url=self.url)
class link_builder2(object):
link_template = "<a href='{url}' {target}>{name}</a>"
@classmethod
def make_link(cls, url, name, target=None):
return cls.link_template.format(name=name, target="target = '%s'" % target if target else '', url=url)
class link_builder3(object):
link_template = "<a href='%(url)s' %(target)s %(attrs)s>%(name)s</a>"
@classmethod
def make_link(cls, **kwargs):
# return cls.link_template.format(**kwargs)
attrs = []
# print type(kwargs.get('attrs'))
for k, v in kwargs.get('attrs').items():
attrs.append(" %s='%s'" % (k, v))
return cls.link_template % {
'name': kwargs.get('name'),
'target': "target='%s'" % kwargs.get('target') if kwargs.get('target') else '',
'url': kwargs.get('url'),
'attrs': ''.join(attrs),
}