Browse Source

Make 'flaskbb upgrade fixture' return correct number of settings changed

Fixes #345, where 'flaskbb upgrade fixture' would return the number of settings groups it touched where it should have returned the number of individual settings.
Toshiki Wulf 7 years ago
parent
commit
6c9ea4c8ee
2 changed files with 6 additions and 4 deletions
  1. 2 2
      flaskbb/cli/main.py
  2. 4 2
      flaskbb/utils/populate.py

+ 2 - 2
flaskbb/cli/main.py

@@ -225,8 +225,8 @@ def upgrade(all_latest, fixture, force):
         count = update_settings_from_fixture(
             fixture=settings, overwrite_group=force, overwrite_setting=force
         )
-        click.secho("[+] {} groups and {} settings updated.".format(
-            len(count.keys()), len(count.values())), fg="green"
+        click.secho("[+] {settings} settings in {groups} setting groups updated.".format(
+            groups=len(count), settings=sum([len(settings) for settings in count.values()])), fg="green"
         )
 
 

+ 4 - 2
flaskbb/utils/populate.py

@@ -130,8 +130,10 @@ def update_settings_from_fixture(fixture, overwrite_group=False,
                     )
 
                 setting.save()
-                updated_settings[group] = []
-                updated_settings[group].append(setting)
+                try:
+                    updated_settings[group].append(setting)
+                except KeyError:
+                    updated_settings[group] = [setting]
     return updated_settings