288 Commits

Author SHA1 Message Date
Sophist
dc3e78454b Fix setup.py plugin_files
Fixes error in commit 25505c9216
2014-05-04 22:02:31 +01:00
Laurent Monin
6e7cdc5737 Merge pull request #311 from zas/input_dirs_babel_0.9.6_workaround
Workaround: setup.py regen_pot_file didn't work with babel < 1.0
2014-05-03 16:02:29 +02:00
Laurent Monin
7c90c3cb6e Workaround: setup.py regen_pot_file didn't work with babel < 1.0
A babel bug prevents `input_dirs` to be parsed correctly with babel pre-1.0 versions.
Using regen_pot_file with babel 0.9.6 leads to an empty pot file (but header).
The fix appears in babel 1.0 Changelog:
- fix ‘input_dirs’ option for setuptools integration (ticket #232, initial patch by Étienne Bersac)

The workaround just splits `input_dirs` as it should when old babel versions are used.
2014-05-02 17:00:06 +02:00
Sophist
72b21c69c2 Add back deleted blank line 2014-05-02 08:30:04 +01:00
Sophist
63aa7b5086 Improve code and add top-level sort 2014-05-02 08:29:19 +01:00
Sophist
4165e356a4 Fix bug picked up by Travis 2014-05-02 08:06:07 +01:00
Sophist
25505c9216 Fix dist directory structure for plugins
Resolves PICARD-600
2014-05-02 07:56:35 +01:00
Laurent Monin
905778be0a Add all .py files from contrib/plugins to executable 2014-04-19 09:07:05 +02:00
Laurent Monin
b3e8ec9db0 Add build scripts fro win and osx, add patch_version command to setup.py 2014-04-15 13:26:40 +02:00
Laurent Monin
cf52994989 PEP8 fixes. 2014-04-10 10:57:26 +02:00
Laurent Monin
8ac7014dfe Add update_constants command to setup.py
It retrieves and parses attributes.pot and countries.pot files
from transifex to extract various constants needed in Picard.
It helps to keep those in sync with MusicBrainz website.

It then generates:
- picard/attributes.py containing cover art types, medium formats, and release group types
- picard/countries.py containing countries

`update_constants` command replaces `update_countries`
2014-04-10 10:20:52 +02:00
Laurent Monin
3a2872d344 Restore time-stamp check, files depends too much on uic versions anyway
It works in most cases, and now one can force regeneration of one or more files
if needed.
2014-04-06 21:45:34 +02:00
Laurent Monin
d3d418de54 Drop time-stamp comparison, remove variable comments from generated files.
See discussion at http://tickets.musicbrainz.org/browse/PICARD-566
2014-03-31 15:13:19 +02:00
Laurent Monin
dd6a124292 Allow compilation of ui files in unusual directories.
.py file will be produced in the same directory of the .ui file
2014-03-30 15:46:54 +02:00
Laurent Monin
7bc0d5ec63 Add missing whitelines. 2014-03-30 10:48:50 +02:00
Laurent Monin
348870819f Add --files= option to setup.py build_ui, to pass list of files to rebuild
Related to http://tickets.musicbrainz.org/browse/PICARD-566
2014-03-30 10:41:07 +02:00
Laurent Monin
bc222e7dce Move code generating py file name fro ui file name to its own function. 2014-03-30 10:39:15 +02:00
Laurent Monin
3d422f3da9 Reduce code redundancy using a generator 2014-03-30 10:04:46 +02:00
Lukáš Lalinský
0f3928809d Move sip import to the picard_test command 2014-03-21 10:52:42 +01:00
Michael Wiencek
ef0146ee3a Merge branch 'master' into no-qstring-qvariant
Conflicts:
	.gitignore
	picard/util/cdrom.py
	picard/webservice.py
	setup.py
2014-02-22 22:51:29 -06:00
Laurent Monin
cc55dd4b4b _exit() is not needed anymore, use sys.exit() 2014-01-22 16:23:54 +01:00
Laurent Monin
0bcb4356f6 Use with open() as statements within generate_file() 2014-01-18 16:01:56 +01:00
Michael Wiencek
bae1672ef1 Fix tests in light of 6ff1f53 2014-01-16 19:38:15 -06:00
Laurent Monin
748d659fb8 Call _exit() instead of raising Exception() 2014-01-16 21:21:06 +01:00
Laurent Monin
fe7d51f069 Use distutils.spawn.spawn() instead of subprocess.call(), simplify code 2014-01-16 21:12:05 +01:00
Laurent Monin
2cfd9aef0a Use distutils.spawn.find_executable to find tx (or tx.exe) 2014-01-16 21:10:56 +01:00
Laurent Monin
f38eedd7a7 Use SystemExit() instance to set code together with message. 2014-01-16 21:08:24 +01:00
Laurent Monin
753484e024 Remove useless try/except 2014-01-16 17:40:00 +01:00
Laurent Monin
f2de38c4ee Use a dict for countries instead of a list, and sort before writing to file 2014-01-16 15:11:50 +01:00
Laurent Monin
d0910b48c9 country_list -> countries 2014-01-16 15:07:36 +01:00
Laurent Monin
7370177307 Use os.path.join() to build path and define it as a variable not a parameter
This method will hardly be called for anything else, having it as parameter
is not needed.
2014-01-16 15:06:26 +01:00
Laurent Monin
bdfc0c9eba Only check if we can open po/countries/countries.pot and simplify code 2014-01-16 15:04:57 +01:00
Laurent Monin
92b1046179 Use _get_option_name() to insert command-line info in countries.py header
This way, even if option is renamed, comment will be always up-to-date.
2014-01-13 15:56:12 +01:00
Laurent Monin
b35c57b465 Pass format keyword arguments directly to write_utf8()
'{' and '}' were escaped in `header` and `footer` strings
2014-01-13 15:54:33 +01:00
Laurent Monin
88ea157c1f Add helper _get_option_name() which finds name of the option for current Command
Command class has a get_command_name() but it returns the class's name, not the name
of the option as declared in setup cmdclass dict.
2014-01-13 15:51:50 +01:00
Laurent Monin
13952e7fa7 _exit_with_error() -> _exit()
Exit with return code and message when needed.
2014-01-13 15:23:00 +01:00
Laurent Monin
f6488c02ff Modify _exit_with_error() so message is optional
The Transifex client itself already has very descriptive error message,
so just use return code in `picard_get_po_files()`
2014-01-13 14:05:42 +01:00
Laurent Monin
4096988398 Pass command as list to subprocess.call() 2014-01-13 13:44:27 +01:00
Laurent Monin
2b5391e770 update_countries doesn't update related translations anymore
It just downloads countries.pot as it is all what it is needed to rebuild
countries.py

countries/*.po are updated using the get_po_files command.
2014-01-13 02:14:31 +01:00
Laurent Monin
2e275ca16b Add an option to get_po_files to override default minimun percentage
Update po/README.md so the actual value isn't written, if we change the default value
it will be only at once place.
2014-01-13 02:14:31 +01:00
Laurent Monin
b6a876afed Force download of all .po files when using get_po_files command 2014-01-13 02:14:31 +01:00
Laurent Monin
7858dbbb0e Download only countries.pot to regenerate countries.py 2014-01-13 02:14:31 +01:00
Laurent Monin
0a83a2374e Use list to handle tx pull options 2014-01-13 02:14:31 +01:00
Laurent Monin
683dc64583 Add regen_pot_file command to setup.py
It is using Babel's Distutils Integration command `extract_messages`
instead of pybabel command line command.

See: http://babel.pocoo.org/docs/setup/
2014-01-13 02:14:31 +01:00
Laurent Monin
48c5086554 Add helper _exit_with_error() which log and exit with return code 2014-01-13 02:14:31 +01:00
Laurent Monin
c9d5ee9c00 Warn if no country code was found, ie. when file format changed. 2014-01-13 02:14:31 +01:00
Laurent Monin
daf608b4c8 Update countries.pot parser since format changed (iso_code -> iso.code)
It changed in https://bitbucket.org/metabrainz/musicbrainz-server/pull-request/426/mbs-6373-only-translate-and-extract-area/diff
2014-01-13 02:14:31 +01:00
Laurent Monin
79f50af5f8 Use a constant for common options of tx pull 2014-01-13 02:14:30 +01:00
Laurent Monin
32b1ce3ae6 Add command get_po_files to setup.py
It runs tx pull with needed options.
Translations with less than 5% translated are ignored.
2014-01-13 02:14:30 +01:00
Laurent Monin
91949151eb Build, install and use all available locales
Drop the use of UI_LANGUAGES in setup.py which was restricting available translations,
even though translation was available from transifex.

Locales not in UI_LANGUAGES cannot be selected from Picard Advanced UI option,
but will be used if it is set to system default.
2014-01-13 02:14:30 +01:00