Commit Graph

7535 Commits

Author SHA1 Message Date
Laurent Monin
0bcb4356f6 Use with open() as statements within generate_file() 2014-01-18 16:01:56 +01:00
Laurent Monin
5c5a5ea51d Output hooks docstrings to log.debug
Example of output:
```
D: 10:57:46 Config upgrade 1.3.0dev1 -> 1.3.0dev2: Option "preserved_tags" is now using comma instead of spaces as tag separator (PICARD-536)
```
2014-01-18 10:59:02 +01:00
Laurent Monin
7ce80a21ea Shorten lines using intermediate variables 2014-01-18 10:54:56 +01:00
Laurent Monin
8d86e61912 Moved info about the change to function's doc
As discussed with @mwiencek, we don't need to expose those to average user,
nor to mark those for translations.
2014-01-18 10:54:56 +01:00
Laurent Monin
3c07627472 Do not try to upgrade option if not needed.
It fixes the following exception, when starting without any pre-existing configuration file:
```
  File "./picard/config_upgrade.py", line 106, in upgrade_to_v1_3_0_dev_3
    _s["preferred_release_countries"].split("  ")
AttributeError: 'list' object has no attribute 'split'
```
2014-01-18 10:32:29 +01:00
Michael Wiencek
f9031211e2 Convert QByteArray to unicode to fix exception 2014-01-17 04:16:44 -06:00
Michael Wiencek
68bf155ef0 Remove type conversion functionality from Options
Automatically converting the type is problematic, because if we change
the type of an option later (imagine str -> list), it'll pass the old
value to the new type constructor before any upgrade hooks are run.
With 6ff1f53, there shouldn't be any need to convert the types anyway
because sip now does that for us.

The 'convert' functionality has been repurposed here for actual format
conversions. As it happens, the only Option that needs that is the
password field (rot13).
2014-01-17 03:58:45 -06:00
Michael Wiencek
bae1672ef1 Fix tests in light of 6ff1f53 2014-01-16 19:38:15 -06:00
Michael Wiencek
6ff1f5350f Nuke QVariant, QString in favor of Python types 2014-01-16 19:18:35 -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
3d669faeea Not only maintainers can update picard.pot, everybody can. 2014-01-16 17:59:24 +01:00
Laurent Monin
ee8d9939b9 Clarify the percentage thing. 2014-01-16 17:57:26 +01:00
Laurent Monin
5ccf7b337c No need to know how countries.pot is generated.
Keep a pointer to the project which updates it though.
2014-01-16 17:52:02 +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
879fd9b5c7 Merge pull request #211 from Sophist-UK/sophist_fix_nat_refresh
Fix errors on refresh of NAT track (PICARD-549)
2014-01-13 02:27:07 -08:00
Sophist
1d7ccf4461 Apply patch provided by zas 2014-01-13 10:13:53 +00:00
Laurent Monin
24528a025e Add notice about new setup.py commands 2014-01-13 02:14:31 +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
9c3f0aee11 Move information about translations to po/README.md 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
c9661b6d4a Regenerate countries.py from updated countries.pot 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
Frederik "Freso" S. Olesen
c06fb76e4b Use ungettext_countries() for translating country names. 2014-01-12 12:15:19 +01:00
Frederik "Freso" S. Olesen
cf8e5f4781 Replace the release countries in const.py with import from countries.py. 2014-01-12 12:15:19 +01:00
Laurent Monin
38928ea302 Add generated picard/countries.py 2014-01-12 12:15:19 +01:00
Laurent Monin
45ca81a086 Add po/countries/countries.pot to git ignore list
We don't want this one to be committed to git repo, it is not created
by parsing Picard code.
2014-01-12 12:15:19 +01:00
Laurent Monin
aa22ff5606 Add a update_countries command to setup.py
It retrieves countries.pot from transifex and uses it to generated picard/countries.py
2014-01-12 12:15:18 +01:00
Laurent Monin
d2c518e9c4 Add note to NEWS.txt about PICARD-205 being fixed. 2014-01-12 12:14:57 +01:00