0001-misc-add-rename_file-filter-51484.patch
tests/test_workflows.py | ||
---|---|---|
4815 | 4815 |
assert b'JFIF' in formdata.data['bo1'].get_content() |
4816 | 4816 |
assert b'<exif:XResolution>' not in formdata.data['bo1'].get_content() |
4817 | 4817 | |
4818 |
# check |rename_file filter |
|
4819 |
formdata = formdef.data_class()() |
|
4820 |
formdata.data = {'00': upload} |
|
4821 |
formdata.just_created() |
|
4822 |
formdata.store() |
|
4823 | ||
4824 |
two_pubs.substitutions.feed(formdata) |
|
4825 |
item.fields = [{'field_id': 'bo1', 'value': '{{form_var_file|rename_file:"foobar.jpeg"}}'}] |
|
4826 |
item.perform(formdata) |
|
4827 | ||
4828 |
assert formdata.data['bo1'].base_filename == 'foobar.jpeg' |
|
4829 |
assert formdata.data['bo1'].content_type == 'image/jpeg' |
|
4830 |
assert formdata.data['bo1'].get_content() == image_with_gps_data |
|
4831 | ||
4832 |
formdata = formdef.data_class()() |
|
4833 |
formdata.data = {'00': upload} |
|
4834 |
formdata.just_created() |
|
4835 |
formdata.store() |
|
4836 | ||
4837 |
two_pubs.substitutions.feed(formdata) |
|
4838 |
item.fields = [{'field_id': 'bo1', 'value': '{{form_var_file|rename_file:"foobar.$ext"}}'}] |
|
4839 |
item.perform(formdata) |
|
4840 | ||
4841 |
assert formdata.data['bo1'].base_filename == 'foobar.jpeg' |
|
4842 |
assert formdata.data['bo1'].content_type == 'image/jpeg' |
|
4843 |
assert formdata.data['bo1'].get_content() == image_with_gps_data |
|
4844 | ||
4818 | 4845 |
# check with a template string, into a string field |
4819 | 4846 |
two_pubs.substitutions.feed(formdata) |
4820 | 4847 |
item.fields = [{'field_id': 'bo2', 'value': '{{form_var_file}}'}] |
wcs/qommon/templatetags/qommon.py | ||
---|---|---|
18 | 18 |
import hashlib |
19 | 19 |
import io |
20 | 20 |
import math |
21 |
import os |
|
21 | 22 |
import random |
22 | 23 |
import string |
23 | 24 |
import unicodedata |
... | ... | |
820 | 821 |
return unlazy(value).strip_metadata() |
821 | 822 | |
822 | 823 | |
824 |
@register.filter |
|
825 |
def rename_file(value, new_name): |
|
826 |
from wcs.fields import FileField |
|
827 | ||
828 |
file_object = FileField.convert_value_from_anything(value) |
|
829 |
if new_name.endswith('.$ext'): |
|
830 |
new_name = os.path.splitext(new_name)[0] + os.path.splitext(file_object.base_filename)[1] |
|
831 |
file_object.orig_filename = new_name |
|
832 |
file_object.base_filename = new_name |
|
833 |
return file_object |
|
834 | ||
835 | ||
823 | 836 |
@register.filter(name='list') |
824 | 837 |
def list_(value): |
825 | 838 |
# turn a generator into a list |
826 |
- |