def test_search(self): genre, created = Genre.from_dict({"name": "Science Fiction"}) self.assertTrue(created) self.assertIsNotNone(genre.id) genre, created = Genre.from_dict({"name": "Romance"}) self.assertTrue(created) self.assertIsNotNone(genre.id) genre, created = Genre.from_dict({"name": "Fiction"}) self.assertTrue(created) self.assertIsNotNone(genre.id) self.assertEquals(3, Genre.objects.all().count()) self.assertEquals(2, Genre.search("fiction").count()) self.assertEquals(2, Genre.search("ce").count())
def _genre(args, file: TextIO = sys.stdout): genre: Optional[Genre] = None if args.subparser == "add": genre, created = Genre.from_dict({"name": args.name}) if created: stdout.write( _('Successfully added genre "%(name)s" with id "%(pk)d".') % {"name": genre.name, "pk": genre.pk}, "=", ) genre.print(file) else: stdout.write( _('The genre "%(name)s" already exists with id "%(pk)d", aborting...') % {"name": genre.name, "pk": genre.pk}, "", ) elif args.subparser == "delete": genre = Genre.get(args.genre) if genre: genre.delete() stdout.write( _('Successfully deleted genre with id "%(pk)d".') % {"pk": genre.pk}, "" ) else: stdout.write(_("No genre found."), "") elif args.subparser == "edit": genre = Genre.get(args.genre) if genre: genre.edit(args.field, args.value) stdout.write( _('Successfully edited genre "%(name)s" with id "%(pk)d".') % {"name": genre.name, "pk": genre.pk}, "", ) genre.print(file) else: stdout.write(_("No genre found."), "") elif args.subparser == "info": genre = Genre.get(args.genre) if genre: genre.print(file) else: stdout.write(_("No genre found."), "") elif args.subparser == "list": if args.search: genres = Genre.search(args.search) else: genres = Genre.objects.all() stdout.write([_("Id"), _("Name")], "=", [0.05], file=file) for i, has_next in lookahead(genres): stdout.write([i.id, i.name], "_" if has_next else "=", [0.05], file=file)