Zip File Breaks with python 3.10 Beta

here’s a working version:



@anvil.server.callable
def make_zip_remote(file, zip_file_name):
    if not zip_file_name.endswith(".zip"):
        zip_file_name += ".zip"

    with tempfile.TemporaryDirectory() as temp_dir:
        with anvil.media.TempFile(file) as f_name:
            shutil.copy(f_name, temp_dir + "/" + file.name)

        with anvil.media.TempFile() as z_name:
            my_zip = shutil.make_archive(z_name, 'zip', root_dir=temp_dir)
            tmp_file = anvil.media.from_file(my_zip, 'application/zip', zip_file_name)
            app_tables.files.add_row(file=tmp_file)


2 Likes