Commit Graph

5109 Commits

Author SHA1 Message Date
Thomas Adamcik
09c0ae2551 local: Add flush threshold to scanner.
Instead of triggering every 1000th query, this is now configurable and also
triggers the flush call to the library.
2013-12-30 01:31:00 +01:00
Thomas Adamcik
36e9b43e6c local: Update local library interface.
Refactored interface to incorperate lessons learned so far trying to implemend
a whoosh based local library.

Search now has a limit and an offset to account for fact that we need to start
doing pagination of results properly. Updates now have begin, flush and close
calls. Additionally I've added clear method to allow for easily nuking the data
store.
2013-12-30 01:17:33 +01:00
Thomas Adamcik
60112d7c6f Merge branch 'develop' into feature/extension-registry 2013-12-30 00:37:17 +01:00
Thomas Adamcik
cd261f9aaa Merge pull request #621 from jodal/feature/ref-model
models: Add lightweight Ref model with URI, name, and type
2013-12-29 14:57:18 -08:00
Stein Magnus Jodal
d3dcceefc5 models: Add description of Ref model 2013-12-29 21:08:46 +01:00
Stein Magnus Jodal
e87d5729e3 models: Add lightweight Ref model with URI, name, and type 2013-12-29 19:31:14 +01:00
Stein Magnus Jodal
7bb533a6b5 docs: Add note about public APIs and API stability 2013-12-29 15:38:41 +01:00
Stein Magnus Jodal
12d473ced6 zeroconf: Make public API with docs 2013-12-29 15:38:20 +01:00
Stein Magnus Jodal
4758a0ac12 tools: Remove unused dev tools 2013-12-29 15:04:47 +01:00
Stein Magnus Jodal
413d539a7b py3: Use print() function 2013-12-28 19:23:04 +01:00
Thomas Adamcik
40af4c5f9e local: Review comments 2013-12-28 00:17:31 +01:00
Thomas Adamcik
565b3aeb98 audio: Workaround fact that genre can sometimes be a list 2013-12-28 00:06:16 +01:00
Thomas Adamcik
0f671516ed local: Make sure excluded file extension case does not error out 2013-12-28 00:00:10 +01:00
Stein Magnus Jodal
414708b405 docs: Move images out of the _static dir
Sphinx copies the images to _images when the docs are built. Thus the
mopidy-docs debian package contains two copies of all images; one in _static
and one in _images. By keeping the images next to the source documents we only
get the _images copy included in the Debian package, reducing the package size
by 1.5MB.
2013-12-27 13:44:06 +01:00
Stein Magnus Jodal
fbd307bbf6 docs: Update mock to support glib.get_{system,user}_config_dir{s,} 2013-12-27 13:40:17 +01:00
Thomas Adamcik
ba642aa680 local: Update scanner to use new library interface. 2013-12-24 00:57:57 +01:00
Thomas Adamcik
ff57439995 local: Update library interface
- Add track iterator for use in scanner
- Update lookup to only return a single track
2013-12-24 00:54:02 +01:00
Thomas Adamcik
d93d3e6fcd local: Add local/library config value
- Updated library provider to support missing library
- Added config value to select local library provider
- Updated tests to use library config value
2013-12-24 00:22:58 +01:00
Thomas Adamcik
e065f349db local: Add local library provider back
- Re-add a local library provider that uses our new library interface
- Re-add our json library using the new interface
- Hardcode these to use each other for now
- Scanner bit is still missing, will re-add in one of the next commits
- Bypassed test for #500 for the time being
2013-12-23 23:43:04 +01:00
Thomas Adamcik
7e063774b3 local: Remove local-json as a split out extension.
Will be re-added using the new library interface. This commit does break tests.
2013-12-23 22:22:14 +01:00
Thomas Adamcik
4c0b54317b local: Add new library interface to local backend.
This forms the basis of our plugable local libraries that we intend to ship.
2013-12-23 22:16:03 +01:00
Thomas Adamcik
8a94d81c42 ext: Move away from global registry to ease testing.
Extension's setup method are now passed the active registry allowing them to
"steal" a list of the registry items they care about. In the case of commands
the registry is passed via args.registry.
2013-12-23 21:46:24 +01:00
Thomas Adamcik
353782e2c8 local: Add local/data_dir config value.
Not in use yet but, needed for future changes planed in this branch.
2013-12-23 21:40:35 +01:00
Thomas Adamcik
decce4ccf6 ext: Add basic global registry and switch to Extension.setup() 2013-12-22 15:11:15 +01:00
Thomas Adamcik
0d7fea0a43 ext: Convert commands to use new registry system.
Creates a placeholder registry using the existing hooks, and updates the
commands to use these. The actual registry still needs to be created.
2013-12-22 15:11:15 +01:00
Stein Magnus Jodal
0ffeb2710b docs: Fix typo 2013-12-21 21:25:31 +01:00
Stein Magnus Jodal
ef596ae391 docs: Link to PyPI instead of Crate.io which has been discontinued 2013-12-21 21:25:16 +01:00
Thomas Adamcik
9a7f3a91ad Merge pull request #615 from adamcik/feature/xdg_config_dirs
Add $XDG_CONFIG_DIRS to default config search path.
2013-12-19 15:15:36 -08:00
Thomas Adamcik
0bbfaff085 docs: Fix typo in changelog 2013-12-20 00:14:02 +01:00
Thomas Adamcik
279618fcde commands: Remove print statement 2013-12-19 23:42:33 +01:00
Thomas Adamcik
2a57190d7a docs: Update change log with XDG_CONFIG_DIRS change 2013-12-19 22:13:17 +01:00
Thomas Adamcik
89638e55d6 flags: use $XDG_CONFIG_DIRS and $XDG_CONFIG_HOME as defaults
This does not add support for '$XDG_CONFIG_DIRS' expansion, it just makes the
default include what it is set to.
2013-12-19 22:10:12 +01:00
Paul Connolley
26b8490672 Updated the test process for mopidy.js
Following on from the previous issue #609 commits, I have updated the
build process to cater to the fact that the files are no longer
available to test in the browser environment.

2 new browserify tasks build the mopidy.js file and then when.js file
(available in node_modules.) These files are placed in test/lib/ (This
directory has been added to the .gitignore file) prior to the running of
the buster tests. As these files are ignored in the .gitignore, this
will prevent them from being committed to git and also prevent them from
being packaged up to npm.

Once the tests have completed, the main browserify task will run to
build the official browser release.
2013-12-17 16:52:35 +00:00
Paul Connolley
a83b71239b Update test so that it correctly requires the mopidy module
As part of issue #609, the require statement in mopidy-test.js should
have been updated as the API to require mopidy has changed from:

    require('mopidy').Mopidy;

to:

    require('mopidy');
2013-12-17 08:57:44 +00:00
Stein Magnus Jodal
147c304ee8 docs: Update authors 2013-12-15 22:52:07 +01:00
Stein Magnus Jodal
3859448e06 core: Test version property, fix typo in changelog 2013-12-15 22:49:33 +01:00
Stein Magnus Jodal
77dd40b3d0 Merge remote-tracking branch 'kingosticks/feature/expose-version-to-api' into develop 2013-12-15 22:45:49 +01:00
Stein Magnus Jodal
b0b2e37950 docs: Include API docs for the Core class 2013-12-15 21:41:00 +01:00
Stein Magnus Jodal
7b667028e1 docs: Unbreak docs building 2013-12-15 21:38:48 +01:00
kingosticks
69b1f5e270 get_version changelog entry 2013-12-15 20:38:45 +00:00
kingosticks
9f93fbaa36 property for get_version and documented 2013-12-15 20:37:41 +00:00
kingosticks
e1bb03789b expose mopidy version to core API 2013-12-15 18:50:05 +00:00
Paul Connolley
418e5689dc Preliminary commit for browserify compatibility
This is the first stage of my commits for issue #609 that will make the
npm module browserify friendly and browser friendly.

The grunt-browserify module has been introduced to replace
grunt-contrib-concat. Browserify automatically concatenates files and so
there is no need for a concat step.

The faye-websocket module was problematic so I moved the require out to
a separate module within the lib directory. The websocket module is a
folder containing a package.json, directing library consumers to the
entry point that is appropriate for their environment. Browserify picks
browser.js (which simply returns an object holding window.WebSocket)
while everyone else gets the faye-websocket module.

In addition, as browserify handles all the requires, there's no need to
detect the environment or include any pre-built modules. I've removed
the pre-built when and faye-websocket files in favour of letting
browserify use the modules within node_modules. This should make it
easier to maintain dependencies in future versions of this library.

One side effect of this browserify compatibility is that, in order to
allow the library to be globally available in the browser as `Mopidy`,
I've had to set Mopidy as the exported object instead of as a key of the
exported object. To elaborate further, the current API would be like the
following:

    var Mopidy = require('mopidy').Mopidy;

However, with this change, the API would be like this:

    var Mopidy = require('mopidy');

I'm not sure whether this would be an issue and so I think it's worth
discussing further. It's possible that node developers won't have a
problem but, if they did, a potential workaround within the mopidy.js
file would be:

   Mopidy.Mopidy = Mopidy;

This would allow developers to choose either of the following:

    var Mopidy = require('mopidy');
    var Mopidy = require('mopidy').Mopidy;

Could be a little odd to do this though

When testing the browserify build, I noticed a strange error thrown when
making the initial websocket connection. I managed to track it down to
an IE 'feature' that crops up when you alias in-built functions. In
particular, the when module was aliasing setImmediate to an internal
function (nextTick.) In a newer version of when, the function is
instead aliased to the browserify process.nextTick. This works well
because substack already had that covered.

With when@2.7.0, IE11 appears to be working well. IE10 is still pending
a test.
2013-12-15 01:52:24 +00:00
Stein Magnus Jodal
1bdc941b9c Merge master into develop 2013-12-10 09:34:21 +01:00
Stein Magnus Jodal
1f27ef2929 Merge pull request #607 from jeremybmerrill/patch-2
replaces outdated option --show-config with correct `mopidy config` in docs
2013-12-10 00:34:06 -08:00
Thomas Kemmer
9bf7e39425 fix flake8 error E302 2013-12-10 06:57:16 +01:00
Jeremy B. Merrill
4e5431c77a replaces outdated option --show-config with correct mopidy config in docs 2013-12-09 19:27:41 -05:00
Thomas Kemmer
584dc1eaf6 add playlists test for writing EXTM3U files 2013-12-09 16:13:05 +01:00
Thomas Kemmer
a7b5e455a0 fix writing of runtime to EXTM3U 2013-12-09 16:12:46 +01:00
Thomas Kemmer
18c44e0d8a add translator tests for EXTM3U files 2013-12-09 15:54:28 +01:00