mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 11:17:49 -06:00
Fixes for archiving paths in backup, fake meta data
This commit is contained in:
parent
ce0c14451f
commit
a4882d8f83
1 changed files with 10 additions and 7 deletions
|
@ -35,9 +35,13 @@ class Backup:
|
||||||
|
|
||||||
self.zip_file = archive
|
self.zip_file = archive
|
||||||
self.meta_data = {
|
self.meta_data = {
|
||||||
"cura_release": cura_release
|
"cura_release": cura_release,
|
||||||
|
"machine_count": 0,
|
||||||
|
"material_count": 0,
|
||||||
|
"profile_count": 0,
|
||||||
|
"plugin_count": 0
|
||||||
}
|
}
|
||||||
# TODO: fill meta data with machine/material/etc counts.
|
# TODO: fill meta data with real machine/material/etc counts.
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _makeArchive(root_path: str) -> Optional[bytes]:
|
def _makeArchive(root_path: str) -> Optional[bytes]:
|
||||||
|
@ -46,7 +50,6 @@ class Backup:
|
||||||
:param root_path: The root directory to archive recursively.
|
:param root_path: The root directory to archive recursively.
|
||||||
:return: The archive as bytes.
|
:return: The archive as bytes.
|
||||||
"""
|
"""
|
||||||
parent_folder = os.path.dirname(root_path)
|
|
||||||
contents = os.walk(root_path)
|
contents = os.walk(root_path)
|
||||||
try:
|
try:
|
||||||
buffer = io.BytesIO()
|
buffer = io.BytesIO()
|
||||||
|
@ -55,13 +58,13 @@ class Backup:
|
||||||
for folder_name in folders:
|
for folder_name in folders:
|
||||||
# Add all folders, even empty ones.
|
# Add all folders, even empty ones.
|
||||||
absolute_path = os.path.join(root, folder_name)
|
absolute_path = os.path.join(root, folder_name)
|
||||||
relative_path = absolute_path.replace(parent_folder + '\\', '')
|
relative_path = absolute_path[len(root_path) + len(os.sep):]
|
||||||
archive.write(relative_path)
|
archive.write(absolute_path, relative_path)
|
||||||
for file_name in files:
|
for file_name in files:
|
||||||
# Add all files.
|
# Add all files.
|
||||||
absolute_path = os.path.join(root, file_name)
|
absolute_path = os.path.join(root, file_name)
|
||||||
relative_path = absolute_path.replace(parent_folder + '\\', '')
|
relative_path = absolute_path[len(root_path) + len(os.sep):]
|
||||||
archive.write(relative_path)
|
archive.write(absolute_path, relative_path)
|
||||||
archive.close()
|
archive.close()
|
||||||
return buffer.getvalue()
|
return buffer.getvalue()
|
||||||
except (IOError, OSError, BadZipfile) as error:
|
except (IOError, OSError, BadZipfile) as error:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue