diff --git a/apps/common/utils.py b/apps/common/utils.py index eda5df2b18..21aa433f36 100644 --- a/apps/common/utils.py +++ b/apps/common/utils.py @@ -13,15 +13,6 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import User -try: - from python_magic import magic - USE_PYTHON_MAGIC = True -except: - import mimetypes - mimetypes.init() - USE_PYTHON_MAGIC = False - - def urlquote(link=None, get=None): u''' This method does both: urlquote() and urlencode() @@ -349,34 +340,6 @@ def return_diff(old_obj, new_obj, attrib_list=None): return diff_dict -def get_mimetype(filepath): - """ - Determine a file's mimetype by calling the system's libmagic - library via python-magic or fallback to use python's mimetypes - library - """ - file_mimetype = u'' - file_mime_encoding = u'' - - if USE_PYTHON_MAGIC: - if os.path.exists(filepath): - try: - source = open(filepath, 'r') - mime = magic.Magic(mime=True) - file_mimetype = mime.from_buffer(source.read()) - source.seek(0) - mime_encoding = magic.Magic(mime_encoding=True) - file_mime_encoding = mime_encoding.from_buffer(source.read()) - finally: - if source: - source.close() - else: - path, filename = os.path.split(filepath) - file_mimetype, file_mime_encoding = mimetypes.guess_type(filename) - - return file_mimetype, file_mime_encoding - - def validate_path(path): if os.path.exists(path) != True: # If doesn't exist try to create it diff --git a/apps/converter/backends/python/base.py b/apps/converter/backends/python/base.py index 972ecf2ea1..cd2492bc65 100644 --- a/apps/converter/backends/python/base.py +++ b/apps/converter/backends/python/base.py @@ -12,7 +12,7 @@ except RuntimeError: from django.utils.translation import ugettext_lazy as _ -from common.utils import get_mimetype +from mimetype.api import get_mimetype from converter.exceptions import ConvertError, UnknownFormat, IdentifyError from converter.backends import ConverterBase diff --git a/apps/documents/models.py b/apps/documents/models.py index f1400d52de..993a0b60f3 100644 --- a/apps/documents/models.py +++ b/apps/documents/models.py @@ -15,12 +15,14 @@ from converter.api import get_page_count from converter.api import get_available_transformations_choices from converter.api import convert from converter.exceptions import UnknownFormat, UnkownConvertError +from mimetype.api import get_document_mimetype, get_icon_file_path, \ + get_error_icon_file_path -from documents.utils import get_document_mimetype from documents.conf.settings import CHECKSUM_FUNCTION from documents.conf.settings import UUID_FUNCTION from documents.conf.settings import STORAGE_BACKEND from documents.conf.settings import PREVIEW_SIZE +from documents.conf.settings import DISPLAY_SIZE from documents.conf.settings import CACHE_PATH from documents.managers import RecentDocumentManager, \ @@ -234,17 +236,16 @@ class Document(models.Model): document_file = document_save_to_temp_dir(self, self.checksum) return convert(document_file, output_filepath=cache_file_path, page=page, transformations=transformations) - def get_image(self, size=PREVIEW_SIZE, page=DEFAULT_PAGE_NUMBER, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION): + def get_image(self, size=DISPLAY_SIZE, page=DEFAULT_PAGE_NUMBER, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION): try: image_cache_name = self.get_image_cache_name(page=page) - output_file = convert(image_cache_name, cleanup_files=False, size=size, zoom=zoom, rotation=rotation) + return convert(image_cache_name, cleanup_files=False, size=size, zoom=zoom, rotation=rotation) except UnknownFormat: - output_file = os.path.join(settings.MEDIA_ROOT, u'images', PICTURE_UNKNOWN_SMALL) + return get_icon_file_path(self.file_mimetype) except UnkownConvertError: - output_file = os.path.join(settings.MEDIA_ROOT, u'images', PICTURE_ERROR_SMALL) + return get_error_icon_file_path() except: - output_file = os.path.join(settings.MEDIA_ROOT, u'images', PICTURE_ERROR_SMALL) - return output_file + return get_error_icon_file_path() class DocumentTypeFilename(models.Model): diff --git a/apps/documents/utils.py b/apps/documents/utils.py index 1e0d72d9f1..32658d5f43 100644 --- a/apps/documents/utils.py +++ b/apps/documents/utils.py @@ -2,14 +2,6 @@ import os from common.conf.settings import TEMPORARY_DIRECTORY -try: - from python_magic import magic - USE_PYTHON_MAGIC = True -except: - import mimetypes - mimetypes.init() - USE_PYTHON_MAGIC = False - #http://stackoverflow.com/questions/123198/how-do-i-copy-a-file-in-python def copyfile(source, dest, buffer_size=1024 * 1024): @@ -37,30 +29,3 @@ def copyfile(source, dest, buffer_size=1024 * 1024): def document_save_to_temp_dir(document, filename, buffer_size=1024 * 1024): temporary_path = os.path.join(TEMPORARY_DIRECTORY, filename) return document.save_to_file(temporary_path, buffer_size) - - -def get_document_mimetype(document): - """ - Determine a documents mimetype by calling the system's libmagic - library via python-magic or fallback to use python's mimetypes - library - """ - file_mimetype = u'' - file_mime_encoding = u'' - - if USE_PYTHON_MAGIC: - if document.exists(): - try: - source = document.open() - mime = magic.Magic(mime=True) - file_mimetype = mime.from_buffer(source.read()) - source.seek(0) - mime_encoding = magic.Magic(mime_encoding=True) - file_mime_encoding = mime_encoding.from_buffer(source.read()) - finally: - if source: - source.close() - else: - file_mimetype, file_mime_encoding = mimetypes.guess_type(document.get_fullname()) - - return file_mimetype, file_mime_encoding diff --git a/apps/mimetype/__init__.py b/apps/mimetype/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/mimetype/api.py b/apps/mimetype/api.py new file mode 100644 index 0000000000..e76a55be65 --- /dev/null +++ b/apps/mimetype/api.py @@ -0,0 +1,134 @@ +import os + +from django.conf import settings + +try: + import magic + USE_PYTHON_MAGIC = True +except: + import mimetypes + mimetypes.init() + USE_PYTHON_MAGIC = False + + +MIMETYPE_ICONS_DIRECTORY_NAME = os.path.join('images', 'mimetypes') + +UNKNWON_TYPE_FILE_NAME = 'unknown.png' +ERROR_FILE_NAME = 'error.png' + +mimetype_icons = { + 'application/pdf' : 'file_extension_pdf.png', + 'application/zip' : 'file_extension_zip.png', + 'application/ogg' : 'file_extension_ogg.png', + 'application/postscript' : 'file_extension_ps.png', + 'application/x-gzip' : 'file_extension_gz.png', + 'application/x-rar-compressed' : 'file_extension_rar.png', + 'application/x-troff-msvideo' : 'file_extension_avi.png', + 'application/acad' : 'file_extension_dwg.png', + 'application/octet-stream' : 'file_extension_exe.png', + 'application/vnd.oasis.opendocument.text': 'ODF_textdocument_32x32.png', + 'application/vnd.oasis.opendocument.spreadsheet': 'ODF_spreadsheet_32x32.png', + 'application/vnd.oasis.opendocument.presentation': 'ODF_presentation_32x32.png', + 'application/vnd.oasis.opendocument.graphics': 'ODF_drawing_32x32.png', + 'application/vnd.ms-excel': 'file_extension_xls.png', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'file_extension_xls.png', + 'application/msword': 'file_extension_doc.png', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'file_extension_doc.png', + 'application/mspowerpoint': 'file_extension_pps.png', + 'application/vnd.ms-powerpoint': 'file_extension_pps.png', + 'application/wav' : 'file_extension_wav.png', + 'application/x-wav' : 'file_extension_wav.png', + + 'image/jpeg' : 'file_extension_jpeg.png', + 'image/png' : 'file_extension_png.png', + 'image/x-png' : 'file_extension_png.png', + 'image/tiff' : 'file_extension_tif.png', + 'image/x-tiff' : 'file_extension_tif.png', + 'image/bmp' : 'file_extension_bmp.png', + 'image/gif' : 'file_extension_gif.png', + 'image/vnd.dwg' : 'file_extension_dwg.png', + 'image/x-dwg' : 'file_extension_dwg.png', + + 'audio/mpeg' : 'file_extension_mp3.png', + 'audio/mid' : 'file_extension_mid.png', + 'audio/x-wav' : 'file_extension_wav.png', + 'audio/vnd.wav' : 'file_extension_wav.png', + 'audio/x-pn-realaudio' : 'file_extension_ram.png', + 'audio/mp4' : 'file_extension_mp4.png', + 'audio/x-ms-wma' : 'file_extension_wma.png', + + 'video/avi' : 'file_extension_avi.png', + 'video/mpeg' : 'file_extension_mpeg.png', + 'video/quicktime' : 'file_extension_mov.png', + 'video/x-ms-asf' : 'file_extension_asf.png', + 'video/x-ms-wmv' : 'file_extension_wmv.png', + + 'text/html' : 'file_extension_html.png', + 'text/plain' : 'file_extension_txt.png', +} + + +def get_icon_file_path(mimetype): + file_name = mimetype_icons.get(mimetype, UNKNWON_TYPE_FILE_NAME) + return os.path.join(settings.MEDIA_ROOT, MIMETYPE_ICONS_DIRECTORY_NAME, file_name) + + +def get_error_icon_file_path(): + return os.path.join(settings.MEDIA_ROOT, MIMETYPE_ICONS_DIRECTORY_NAME, ERROR_FILE_NAME) + + +def get_mimetype(filepath): + """ + Determine a file's mimetype by calling the system's libmagic + library via python-magic or fallback to use python's mimetypes + library + """ + file_mimetype = u'' + file_mime_encoding = u'' + source = None + if USE_PYTHON_MAGIC: + if os.path.exists(filepath): + try: + source = open(filepath, 'r') + mime = magic.Magic(mime=True) + file_mimetype = mime.from_buffer(source.read()) + source.seek(0) + mime_encoding = magic.Magic(mime_encoding=True) + file_mime_encoding = mime_encoding.from_buffer(source.read()) + finally: + if source: + source.close() + else: + path, filename = os.path.split(filepath) + file_mimetype, file_mime_encoding = mimetypes.guess_type(filename) + + return file_mimetype, file_mime_encoding + + +def get_document_mimetype(document): + """ + Determine a documents mimetype by calling the system's libmagic + library via python-magic or fallback to use python's mimetypes + library + """ + file_mimetype = u'' + file_mime_encoding = u'' + + source = None + + if USE_PYTHON_MAGIC: + if document.exists(): + try: + source = document.open() + mime = magic.Magic(mime=True) + file_mimetype = mime.from_buffer(source.read()) + source.seek(0) + mime_encoding = magic.Magic(mime_encoding=True) + file_mime_encoding = mime_encoding.from_buffer(source.read()) + finally: + if source: + source.close() + else: + file_mimetype, file_mime_encoding = mimetypes.guess_type(document.get_fullname()) + + return file_mimetype, file_mime_encoding diff --git a/apps/mimetype/models.py b/apps/mimetype/models.py new file mode 100644 index 0000000000..71a8362390 --- /dev/null +++ b/apps/mimetype/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/apps/mimetype/tests.py b/apps/mimetype/tests.py new file mode 100644 index 0000000000..2247054b35 --- /dev/null +++ b/apps/mimetype/tests.py @@ -0,0 +1,23 @@ +""" +This file demonstrates two different styles of tests (one doctest and one +unittest). These will both pass when you run "manage.py test". + +Replace these with more appropriate tests for your application. +""" + +from django.test import TestCase + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.failUnlessEqual(1 + 1, 2) + +__test__ = {"doctest": """ +Another way to test that 1 + 1 is equal to 2. + +>>> 1 + 1 == 2 +True +"""} + diff --git a/apps/mimetype/views.py b/apps/mimetype/views.py new file mode 100644 index 0000000000..60f00ef0ef --- /dev/null +++ b/apps/mimetype/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/settings.py b/settings.py index 080a3c98f4..d47b7d85ff 100644 --- a/settings.py +++ b/settings.py @@ -150,6 +150,7 @@ INSTALLED_APPS = ( 'mptt', 'document_indexing', 'sources', + 'mimetype', ) TEMPLATE_CONTEXT_PROCESSORS = ( diff --git a/site_media/images/mimetypes/ODF_database_32x32.png b/site_media/images/mimetypes/ODF_database_32x32.png new file mode 100644 index 0000000000..461bdf37b7 Binary files /dev/null and b/site_media/images/mimetypes/ODF_database_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_drawing_32x32.png b/site_media/images/mimetypes/ODF_drawing_32x32.png new file mode 100644 index 0000000000..55dda2143e Binary files /dev/null and b/site_media/images/mimetypes/ODF_drawing_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_drawing_templ_32x32.png b/site_media/images/mimetypes/ODF_drawing_templ_32x32.png new file mode 100644 index 0000000000..cdc2f2df0f Binary files /dev/null and b/site_media/images/mimetypes/ODF_drawing_templ_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_empty_32x32.png b/site_media/images/mimetypes/ODF_empty_32x32.png new file mode 100644 index 0000000000..309392b7a6 Binary files /dev/null and b/site_media/images/mimetypes/ODF_empty_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_empty_templ_32x32.png b/site_media/images/mimetypes/ODF_empty_templ_32x32.png new file mode 100644 index 0000000000..8e906f8be1 Binary files /dev/null and b/site_media/images/mimetypes/ODF_empty_templ_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_formula_32x32.png b/site_media/images/mimetypes/ODF_formula_32x32.png new file mode 100644 index 0000000000..6b8f2f7322 Binary files /dev/null and b/site_media/images/mimetypes/ODF_formula_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_masterdocument_32x32.png b/site_media/images/mimetypes/ODF_masterdocument_32x32.png new file mode 100644 index 0000000000..234bac461e Binary files /dev/null and b/site_media/images/mimetypes/ODF_masterdocument_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_presentation_32x32.png b/site_media/images/mimetypes/ODF_presentation_32x32.png new file mode 100644 index 0000000000..fedeb0620a Binary files /dev/null and b/site_media/images/mimetypes/ODF_presentation_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_presentation_templ_32x32.png b/site_media/images/mimetypes/ODF_presentation_templ_32x32.png new file mode 100644 index 0000000000..0125160652 Binary files /dev/null and b/site_media/images/mimetypes/ODF_presentation_templ_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_spreadsheet_32x32.png b/site_media/images/mimetypes/ODF_spreadsheet_32x32.png new file mode 100644 index 0000000000..020d95bef3 Binary files /dev/null and b/site_media/images/mimetypes/ODF_spreadsheet_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_spreadsheet_templ_32x32.png b/site_media/images/mimetypes/ODF_spreadsheet_templ_32x32.png new file mode 100644 index 0000000000..9d63063e67 Binary files /dev/null and b/site_media/images/mimetypes/ODF_spreadsheet_templ_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_textdocument_32x32.png b/site_media/images/mimetypes/ODF_textdocument_32x32.png new file mode 100644 index 0000000000..ac350cb409 Binary files /dev/null and b/site_media/images/mimetypes/ODF_textdocument_32x32.png differ diff --git a/site_media/images/mimetypes/ODF_textdocument_templ_32x32.png b/site_media/images/mimetypes/ODF_textdocument_templ_32x32.png new file mode 100644 index 0000000000..983b39e611 Binary files /dev/null and b/site_media/images/mimetypes/ODF_textdocument_templ_32x32.png differ diff --git a/site_media/images/mimetypes/error.png b/site_media/images/mimetypes/error.png new file mode 100644 index 0000000000..09414dac15 Binary files /dev/null and b/site_media/images/mimetypes/error.png differ diff --git a/site_media/images/mimetypes/file_extension_3gp.png b/site_media/images/mimetypes/file_extension_3gp.png new file mode 100644 index 0000000000..35a05dd0a4 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_3gp.png differ diff --git a/site_media/images/mimetypes/file_extension_7z.png b/site_media/images/mimetypes/file_extension_7z.png new file mode 100644 index 0000000000..5ed205bb95 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_7z.png differ diff --git a/site_media/images/mimetypes/file_extension_ace.png b/site_media/images/mimetypes/file_extension_ace.png new file mode 100644 index 0000000000..799604d967 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ace.png differ diff --git a/site_media/images/mimetypes/file_extension_ai.png b/site_media/images/mimetypes/file_extension_ai.png new file mode 100644 index 0000000000..078057f6f9 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ai.png differ diff --git a/site_media/images/mimetypes/file_extension_aif.png b/site_media/images/mimetypes/file_extension_aif.png new file mode 100644 index 0000000000..02ba441724 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_aif.png differ diff --git a/site_media/images/mimetypes/file_extension_aiff.png b/site_media/images/mimetypes/file_extension_aiff.png new file mode 100644 index 0000000000..45f6c27ef5 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_aiff.png differ diff --git a/site_media/images/mimetypes/file_extension_amr.png b/site_media/images/mimetypes/file_extension_amr.png new file mode 100644 index 0000000000..4c30c8ce26 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_amr.png differ diff --git a/site_media/images/mimetypes/file_extension_asf.png b/site_media/images/mimetypes/file_extension_asf.png new file mode 100644 index 0000000000..f65286f422 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_asf.png differ diff --git a/site_media/images/mimetypes/file_extension_asx.png b/site_media/images/mimetypes/file_extension_asx.png new file mode 100644 index 0000000000..9ac440b4c8 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_asx.png differ diff --git a/site_media/images/mimetypes/file_extension_bat.png b/site_media/images/mimetypes/file_extension_bat.png new file mode 100644 index 0000000000..ba72c7f896 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_bat.png differ diff --git a/site_media/images/mimetypes/file_extension_bin.png b/site_media/images/mimetypes/file_extension_bin.png new file mode 100644 index 0000000000..adc7af36c7 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_bin.png differ diff --git a/site_media/images/mimetypes/file_extension_bmp.png b/site_media/images/mimetypes/file_extension_bmp.png new file mode 100644 index 0000000000..485cde8032 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_bmp.png differ diff --git a/site_media/images/mimetypes/file_extension_bup.png b/site_media/images/mimetypes/file_extension_bup.png new file mode 100644 index 0000000000..5e25354d13 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_bup.png differ diff --git a/site_media/images/mimetypes/file_extension_cab.png b/site_media/images/mimetypes/file_extension_cab.png new file mode 100644 index 0000000000..0e19a97312 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_cab.png differ diff --git a/site_media/images/mimetypes/file_extension_cbr.png b/site_media/images/mimetypes/file_extension_cbr.png new file mode 100644 index 0000000000..37d886aa04 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_cbr.png differ diff --git a/site_media/images/mimetypes/file_extension_cda.png b/site_media/images/mimetypes/file_extension_cda.png new file mode 100644 index 0000000000..c50b7519c8 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_cda.png differ diff --git a/site_media/images/mimetypes/file_extension_cdl.png b/site_media/images/mimetypes/file_extension_cdl.png new file mode 100644 index 0000000000..cb57905683 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_cdl.png differ diff --git a/site_media/images/mimetypes/file_extension_cdr.png b/site_media/images/mimetypes/file_extension_cdr.png new file mode 100644 index 0000000000..d6def9e36c Binary files /dev/null and b/site_media/images/mimetypes/file_extension_cdr.png differ diff --git a/site_media/images/mimetypes/file_extension_chm.png b/site_media/images/mimetypes/file_extension_chm.png new file mode 100644 index 0000000000..7a993614b7 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_chm.png differ diff --git a/site_media/images/mimetypes/file_extension_dat.png b/site_media/images/mimetypes/file_extension_dat.png new file mode 100644 index 0000000000..9567f6af54 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dat.png differ diff --git a/site_media/images/mimetypes/file_extension_divx.png b/site_media/images/mimetypes/file_extension_divx.png new file mode 100644 index 0000000000..99cb983eca Binary files /dev/null and b/site_media/images/mimetypes/file_extension_divx.png differ diff --git a/site_media/images/mimetypes/file_extension_dll.png b/site_media/images/mimetypes/file_extension_dll.png new file mode 100644 index 0000000000..7ac35c9846 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dll.png differ diff --git a/site_media/images/mimetypes/file_extension_dmg.png b/site_media/images/mimetypes/file_extension_dmg.png new file mode 100644 index 0000000000..a2c644bddc Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dmg.png differ diff --git a/site_media/images/mimetypes/file_extension_doc.png b/site_media/images/mimetypes/file_extension_doc.png new file mode 100644 index 0000000000..8738d2eb21 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_doc.png differ diff --git a/site_media/images/mimetypes/file_extension_dss.png b/site_media/images/mimetypes/file_extension_dss.png new file mode 100644 index 0000000000..d51df3c293 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dss.png differ diff --git a/site_media/images/mimetypes/file_extension_dvf.png b/site_media/images/mimetypes/file_extension_dvf.png new file mode 100644 index 0000000000..62bbb95aa4 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dvf.png differ diff --git a/site_media/images/mimetypes/file_extension_dwg.png b/site_media/images/mimetypes/file_extension_dwg.png new file mode 100644 index 0000000000..0199681774 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_dwg.png differ diff --git a/site_media/images/mimetypes/file_extension_eml.png b/site_media/images/mimetypes/file_extension_eml.png new file mode 100644 index 0000000000..6c973fcde8 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_eml.png differ diff --git a/site_media/images/mimetypes/file_extension_eps.png b/site_media/images/mimetypes/file_extension_eps.png new file mode 100644 index 0000000000..009582ced9 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_eps.png differ diff --git a/site_media/images/mimetypes/file_extension_exe.png b/site_media/images/mimetypes/file_extension_exe.png new file mode 100644 index 0000000000..c9cec75704 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_exe.png differ diff --git a/site_media/images/mimetypes/file_extension_fla.png b/site_media/images/mimetypes/file_extension_fla.png new file mode 100644 index 0000000000..648b1d0735 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_fla.png differ diff --git a/site_media/images/mimetypes/file_extension_flv.png b/site_media/images/mimetypes/file_extension_flv.png new file mode 100644 index 0000000000..ccc1eb7f31 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_flv.png differ diff --git a/site_media/images/mimetypes/file_extension_gif.png b/site_media/images/mimetypes/file_extension_gif.png new file mode 100644 index 0000000000..b1aa6c3d10 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_gif.png differ diff --git a/site_media/images/mimetypes/file_extension_gz.png b/site_media/images/mimetypes/file_extension_gz.png new file mode 100644 index 0000000000..d4517e1c16 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_gz.png differ diff --git a/site_media/images/mimetypes/file_extension_hqx.png b/site_media/images/mimetypes/file_extension_hqx.png new file mode 100644 index 0000000000..ae7cc0620d Binary files /dev/null and b/site_media/images/mimetypes/file_extension_hqx.png differ diff --git a/site_media/images/mimetypes/file_extension_htm.png b/site_media/images/mimetypes/file_extension_htm.png new file mode 100644 index 0000000000..061ff46943 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_htm.png differ diff --git a/site_media/images/mimetypes/file_extension_html.png b/site_media/images/mimetypes/file_extension_html.png new file mode 100644 index 0000000000..d86548cd52 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_html.png differ diff --git a/site_media/images/mimetypes/file_extension_ifo.png b/site_media/images/mimetypes/file_extension_ifo.png new file mode 100644 index 0000000000..89b0166a4c Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ifo.png differ diff --git a/site_media/images/mimetypes/file_extension_indd.png b/site_media/images/mimetypes/file_extension_indd.png new file mode 100644 index 0000000000..0cbaadc72b Binary files /dev/null and b/site_media/images/mimetypes/file_extension_indd.png differ diff --git a/site_media/images/mimetypes/file_extension_iso.png b/site_media/images/mimetypes/file_extension_iso.png new file mode 100644 index 0000000000..e8df06db98 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_iso.png differ diff --git a/site_media/images/mimetypes/file_extension_jar.png b/site_media/images/mimetypes/file_extension_jar.png new file mode 100644 index 0000000000..383aea4fa1 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_jar.png differ diff --git a/site_media/images/mimetypes/file_extension_jpeg.png b/site_media/images/mimetypes/file_extension_jpeg.png new file mode 100644 index 0000000000..68e38ab252 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_jpeg.png differ diff --git a/site_media/images/mimetypes/file_extension_jpg.png b/site_media/images/mimetypes/file_extension_jpg.png new file mode 100644 index 0000000000..39be8180d7 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_jpg.png differ diff --git a/site_media/images/mimetypes/file_extension_lnk.png b/site_media/images/mimetypes/file_extension_lnk.png new file mode 100644 index 0000000000..2b05f43030 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_lnk.png differ diff --git a/site_media/images/mimetypes/file_extension_log.png b/site_media/images/mimetypes/file_extension_log.png new file mode 100644 index 0000000000..bc99e85cf4 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_log.png differ diff --git a/site_media/images/mimetypes/file_extension_m4a.png b/site_media/images/mimetypes/file_extension_m4a.png new file mode 100644 index 0000000000..d7c86c3c7d Binary files /dev/null and b/site_media/images/mimetypes/file_extension_m4a.png differ diff --git a/site_media/images/mimetypes/file_extension_m4b.png b/site_media/images/mimetypes/file_extension_m4b.png new file mode 100644 index 0000000000..8a73d4e5aa Binary files /dev/null and b/site_media/images/mimetypes/file_extension_m4b.png differ diff --git a/site_media/images/mimetypes/file_extension_m4p.png b/site_media/images/mimetypes/file_extension_m4p.png new file mode 100644 index 0000000000..f9d90b924c Binary files /dev/null and b/site_media/images/mimetypes/file_extension_m4p.png differ diff --git a/site_media/images/mimetypes/file_extension_m4v.png b/site_media/images/mimetypes/file_extension_m4v.png new file mode 100644 index 0000000000..c7b0b1f7e9 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_m4v.png differ diff --git a/site_media/images/mimetypes/file_extension_mcd.png b/site_media/images/mimetypes/file_extension_mcd.png new file mode 100644 index 0000000000..c268b87dff Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mcd.png differ diff --git a/site_media/images/mimetypes/file_extension_mdb.png b/site_media/images/mimetypes/file_extension_mdb.png new file mode 100644 index 0000000000..7b7b83611d Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mdb.png differ diff --git a/site_media/images/mimetypes/file_extension_mid.png b/site_media/images/mimetypes/file_extension_mid.png new file mode 100644 index 0000000000..4d3e482836 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mid.png differ diff --git a/site_media/images/mimetypes/file_extension_mov.png b/site_media/images/mimetypes/file_extension_mov.png new file mode 100644 index 0000000000..6a9186516f Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mov.png differ diff --git a/site_media/images/mimetypes/file_extension_mp2.png b/site_media/images/mimetypes/file_extension_mp2.png new file mode 100644 index 0000000000..bbc5f049c6 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mp2.png differ diff --git a/site_media/images/mimetypes/file_extension_mp3.png b/site_media/images/mimetypes/file_extension_mp3.png new file mode 100644 index 0000000000..56df815c32 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mp3.png differ diff --git a/site_media/images/mimetypes/file_extension_mp4.png b/site_media/images/mimetypes/file_extension_mp4.png new file mode 100644 index 0000000000..caa154cea3 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mp4.png differ diff --git a/site_media/images/mimetypes/file_extension_mpeg.png b/site_media/images/mimetypes/file_extension_mpeg.png new file mode 100644 index 0000000000..81994a291a Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mpeg.png differ diff --git a/site_media/images/mimetypes/file_extension_mpg.png b/site_media/images/mimetypes/file_extension_mpg.png new file mode 100644 index 0000000000..948b643180 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mpg.png differ diff --git a/site_media/images/mimetypes/file_extension_msi.png b/site_media/images/mimetypes/file_extension_msi.png new file mode 100644 index 0000000000..97a8a3b191 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_msi.png differ diff --git a/site_media/images/mimetypes/file_extension_mswmm.png b/site_media/images/mimetypes/file_extension_mswmm.png new file mode 100644 index 0000000000..d70aaa75ba Binary files /dev/null and b/site_media/images/mimetypes/file_extension_mswmm.png differ diff --git a/site_media/images/mimetypes/file_extension_ogg.png b/site_media/images/mimetypes/file_extension_ogg.png new file mode 100644 index 0000000000..a6b55f6cc2 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ogg.png differ diff --git a/site_media/images/mimetypes/file_extension_pdf.png b/site_media/images/mimetypes/file_extension_pdf.png new file mode 100644 index 0000000000..04423b4965 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_pdf.png differ diff --git a/site_media/images/mimetypes/file_extension_png.png b/site_media/images/mimetypes/file_extension_png.png new file mode 100644 index 0000000000..76230d3060 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_png.png differ diff --git a/site_media/images/mimetypes/file_extension_pps.png b/site_media/images/mimetypes/file_extension_pps.png new file mode 100644 index 0000000000..44a2d2c7e8 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_pps.png differ diff --git a/site_media/images/mimetypes/file_extension_ps.png b/site_media/images/mimetypes/file_extension_ps.png new file mode 100644 index 0000000000..0e4b20ae0f Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ps.png differ diff --git a/site_media/images/mimetypes/file_extension_psd.png b/site_media/images/mimetypes/file_extension_psd.png new file mode 100644 index 0000000000..b98ff86015 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_psd.png differ diff --git a/site_media/images/mimetypes/file_extension_pst.png b/site_media/images/mimetypes/file_extension_pst.png new file mode 100644 index 0000000000..4f5f61f424 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_pst.png differ diff --git a/site_media/images/mimetypes/file_extension_ptb.png b/site_media/images/mimetypes/file_extension_ptb.png new file mode 100644 index 0000000000..a3568dd4d5 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ptb.png differ diff --git a/site_media/images/mimetypes/file_extension_pub.png b/site_media/images/mimetypes/file_extension_pub.png new file mode 100644 index 0000000000..4a71c01b60 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_pub.png differ diff --git a/site_media/images/mimetypes/file_extension_qbb.png b/site_media/images/mimetypes/file_extension_qbb.png new file mode 100644 index 0000000000..24fc0ae534 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_qbb.png differ diff --git a/site_media/images/mimetypes/file_extension_qbw.png b/site_media/images/mimetypes/file_extension_qbw.png new file mode 100644 index 0000000000..162b0fb9b5 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_qbw.png differ diff --git a/site_media/images/mimetypes/file_extension_qxd.png b/site_media/images/mimetypes/file_extension_qxd.png new file mode 100644 index 0000000000..f5e46cff8a Binary files /dev/null and b/site_media/images/mimetypes/file_extension_qxd.png differ diff --git a/site_media/images/mimetypes/file_extension_ram.png b/site_media/images/mimetypes/file_extension_ram.png new file mode 100644 index 0000000000..a55ba848a1 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ram.png differ diff --git a/site_media/images/mimetypes/file_extension_rar.png b/site_media/images/mimetypes/file_extension_rar.png new file mode 100644 index 0000000000..934f18247f Binary files /dev/null and b/site_media/images/mimetypes/file_extension_rar.png differ diff --git a/site_media/images/mimetypes/file_extension_rm.png b/site_media/images/mimetypes/file_extension_rm.png new file mode 100644 index 0000000000..639e180215 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_rm.png differ diff --git a/site_media/images/mimetypes/file_extension_rmvb.png b/site_media/images/mimetypes/file_extension_rmvb.png new file mode 100644 index 0000000000..362ffdfce1 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_rmvb.png differ diff --git a/site_media/images/mimetypes/file_extension_rtf.png b/site_media/images/mimetypes/file_extension_rtf.png new file mode 100644 index 0000000000..cae2c95cff Binary files /dev/null and b/site_media/images/mimetypes/file_extension_rtf.png differ diff --git a/site_media/images/mimetypes/file_extension_sea.png b/site_media/images/mimetypes/file_extension_sea.png new file mode 100644 index 0000000000..d9906e2e0d Binary files /dev/null and b/site_media/images/mimetypes/file_extension_sea.png differ diff --git a/site_media/images/mimetypes/file_extension_ses.png b/site_media/images/mimetypes/file_extension_ses.png new file mode 100644 index 0000000000..b62459b768 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ses.png differ diff --git a/site_media/images/mimetypes/file_extension_sit.png b/site_media/images/mimetypes/file_extension_sit.png new file mode 100644 index 0000000000..629270d3f1 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_sit.png differ diff --git a/site_media/images/mimetypes/file_extension_sitx.png b/site_media/images/mimetypes/file_extension_sitx.png new file mode 100644 index 0000000000..4c7a0855e9 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_sitx.png differ diff --git a/site_media/images/mimetypes/file_extension_ss.png b/site_media/images/mimetypes/file_extension_ss.png new file mode 100644 index 0000000000..a3a1dbcf73 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ss.png differ diff --git a/site_media/images/mimetypes/file_extension_swf.png b/site_media/images/mimetypes/file_extension_swf.png new file mode 100644 index 0000000000..3de371311f Binary files /dev/null and b/site_media/images/mimetypes/file_extension_swf.png differ diff --git a/site_media/images/mimetypes/file_extension_tgz.png b/site_media/images/mimetypes/file_extension_tgz.png new file mode 100644 index 0000000000..b896b27673 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_tgz.png differ diff --git a/site_media/images/mimetypes/file_extension_thm.png b/site_media/images/mimetypes/file_extension_thm.png new file mode 100644 index 0000000000..0f6bbae201 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_thm.png differ diff --git a/site_media/images/mimetypes/file_extension_tif.png b/site_media/images/mimetypes/file_extension_tif.png new file mode 100644 index 0000000000..c7d4da88f7 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_tif.png differ diff --git a/site_media/images/mimetypes/file_extension_tmp.png b/site_media/images/mimetypes/file_extension_tmp.png new file mode 100644 index 0000000000..75e014ee90 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_tmp.png differ diff --git a/site_media/images/mimetypes/file_extension_torrent.png b/site_media/images/mimetypes/file_extension_torrent.png new file mode 100644 index 0000000000..6e8003c424 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_torrent.png differ diff --git a/site_media/images/mimetypes/file_extension_ttf.png b/site_media/images/mimetypes/file_extension_ttf.png new file mode 100644 index 0000000000..dda399e3df Binary files /dev/null and b/site_media/images/mimetypes/file_extension_ttf.png differ diff --git a/site_media/images/mimetypes/file_extension_txt.png b/site_media/images/mimetypes/file_extension_txt.png new file mode 100644 index 0000000000..1e7c12f801 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_txt.png differ diff --git a/site_media/images/mimetypes/file_extension_vcd.png b/site_media/images/mimetypes/file_extension_vcd.png new file mode 100644 index 0000000000..d066ecbbeb Binary files /dev/null and b/site_media/images/mimetypes/file_extension_vcd.png differ diff --git a/site_media/images/mimetypes/file_extension_vob.png b/site_media/images/mimetypes/file_extension_vob.png new file mode 100644 index 0000000000..2de5bed7d3 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_vob.png differ diff --git a/site_media/images/mimetypes/file_extension_wav.png b/site_media/images/mimetypes/file_extension_wav.png new file mode 100644 index 0000000000..a8d7b142d7 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_wav.png differ diff --git a/site_media/images/mimetypes/file_extension_wma.png b/site_media/images/mimetypes/file_extension_wma.png new file mode 100644 index 0000000000..e699f0baac Binary files /dev/null and b/site_media/images/mimetypes/file_extension_wma.png differ diff --git a/site_media/images/mimetypes/file_extension_wmv.png b/site_media/images/mimetypes/file_extension_wmv.png new file mode 100644 index 0000000000..98001f5451 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_wmv.png differ diff --git a/site_media/images/mimetypes/file_extension_wps.png b/site_media/images/mimetypes/file_extension_wps.png new file mode 100644 index 0000000000..0e7cbc05cc Binary files /dev/null and b/site_media/images/mimetypes/file_extension_wps.png differ diff --git a/site_media/images/mimetypes/file_extension_xls.png b/site_media/images/mimetypes/file_extension_xls.png new file mode 100644 index 0000000000..4a394e527d Binary files /dev/null and b/site_media/images/mimetypes/file_extension_xls.png differ diff --git a/site_media/images/mimetypes/file_extension_xpi.png b/site_media/images/mimetypes/file_extension_xpi.png new file mode 100644 index 0000000000..4ff58d7e42 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_xpi.png differ diff --git a/site_media/images/mimetypes/file_extension_zip.png b/site_media/images/mimetypes/file_extension_zip.png new file mode 100644 index 0000000000..3b1b54fd45 Binary files /dev/null and b/site_media/images/mimetypes/file_extension_zip.png differ diff --git a/site_media/images/mimetypes/unknown.png b/site_media/images/mimetypes/unknown.png new file mode 100644 index 0000000000..ec67eab033 Binary files /dev/null and b/site_media/images/mimetypes/unknown.png differ