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