def get_contents(self): db_id = Directory.get(Directory.key == self.key).id directories = Directory.select().where(Directory.parent_directory == db_id) has_probes = False try: has_probes = Directory.get(Directory.key == directories .first().key).images.first() except: pass if has_probes: directories = [DirectoryTree(d.name, d.key).get_contents() for d in directories] self.directories = [d.serialized for d in directories] else: self.directories = [DirectoryTree(d.name, d.key).serialized for d in directories] self.images = [image.serialized for image in Image.select().where(Image.directory == db_id)] if self.images: stack_title = self.key[:-1] try: stack_id = Stack.get(Stack.title == stack_title).id except models.DoesNotExist: images = Image.select().where(Image.directory == db_id) stack = models.Stack.create(title=stack_title) for image in images: try: models.StackImage.create(stack=stack, image = image.id) except Exception as ex: print ex stack_id = stack.id self.stack_id = stack_id return self