mirror of
https://github.com/beetbox/beets.git
synced 2026-02-22 23:33:50 +01:00
Merge pull request #1443 from CodyReichert/master
MPDStats Plugin: handle update_rating when item is None / start tests for mpdstats
This commit is contained in:
commit
494d32833f
4 changed files with 58 additions and 1 deletions
|
|
@ -201,8 +201,12 @@ class MPDStats(object):
|
|||
displayable_path(item.path))
|
||||
|
||||
def update_rating(self, item, skipped):
|
||||
"""Update the rating for a beets item.
|
||||
"""Update the rating for a beets item. The `item` can either be a
|
||||
beets `Item` or None. If the item is None, nothing changes.
|
||||
"""
|
||||
if item is None:
|
||||
return
|
||||
|
||||
item.load()
|
||||
rating = self.rating(
|
||||
int(item.get('play_count', 0)),
|
||||
|
|
|
|||
1
setup.py
1
setup.py
|
|
@ -105,6 +105,7 @@ setup(
|
|||
'responses',
|
||||
'pyxdg',
|
||||
'pathlib',
|
||||
'python-mpd',
|
||||
],
|
||||
|
||||
# Plugin (optional) dependencies:
|
||||
|
|
|
|||
51
test/test_mpdstats.py
Normal file
51
test/test_mpdstats.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# This file is part of beets.
|
||||
# Copyright 2015
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
|
||||
from __future__ import (division, absolute_import, print_function,
|
||||
unicode_literals)
|
||||
|
||||
|
||||
from mock import Mock
|
||||
from test._common import unittest
|
||||
from test.helper import TestHelper
|
||||
|
||||
from beets.library import Item
|
||||
from beetsplug.mpdstats import MPDStats
|
||||
|
||||
|
||||
class MPDStatsTest(unittest.TestCase, TestHelper):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins('mpdstats')
|
||||
|
||||
def tearDown(self):
|
||||
self.teardown_beets()
|
||||
self.unload_plugins()
|
||||
|
||||
def test_update_rating(self):
|
||||
item = Item(title='title', path='', id=1)
|
||||
item.add(self.lib)
|
||||
|
||||
log = Mock()
|
||||
mpdstats = MPDStats(self.lib, log)
|
||||
|
||||
self.assertFalse(mpdstats.update_rating(item, True))
|
||||
self.assertFalse(mpdstats.update_rating(None, True))
|
||||
|
||||
|
||||
def suite():
|
||||
return unittest.TestLoader().loadTestsFromName(__name__)
|
||||
|
||||
if __name__ == b'__main__':
|
||||
unittest.main(defaultTest='suite')
|
||||
1
tox.ini
1
tox.ini
|
|
@ -19,6 +19,7 @@ deps =
|
|||
pathlib
|
||||
pyxdg
|
||||
jellyfish
|
||||
python-mpd
|
||||
commands =
|
||||
nosetests {posargs}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue