예제 #1
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)
예제 #2
0
    def test_get(self):
        genre, created = Genre.from_dict({"name": "Science Fiction"})
        self.assertTrue(created)
        self.assertIsNotNone(genre.id)

        genre2 = Genre.get("Science Fiction")
        self.assertIsNotNone(genre2)
        self.assertEquals(genre, genre2)

        genre2 = Genre.get("fiction")
        self.assertIsNotNone(genre2)
        self.assertEquals(genre, genre2)

        genre2 = Genre.get(str(genre.id))
        self.assertIsNotNone(genre2)
        self.assertEquals(genre, genre2)