Mercurial > babel > mirror
changeset 602:7a8ee579f31e trunk
"update" command now supports "--width" option (#284)
author | fschwarz |
---|---|
date | Mon, 20 Aug 2012 20:27:35 +0000 |
parents | 3eeaadb290be |
children | 60f716236946 |
files | ChangeLog babel/messages/frontend.py |
diffstat | 2 files changed, 20 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -54,7 +54,7 @@ * format_time() and format_datetime() now accept also floats (#242) * add babel.support.NullTranslations class similar to gettext.NullTranslations but with all of Babel's new *gettext methods (#277) - * "init" command support "--width" option (#284) + * "init" and "update" commands support "--width" option (#284) Version 0.9.6
--- a/babel/messages/frontend.py +++ b/babel/messages/frontend.py @@ -501,6 +501,8 @@ "'<output_dir>/<locale>/LC_MESSAGES/<domain>.po')"), ('locale=', 'l', 'locale of the catalog to compile'), + ('width=', 'w', + 'set output line width (default 76)'), ('no-wrap', None, 'do not break long message lines, longer than the output line width, ' 'into several lines'), @@ -519,6 +521,7 @@ self.output_dir = None self.output_file = None self.locale = None + self.width = None self.no_wrap = False self.ignore_obsolete = False self.no_fuzzy_matching = False @@ -532,6 +535,13 @@ 'directory') if self.output_file and not self.locale: raise DistutilsOptionError('you must specify the locale') + if self.no_wrap and self.width: + raise DistutilsOptionError("'--no-wrap' and '--width' are mutually " + "exclusive") + if not self.no_wrap and not self.width: + self.width = 76 + elif self.width is not None: + self.width = int(self.width) if self.no_fuzzy_matching and self.previous: self.previous = False @@ -566,10 +576,6 @@ if not po_files: raise DistutilsOptionError('no message catalogs found') - extra_params = {} - if self.no_wrap: - extra_params['width'] = None - for locale, filename in po_files: log.info('updating catalog %r based on %r', filename, self.input_file) @@ -589,7 +595,7 @@ try: write_po(tmpfile, catalog, ignore_obsolete=self.ignore_obsolete, - include_previous=self.previous, **extra_params) + include_previous=self.previous, width=self.width) finally: tmpfile.close() except: @@ -1040,6 +1046,8 @@ "<domain>.po')") parser.add_option('--locale', '-l', dest='locale', metavar='LOCALE', help='locale of the translations catalog') + parser.add_option('-w', '--width', dest='width', type='int', + help="set output line width (default 76)") parser.add_option('--no-wrap', dest='no_wrap', action = 'store_true', help='do not break long message lines, longer than ' 'the output line width, into several lines') @@ -1097,9 +1105,10 @@ if not po_files: parser.error('no message catalogs found') - extra_params = {} - if options.no_wrap: - extra_params['width'] = None + if options.width and options.no_wrap: + parser.error("'--no-wrap' and '--width' are mutually exclusive.") + elif not options.width and not options.no_wrap: + options.width = 76 for locale, filename in po_files: self.log.info('updating catalog %r based on %r', filename, options.input_file) @@ -1119,7 +1128,8 @@ try: write_po(tmpfile, catalog, ignore_obsolete=options.ignore_obsolete, - include_previous=options.previous, **extra_params) + include_previous=options.previous, + width=options.width) finally: tmpfile.close() except: