|
@@ -12,41 +12,46 @@ from misago.core.management.progressbar import show_progress
|
|
|
|
|
|
|
|
|
class Command(BaseCommand):
|
|
|
- help = 'Creates random fakey categories for testing purposes'
|
|
|
+ help = "Creates fake categories for dev and testing purposes."
|
|
|
+
|
|
|
+ def add_arguments(self, parser):
|
|
|
+ parser.add_argument(
|
|
|
+ 'categories',
|
|
|
+ help="number of categories to create",
|
|
|
+ nargs='?',
|
|
|
+ type=int,
|
|
|
+ default=5
|
|
|
+ )
|
|
|
+
|
|
|
+ parser.add_argument(
|
|
|
+ 'minlevel',
|
|
|
+ help="min. level of created categories",
|
|
|
+ nargs='?',
|
|
|
+ type=int,
|
|
|
+ default=0
|
|
|
+ )
|
|
|
|
|
|
def handle(self, *args, **options):
|
|
|
- try:
|
|
|
- fake_cats_to_create = int(args[0])
|
|
|
- except IndexError:
|
|
|
- fake_cats_to_create = 5
|
|
|
- except ValueError:
|
|
|
- self.stderr.write("\nOptional argument should be integer.")
|
|
|
- sys.exit(1)
|
|
|
+ items_to_create = options['categories']
|
|
|
+ min_level = options['minlevel']
|
|
|
|
|
|
categories = Category.objects.all_categories(True)
|
|
|
|
|
|
- try:
|
|
|
- min_level = int(args[1])
|
|
|
- except (IndexError):
|
|
|
- min_level = 0
|
|
|
- except ValueError:
|
|
|
- self.stderr.write("\nSecond optional argument should be integer.")
|
|
|
- sys.exit(1)
|
|
|
-
|
|
|
copy_acl_from = list(Category.objects.all_categories())[0]
|
|
|
|
|
|
categories = categories.filter(level__gte=min_level)
|
|
|
fake = Factory.create()
|
|
|
|
|
|
message = 'Creating %s fake categories...\n'
|
|
|
- self.stdout.write(message % fake_cats_to_create)
|
|
|
+ self.stdout.write(message % items_to_create)
|
|
|
|
|
|
message = '\n\nSuccessfully created %s fake categories in %s'
|
|
|
|
|
|
created_count = 0
|
|
|
start_time = time.time()
|
|
|
- show_progress(self, created_count, fake_cats_to_create)
|
|
|
- for i in range(fake_cats_to_create):
|
|
|
+ show_progress(self, created_count, items_to_create)
|
|
|
+
|
|
|
+ while created_count < items_to_create:
|
|
|
parent = random.choice(categories)
|
|
|
|
|
|
new_category = Category()
|
|
@@ -79,7 +84,7 @@ class Command(BaseCommand):
|
|
|
|
|
|
created_count += 1
|
|
|
show_progress(
|
|
|
- self, created_count, fake_cats_to_create, start_time)
|
|
|
+ self, created_count, items_to_create, start_time)
|
|
|
|
|
|
acl_version.invalidate()
|
|
|
|