0002-base-prevent-leak-of-opened-fieldfile-in-export_json.patch
passerelle/base/models.py | ||
---|---|---|
370 | 370 |
if isinstance(field, BASE_EXPORT_FIELDS): |
371 | 371 |
d[field.name] = value |
372 | 372 |
elif isinstance(field, models.FileField): |
373 |
if value: |
|
374 |
d[field.name] = { |
|
375 |
'name': os.path.basename(value.name), |
|
376 |
'content': force_str(base64.b64encode(value.read())), |
|
377 |
} |
|
373 |
if value.name: |
|
374 |
with value as fd: |
|
375 |
d[field.name] = { |
|
376 |
'name': os.path.basename(value.name), |
|
377 |
'content': force_str(base64.b64encode(fd.read())), |
|
378 |
} |
|
378 | 379 |
else: |
379 | 380 |
d[field.name] = None |
380 | 381 |
elif isinstance(field, SFTPField): |
381 |
- |