# HG changeset patch # User neko259 # Date 2016-10-16 14:22:06 # Node ID ccb8591c14c6c5b0cae4c04410b6d4c900eb2884 # Parent 137d25dc35bee3d46017d3e1f6990a45a786b37f Different images for different URL protocols diff --git a/boards/models/attachment/viewers.py b/boards/models/attachment/viewers.py --- a/boards/models/attachment/viewers.py +++ b/boards/models/attachment/viewers.py @@ -3,7 +3,7 @@ from django.template.defaultfilters impo from django.contrib.staticfiles.templatetags.staticfiles import static FILE_STUB_IMAGE = 'images/file.png' -FILE_STUB_URL = 'images/url.png' +FILE_STUB_URL = 'url' FILE_TYPES_VIDEO = ( 'webm', @@ -33,6 +33,10 @@ PLAIN_FILE_FORMATS = { 'xcf': 'xcf', } +URL_PROTOCOLS = { + 'magnet': 'magnet', +} + CSS_CLASS_IMAGE = 'image' CSS_CLASS_THUMB = 'thumb' @@ -143,7 +147,12 @@ class UrlViewer(AbstractViewer): return '
' \ '{}' \ '
'.format(self.get_format_view()) + def get_format_view(self): + protocol = self.url.split('://')[0] + url_image_name = URL_PROTOCOLS.get(protocol, FILE_STUB_URL) + image = static('images/' + url_image_name + '.png') + return '' \ '' \ - ''.format(self.url, static(FILE_STUB_URL)) + ''.format(self.url, image) diff --git a/boards/static/images/magnet.png b/boards/static/images/magnet.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7021a6965b0f60e885d85d5ec8895a8484fc8e GIT binary patch literal 17636 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 XKA2lX_x5)l00000NkvXXu0mjffcbWL