Commit Graph

3499 Commits

Author SHA1 Message Date
Laurent Monin
e70486b91f Get rid of USER_DOWNLOADS_DIR, save zipped module in user plugin directory
Suggested by @mineo.
2015-09-01 11:06:47 +02:00
Laurent Monin
642d7d720a install_plugin(): no need of plugin_dir param, use USER_PLUGIN_DIR 2015-09-01 10:18:33 +02:00
Laurent Monin
3159e82bd0 Installation of zipped modules is now just a copy of the zip file
No need to unzip anything since we now support loading of zipped modules
2015-09-01 10:12:54 +02:00
Laurent Monin
399f501143 Support for direct loading of zipped modules using zipimport
Suggested by @mineo
2015-09-01 10:01:29 +02:00
Laurent Monin
9c871977fc Allow user to install plugins from local zip archives 2015-08-31 21:33:10 +02:00
Laurent Monin
f5d8dae0fd Implement update/download plugins from the web directly from UI
- plugin installation code is modified to support zip archives
- USER_DOWNLOADS_DIR is introduced to store downloaded files
- based on the work of Shadab Zafar
2015-08-31 21:32:36 +02:00
Laurent Monin
fe5400b4aa Display Update or Download buttons for each plugin installed or available
Actions not yet implemented
2015-08-31 21:22:19 +02:00
Laurent Monin
961e3866e0 Refresh details after plugin installation 2015-08-31 21:16:50 +02:00
Laurent Monin
0ab4b5499e Display a message when no plugins are installed. 2015-08-31 21:15:31 +02:00
Laurent Monin
3aa92d6190 Fix up imports 2015-08-31 21:13:50 +02:00
Laurent Monin
bf70cd04de Set CAN_BE_DOWNLOADED flag, if plugin is available online and not installed 2015-08-31 21:08:32 +02:00
Laurent Monin
8eb20f124c Set PluginFlags.CAN_BE_UPDATED flag if a new version is available 2015-08-31 21:01:35 +02:00
Laurent Monin
97bfd3dfdb Display new version in plugin details if one is available 2015-08-31 20:58:10 +02:00
Laurent Monin
35f3f5ca66 Query plugins JSON API for available plugins 2015-08-31 20:52:07 +02:00
Laurent Monin
6e7d39866c Mark forgotten string for translation 2015-08-31 20:45:06 +02:00
Laurent Monin
2ed91b5aa2 Remove open/download plugins button 2015-08-31 20:43:04 +02:00
Laurent Monin
a1be8ec361 Introduce plugin.files_list, displayed in plugin details 2015-08-31 20:37:40 +02:00
Laurent Monin
f5a2faae24 Reformat plugin details
Drop file list for now.
2015-08-31 20:36:24 +02:00
Laurent Monin
c288f50aed PluginWrapper: add license and license_url properties 2015-08-31 20:32:02 +02:00
Laurent Monin
22f990ccc4 PluginWrapper: use @property decorator 2015-08-31 20:32:01 +02:00
Laurent Monin
0d19c2da1a Introduce PluginShared class as parent of PluginWrapper
It will be used later.
2015-08-31 20:32:01 +02:00
Laurent Monin
f31975f234 Use flags to store plugin state 2015-08-31 20:32:01 +02:00
Laurent Monin
86320f02d0 Merge pull request #419 from zas/futurize_stage1
Improve python3 compatibility, minor changes
2015-08-28 13:42:38 +02:00
Philipp Wolfer
6700ac993a Removed unused exception handler
UnknownFunction is a subclass of ScriptError, which is already handled.
2015-08-28 10:28:18 +02:00
Philipp Wolfer
bd83dac05a CAA: Fixed call to self.error with wrong number of arguments 2015-08-28 10:26:36 +02:00
Philipp Wolfer
5fdc5a945a Fixed test not run due to duplicated method name 2015-08-28 10:22:47 +02:00
Philipp Wolfer
d8ec03e05c Removed duplicated code 2015-08-28 10:19:34 +02:00
Laurent Monin
68a62b745a Fix up import 2015-08-26 17:28:15 +02:00
Laurent Monin
a12ee509aa import print_function 2015-08-25 11:16:05 +02:00
Laurent Monin
55b2207a27 import print_function 2015-08-25 11:15:15 +02:00
Laurent Monin
691db2bdde sys.maxint -> sys.maxsize 2015-08-25 11:14:23 +02:00
Laurent Monin
c4950c37ad next() 2015-08-25 11:14:03 +02:00
Laurent Monin
7a94d5b268 Python3-style lambda 2015-08-25 11:13:53 +02:00
Laurent Monin
9d6e5f15c6 print() and next() 2015-08-25 11:13:39 +02:00
Laurent Monin
c18284b0c5 import print_function 2015-08-25 11:13:10 +02:00
Laurent Monin
374a8cbc6a Absolute import 2015-08-25 11:13:00 +02:00
Laurent Monin
5004811f6f Python3-style lambda 2015-08-25 11:12:47 +02:00
Laurent Monin
669c7a9971 Python3-style exception handling 2015-08-25 11:10:42 +02:00
Laurent Monin
7d39a42292 import print_function 2015-08-25 11:10:17 +02:00
Laurent Monin
5d84c0f67b import print_function 2015-08-25 11:10:03 +02:00
Laurent Monin
405f4adedd Merge pull request #418 from Freso/recognise-m2a
Recognise .m2a file extension.
2015-07-31 11:13:32 +02:00
Frederik “Freso” S. Olesen
397152efe1 Recognise .m2a file extension.
Sometimes used as alternative for `.mp2`.
2015-07-31 10:51:12 +02:00
Laurent Monin
8eee8910ac Update picard.pot 2015-07-12 11:12:42 +02:00
Laurent Monin
a14d7f0183 Merge pull request #417 from zas/add_local_cover_art_support_3
Add support for local cover art
http://tickets.musicbrainz.org/browse/PICARD-137
2015-07-12 11:09:46 +02:00
Laurent Monin
905501ad5a Merge pull request #415 from zas/tags_count
Add an option to fallback on artist's tags
http://tickets.musicbrainz.org/browse/PICARD-738
2015-07-12 11:07:18 +02:00
Laurent Monin
e8aa4c7b31 Add method descriptions 2015-07-09 14:00:12 +02:00
Laurent Monin
435e72ec1f add_album_artist() -> append_album_artist()
Since add_*() methods aren't used to return something, rename it.
2015-07-09 13:59:40 +02:00
Laurent Monin
a3351d559b Use hasattr() instead a broad try/except
- try/except is more pythonic, but less readable, even if narrowed
- hasattr() is pythonic enough, and more readable
- isinstance() isn't pythonic enough (and forces to import the class)
2015-07-09 12:33:40 +02:00
Laurent Monin
4717b5208a Use a set instead of a dict
Suggested by Mineo
2015-07-09 12:16:56 +02:00
Laurent Monin
222e2bcae9 Add Local Files cover art provider and its options 2015-07-08 19:26:30 +02:00