trivial: replace base64 deprecated methods (#46990)

This commit is contained in:
Frédéric Péters 2020-09-24 09:16:51 +02:00
parent 4051a3e013
commit 659243f9c7
11 changed files with 17 additions and 17 deletions

View File

@ -1428,8 +1428,8 @@ def test_formdata_with_workflow_data(pub, local_user):
assert resp.json['workflow']['data']['xxx'] == 23
assert resp.json['workflow']['data']['blah']['filename'] == 'test.txt'
assert resp.json['workflow']['data']['blah']['content_type'] == 'text/plain'
assert base64.decodestring(force_bytes(resp.json['workflow']['data']['blah']['content'])) == b'test'
assert base64.decodestring(force_bytes(resp.json['workflow']['data']['blah2']['content'])) == b'test'
assert base64.decodebytes(force_bytes(resp.json['workflow']['data']['blah']['content'])) == b'test'
assert base64.decodebytes(force_bytes(resp.json['workflow']['data']['blah2']['content'])) == b'test'
def test_user_by_nameid(pub, local_user):

View File

@ -4045,7 +4045,7 @@ def test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio(pub,
assert payload['file_name'] == 'template.pdf'
assert payload['user_email'] == 'foo@localhost'
assert payload['origin'] == 'example.net'
assert base64.decodestring(force_bytes(payload['file_b64_content'])).startswith(b'%PDF')
assert base64.decodebytes(force_bytes(payload['file_b64_content'])).startswith(b'%PDF')
assert caplog.records[-1].message.startswith("file 'template.pdf' pushed to portfolio of 'Foo")
assert resp.location == form_location + '#action-zone'
resp = resp.follow() # back to form page

View File

@ -226,7 +226,7 @@ def test_workflow_send_mail_template(pub, superuser, mail_templates_option, emai
pub.get_request().response.process_after_jobs()
assert emails.count() == 1
assert emails.get('test subject')['email_rcpt'] == ['xyz@localhost']
assert b'test body' in base64.decodestring(force_bytes(emails.get('test subject')['msg'].get_payload(0).get_payload()))
assert b'test body' in base64.decodebytes(force_bytes(emails.get('test subject')['msg'].get_payload(0).get_payload()))
# check nothing is sent and an error is logged if the mail template is
# missing

View File

@ -1041,7 +1041,7 @@ def test_register_comment_with_attachment_file(pub):
wf_data = {
'%s_filename' % ws_response_varname: 'hello.txt',
'%s_content_type' % ws_response_varname: 'text/plain',
'%s_b64_content' % ws_response_varname: base64.encodestring(b'hello world'),
'%s_b64_content' % ws_response_varname: base64.encodebytes(b'hello world'),
}
formdata.update_workflow_data(wf_data)
formdata.store()
@ -1431,7 +1431,7 @@ def test_email_attachments(pub, emails):
assert emails.emails['foobar']['msg'].get_payload()[0].get_content_type() == 'text/html'
assert emails.emails['foobar']['msg'].get_payload()[1].get_content_type() == 'image/jpeg'
assert emails.emails['foobar']['msg'].get_payload()[2].get_content_type() == 'text/plain'
assert base64.decodestring(force_bytes(emails.emails['foobar']['msg'].get_payload()[2].get_payload())) == b'blah'
assert base64.decodebytes(force_bytes(emails.emails['foobar']['msg'].get_payload()[2].get_payload())) == b'blah'
assert len(emails.emails['foobar']['msg'].get_payload()) == 3
emails.empty()
@ -3872,7 +3872,7 @@ def test_set_backoffice_field_file(http_requests, two_pubs):
assert formdata.data['bo1'].base_filename == 'test.jpeg'
assert formdata.data['bo1'].content_type == 'image/jpeg'
assert formdata.data['bo1'].get_content() == open(os.path.join(os.path.dirname(__file__), 'image-with-gps-data.jpeg'), 'rb').read()
assert formdata.data['bo1'].get_base64_content() == base64.encodestring(
assert formdata.data['bo1'].get_base64_content() == base64.encodebytes(
open(os.path.join(os.path.dirname(__file__), 'image-with-gps-data.jpeg'), 'rb').read())
# same test with PicklableUpload wcs.qommon.form

View File

@ -109,7 +109,7 @@ def check_http_basic_auth(api_name):
raise HttpResponse401Error(api_name, 'unhandled authorization header')
auth_header = auth_header.split(' ', 1)[1]
try:
username, password = force_text(base64.decodestring(force_bytes(auth_header))).split(':', 1)
username, password = force_text(base64.decodebytes(force_bytes(auth_header))).split(':', 1)
except ValueError: # invalid base64 or not enough values to unpack
raise HttpResponse401Error(api_name, 'invalid authorization header')
configured_password = get_publisher().get_site_option(

View File

@ -1128,7 +1128,7 @@ class FileField(WidgetField):
# b64_content key and a filename keys and an optional
# content_type key.
if 'b64_content' in value:
value['content'] = base64.decodestring(force_bytes(value['b64_content']))
value['content'] = base64.decodebytes(force_bytes(value['b64_content']))
if 'filename' in value and 'content' in value:
content_type = value.get('content_type') or 'application/octet-stream'
if content_type.startswith('text/'):

View File

@ -875,7 +875,7 @@ class FormDef(StorableObject):
filename = option_value['filename']
upload = Upload(filename, content_type=option_value['content_type'])
new_value = UploadedFile(get_publisher().app_dir, filename, upload)
new_value.set_content(base64.decodestring(force_bytes(option_value['content'])))
new_value.set_content(base64.decodebytes(force_bytes(option_value['content'])))
formdef.workflow_options[option_key] = new_value
if value.get('geolocations'):
@ -1128,7 +1128,7 @@ class FormDef(StorableObject):
filename = xml_node_text(option.find('filename'))
upload = Upload(filename, content_type=xml_node_text(option.find('content_type')))
option_value = UploadedFile(get_publisher().app_dir, filename, upload)
option_value.set_content(base64.decodestring(force_bytes(option.find('content').text)))
option_value.set_content(base64.decodebytes(force_bytes(option.find('content').text)))
formdef.workflow_options[option.attrib.get('varname')] = option_value
if tree.find('last_modification') is not None:

View File

@ -2245,7 +2245,7 @@ class PasswordEntryWidget(CompositeWidget):
required=kwargs.get('required', False),
autocomplete='off')
else:
encoded_value = force_text(base64.encodestring(force_bytes(json.dumps(value))))
encoded_value = force_text(base64.encodebytes(force_bytes(json.dumps(value))))
if value:
fake_value = '*' * 8
else:
@ -2289,7 +2289,7 @@ $(function() {
def _parse(self, request):
CompositeWidget._parse(self, request)
if request.form.get('%s$encoded' % self.name):
self.value = json_loads(base64.decodestring(
self.value = json_loads(base64.decodebytes(
force_bytes(request.form.get('%s$encoded' % self.name))))
return
pwd1 = self.get('pwd1') or ''

View File

@ -54,7 +54,7 @@ class HTTPRequest(quixote.http_request.HTTPRequest):
if auth_header.startswith('Basic '):
auth_header = auth_header.split(' ', 1)[1]
try:
username, password = force_text(base64.decodestring(force_bytes(auth_header))).split(':', 1)
username, password = force_text(base64.decodebytes(force_bytes(auth_header))).split(':', 1)
except (UnicodeDecodeError, ValueError):
# ValueError will catch both missing ":" (not enough values to
# unpack (expected 2, got 1)) and binascii.Error (incorrect

View File

@ -78,7 +78,7 @@ class PicklableUpload(Upload):
def get_base64_content(self):
content = self.get_content()
if content:
return base64.encodestring(content)
return base64.encodebytes(content)
return b''
def get_json_value(self, include_file_content=True):

View File

@ -603,7 +603,7 @@ class ExportToModel(WorkflowStatusItem):
el = ET.SubElement(xml_item, 'model_file')
ET.SubElement(el, 'base_filename').text = self.model_file.base_filename
ET.SubElement(el, 'content_type').text = self.model_file.content_type
ET.SubElement(el, 'b64_content').text = force_text(base64.encodestring(
ET.SubElement(el, 'b64_content').text = force_text(base64.encodebytes(
self.model_file.get_file().read()))
def model_file_init_with_xml(self, elem, charset, include_id=False):
@ -612,7 +612,7 @@ class ExportToModel(WorkflowStatusItem):
base_filename = elem.find('base_filename').text
content_type = elem.find('content_type').text
if elem.find('b64_content') is not None:
content = base64.decodestring(force_bytes(elem.find('b64_content').text or ''))
content = base64.decodebytes(force_bytes(elem.find('b64_content').text or ''))
if elem.find('content') is not None:
content = elem.find('content').text