示例#1
0
    def handle(self, *args, **options):

        exists = 0
        update = 0
        insert = 0

        if len(args) > 0:
            dirpath = abspath(args[0])
        else:
            return "missing path, please add path to lookup\n"

        if not isdir(dirpath):
            return "path %s does not exists\n" % dirpath

        for fpath in importdir(dirpath):
            tags = checkid3(fpath)
            if tags is not None:
                sig = sigfile(fpath)
                exsong = Song.objects.filter(uniq=sig)

                if len(exsong) > 0:
                    if exsong[0].filename != fpath:
                        self._updatesong(exsong[0], fpath)
                        update += 1
                    else:
                        self._donothing(exsong[0])
                        exists += 1
                else:
                    self._createsong(tags, sig, fpath)
                    insert += 1

        self.stdout.write("%d songs already present db\n" % exists)
        self.stdout.write("%d songs path updated in db\n" % update)
        self.stdout.write("%d songs inserted in db\n" % insert)
示例#2
0
    def handle(self, *args, **options):

        exists = 0
        errors = 0
        update = 0
        insert = 0

        if len(args) > 0:
            dirpath = abspath(args[0])
        else:
            return "missing path, please add path to lookup\n"

        if not isdir(dirpath):
            return "path %s does not exists\n" % dirpath

        for fpath in importdir(dirpath):
            result = importsong(fpath)
            if result.startswith('[I]'):
                insert += 1
            elif result.startswith('[U]'):
                update += 1
            elif result.startswith('[X]'):
                exists += 1
            else:
                errors += 1

            self.stdout.write(result)

        self.stdout.write("%d songs already present db\n" % exists)
        self.stdout.write("%d songs path updated in db\n" % update)
        self.stdout.write("%d songs inserted in db\n" % insert)
        self.stdout.write("%d songs in error\n" % errors)
示例#3
0
    def test_importdir_notexists(self):
        """
        Return an array of files path
        """
        rtpath = path.dirname(__file__)
        first = path.join(rtpath,
                          'this_dir_does_ot_exists')

        datas = importdir(first)

        self.assertEqual(datas, [])
示例#4
0
    def test_importdir(self):
        """
        Return an array of files path
        """
        rtpath = path.dirname(__file__)
        first = path.join(rtpath,
                          'samples')

        datas = importdir(first)

        atnd = [path.join(rtpath, 'samples', 'notagg.ogg'),
                path.join(rtpath, 'samples', 'second', 'test2.ogg'),
                path.join(rtpath, 'samples', 'first', 'test.ogg')]

        self.assertEqual(datas.sort(), atnd.sort())