Thomas Adamcik
d9d501cd98
audio: Update scanner to just return tags+duration
...
The caller should know what URI we are talking about. Additionally finding the
mtime is never belonged in this class and has been moved out.
2014-12-18 23:28:19 +01:00
Thomas Adamcik
dcaa0f6732
local: Move musicbrainz cover art helper to translator
2014-12-18 23:28:14 +01:00
Thomas Adamcik
90fdd46109
local: Cleanup translator tests
2014-12-14 23:14:11 +01:00
Thomas Adamcik
671ee5ee6a
audio: Switch to using converted taglists instead of raw data.
2014-12-14 22:25:52 +01:00
Thomas Adamcik
2c3217685b
utils: Switch to exceptions.FindError for errors.
2014-12-14 14:08:45 +01:00
Stein Magnus Jodal
4e508cd017
mpd: Enable browsing of empty dirs
...
This was disabled together with a bunch of other changes without any
explanation in commit f24ca36e5a . I'm
guessing that this wasn't intentional, and no test covered the case.
2014-12-13 01:27:14 +01:00
Stein Magnus Jodal
4f428b8601
py3: Move compat module out of utils
2014-12-07 21:36:15 +01:00
Stein Magnus Jodal
7a1bb224f7
py3: Avoid indexing exception objects
...
It doesn't work on Python 3.
2014-12-07 20:26:09 +01:00
Stein Magnus Jodal
58527406c1
py3: Use compat.text_type instead of unicode
2014-12-07 20:17:10 +01:00
Stein Magnus Jodal
496142c201
py3: Use absolute imports by default
2014-12-07 20:17:10 +01:00
Thomas Kemmer
63277c4db3
Add unit tests for artist browsing
2014-11-04 19:22:45 +01:00
Thomas Adamcik
063c757570
utils/path: Add support for handling sym/hardlink loops
2014-10-15 23:46:08 +02:00
Thomas Adamcik
54a89038d3
utils/path: Don't skip hidden files and folders in generic find code
...
Updates the local scan code to do this instead.
2014-10-15 23:45:49 +02:00
Thomas Adamcik
9b1d20677d
tests: Cleanup find tests to use tempfile all over.
...
This should make it more clear what structure we expect.
2014-10-15 23:45:27 +02:00
Thomas Adamcik
69fa6f4674
tests: Test symlink that points to it's own parent.
2014-10-15 23:45:22 +02:00
Thomas Adamcik
93c0d6cc44
tests: Update no permission test to use tempfile.
2014-10-15 23:45:12 +02:00
Thomas Adamcik
b2419f9814
tests: Add test case for a symlink pointing at itself
2014-10-15 23:45:03 +02:00
Thomas Adamcik
ebb62885cd
util/path: Add basic support for following symlinks
2014-10-15 23:44:48 +02:00
Thomas Adamcik
682af27348
tests: Add test case for file without permissions.
2014-10-15 23:44:41 +02:00
Thomas Adamcik
d219bab0b2
tests: Add test for directory without permission behaviour
2014-10-15 23:44:01 +02:00
Thomas Adamcik
de5fe5ebab
tests: Add test for current find symlink handling
2014-10-15 23:43:13 +02:00
Thomas Adamcik
a8017dfef1
tests: Start adding checks for find errors
2014-10-15 23:42:36 +02:00
Thomas Adamcik
de4bdbec03
tests: Minor cleanup of the existing find tests
2014-10-15 23:42:15 +02:00
Thomas Adamcik
2447e2fa40
util/path: Expose errors to callers of find helper
2014-10-15 23:42:12 +02:00
Stein Magnus Jodal
7856c14b26
tests: Use with stmt for assertRaises
2014-09-25 23:03:35 +02:00
Stein Magnus Jodal
07d088fc18
models: Use with stmts in exception tests
2014-09-24 18:26:25 +02:00
Stein Magnus Jodal
5317834baf
history: Change size property to get_length() method
...
For consistency with tracklist.get_length() and our goal of aligning Python
and JS APIs by using less properties in the core API.
2014-09-23 18:47:54 +02:00
Stein Magnus Jodal
5a67339855
history: Cleanup history entry test
2014-09-23 18:47:39 +02:00
Stein Magnus Jodal
d30cf68efd
history: Raise TypeError if non-Tracks are added
2014-09-23 18:42:41 +02:00
Stein Magnus Jodal
718405421d
history: Rename class to HistoryController
...
For consistency with other core controllers.
2014-09-23 18:32:37 +02:00
Arjun Naik
c38b9f378f
Use assertIn instead of assertTrue to test membership.
2014-09-23 18:09:12 +02:00
Arjun Naik
9006968f75
TrackHistory stores Ref instances. Timestamp as epoch in milliseconds also stored.
2014-09-23 18:09:12 +02:00
Arjun Naik
ed87ab8dd1
Added a playback history object to the core.
2014-09-23 18:09:11 +02:00
Stein Magnus Jodal
1fcc75ba1e
Merge pull request #840 from tkem/feature/local-library-lookup-multiple
...
local: Return multiple tracks from lookup()
2014-09-23 14:14:22 +02:00
Stein Magnus Jodal
abed15b9e4
models: Make all fields default to None or empty collection
2014-09-22 22:25:42 +02:00
Stein Magnus Jodal
bdd1fb983b
models: Fix equality for fields set to the default
...
Fixes #837
2014-09-22 22:01:50 +02:00
Stein Magnus Jodal
305a76486d
models: Hide empty lists from repr()
2014-09-22 21:42:57 +02:00
Stein Magnus Jodal
f58fe9a192
py3: Replace xrange() with range()
2014-09-17 20:28:07 +02:00
Thomas Adamcik
d049b07fa9
Merge branch 'develop' into feature/audio-message-handler
2014-09-07 21:38:19 +02:00
Thomas Kemmer
806174916d
Change JsonLibrary.lookup to return a list
2014-09-05 05:35:18 +02:00
Stein Magnus Jodal
d41deb1844
Merge branch 'release/v0.19.x' into develop
...
Conflicts:
docs/changelog.rst
2014-09-01 23:17:00 +02:00
Stein Magnus Jodal
e1ab70e1e9
Bump version to 0.19.4
2014-09-01 23:08:59 +02:00
Thomas Kemmer
f90671fe96
Fixed flake8: I201 Missing newline between sections or imports
2014-08-30 14:10:39 +02:00
Thomas Kemmer
380223bb96
local: Return multiple tracks from lookup()
2014-08-30 14:02:43 +02:00
Stein Magnus Jodal
c50641230d
Merge branch 'release/v0.19.x' into develop
2014-08-29 14:03:11 +02:00
Stein Magnus Jodal
a244761abc
mpd: Replace / with | instead of whitespace in playlist names
2014-08-17 23:25:09 +02:00
Trygve Aaberge
15597b3c60
tests: Test call order in test_recv_callback_gets_no_data
2014-08-14 12:43:42 +02:00
Trygve Aaberge
265951bf00
network: disable_recv before telling actor to close connection
...
As of d62ad96 , when the connection can't receive more data from the
client, it tells the actor to stop the connection and calls
disable_recv(). The actor operates in it's own thread and when it stops
the connection, disable_recv is being called again from a different
thread. Since the actor is told to stop the connection before
disable_recv is called, the two calls to disable_recv may happen
simultaneously.
This causes a race condition issue where both threads can reach past the
check that recv_id is not None before either of them set it to None. If
one of them set it to None before the other one tries to use it, an
error is raised.
This commit calls disable_recv before telling the actor to stop the
connection. Since disable_recv is a blocking call, this ensures that
recv_id is being set to None before the actor thread begins to stop the
connection.
Fixes #781
2014-08-14 01:58:48 +02:00
Stein Magnus Jodal
ae3a932ed3
Merge branch 'release/v0.19.x' into develop
...
Conflicts:
mopidy/config/__init__.py
2014-08-12 23:54:14 +02:00
Thomas Adamcik
ac5bf9af17
audio: Move most of event handling out of audio.
...
Some of the signal handling still needs to be moved.
2014-08-11 22:33:49 +02:00