| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """ |
| This file provides some additional globals/filters for processing the |
| file_types_data.js templates. |
| """ |
| |
| |
| def _get_extension_to_type_map(file_types): |
| """ |
| Gets the extestension to file type mapping from the |file_types| data. |
| |
| Args: |
| file_types: file types data loaded from the JSON file. |
| Returns: |
| A extension -> file type mapping. |
| """ |
| extension_to_type = dict() |
| for file_type in file_types: |
| for file_ext in file_type['extensions']: |
| if file_ext not in extension_to_type: |
| extension_to_type[file_ext] = file_type |
| return extension_to_type |
| |
| |
| def _get_mime_to_type_map(file_types): |
| """ |
| Gets the mime type to file type mapping from the |file_types| data. |
| |
| Args: |
| file_types: file types data loaded from the JSON file. |
| Returns: |
| A mime -> file type mapping. |
| """ |
| mime_to_type = dict() |
| for file_type in file_types: |
| if 'mime' in file_type and file_type['mime'] not in mime_to_type: |
| mime_to_type[file_type['mime']] = file_type |
| return mime_to_type |
| |
| |
| def get_custom_globals(model): |
| return { |
| 'extension_to_type_map': |
| _get_extension_to_type_map(model['file_types']), |
| 'mime_to_type_map': _get_mime_to_type_map(model['file_types']) |
| } |
| |
| |
| def get_custom_filters(model): |
| return {} |