254:dca6cd4682e3
Anton Shestakov <av6@dwimlabs.net>, Thu, 17 Nov 2016 16:16:16 +0800
adapters: make get_commit_url() lead to the commit diff

previous change 162:233f06c7a492

candolint/adapters.py

Permissions: -rw-r--r--

Other formats: Feeds:
from os.path import basename
class HostingAdapter(object):
def __init__(self, project):
self.project = project
def get_commit_url(self, change):
return '#'
def get_branch_url(self, change):
return '#'
def get_line_url(self, change, line):
return '#'
class BitbucketAdapter(HostingAdapter):
def get_commit_url(self, change):
return '{url}/commits/{node}'.format(**{
'url': self.project.url,
'node': change.node
})
def get_branch_url(self, change):
return '{url}/branch/{branch}'.format(**{
'url': self.project.url,
'branch': change.branch
})
def get_line_url(self, change, line):
return '{url}/src/{node}/{filename}#{basename}-{line}'.format(**{
'url': self.project.url,
'node': change.node,
'filename': line['filename'],
'basename': basename(line['filename']),
'line': line['line_number']
})
class GithubAdapter(HostingAdapter):
def get_commit_url(self, change):
return '{url}/commit/{node}'.format(**{
'url': self.project.url,
'node': change.node
})
def get_branch_url(self, change):
return '{url}/tree/{branch}'.format(**{
'url': self.project.url,
'branch': change.branch
})
def get_line_url(self, change, line):
return '{url}/blob/{node}/{filename}#L{line}'.format(**{
'url': self.project.url,
'node': change.node,
'filename': line['filename'],
'line': line['line_number']
})
class HgwebAdapter(HostingAdapter):
def get_commit_url(self, change):
return '{url}/rev/{node}'.format(**{
'url': self.project.url,
'node': change.node
})
def get_branch_url(self, change):
return '{url}/log/{branch}'.format(**{
'url': self.project.url,
'branch': change.branch
})
def get_line_url(self, change, line):
return '{url}/file/{node}/{filename}#l{line}'.format(**{
'url': self.project.url,
'node': change.node,
'filename': line['filename'],
'line': line['line_number']
})