Browse Source

Fix encoding of metadata values containing special characters

master
JustAnotherArchivist 3 weeks ago
parent
commit
186e71a46c
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      ia-upload-stream

+ 2
- 1
ia-upload-stream View File

@@ -23,6 +23,7 @@ try:
except ImportError:
tqdm = None
import types
import urllib.parse


logger = logging.getLogger()
@@ -87,7 +88,7 @@ def metadata_to_headers(metadata):
if isinstance(metadata, dict):
metadata = metadata.items()
for key, value in metadata:
headers[f'x-archive-meta{counters[key]:02d}-{key.replace("_", "--")}'] = value.encode('utf-8')
headers[f'x-archive-meta{counters[key]:02d}-{key.replace("_", "--")}'] = f'uri({urllib.parse.quote(value.encode("utf-8"))})'
counters[key] += 1
return headers



Loading…
Cancel
Save