Browse Source

Don't send -1 as profile count

The server gives an error about this and we got complaints about it. As far as we know this can only happen when users mess with their profile folders. Still, it's good to not send -1. The original implementation of this is indeed very naive, but we don't have the resources to refactor that now.
Ghostkeeper 4 years ago
parent
commit
c7b960edfa
1 changed files with 3 additions and 3 deletions
  1. 3 3
      cura/Backups/Backup.py

+ 3 - 3
cura/Backups/Backup.py

@@ -64,9 +64,9 @@ class Backup:
         files = archive.namelist()
 
         # Count the metadata items. We do this in a rather naive way at the moment.
-        machine_count = len([s for s in files if "machine_instances/" in s]) - 1
-        material_count = len([s for s in files if "materials/" in s]) - 1
-        profile_count = len([s for s in files if "quality_changes/" in s]) - 1
+        machine_count = max(len([s for s in files if "machine_instances/" in s]) - 1, 0)  # If people delete their profiles but not their preferences, it can still make a backup, and report -1 profiles. Server crashes on this.
+        material_count = max(len([s for s in files if "materials/" in s]) - 1, 0)
+        profile_count = max(len([s for s in files if "quality_changes/" in s]) - 1, 0)
         plugin_count = len([s for s in files if "plugin.json" in s])
 
         # Store the archive and metadata so the BackupManager can fetch them when needed.