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