예제 #1
0
    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())
예제 #2
0
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)