118
120
if getattr(opt, 'title', None):
119
121
lineno = offsets.get(opt.title, 9999)
120
122
if lineno == 9999:
121
note("%r is not found in bzrlib/option.py" % opt.title)
123
note(gettext("%r is not found in bzrlib/option.py") % opt.title)
122
124
_poentry(outf, path, lineno, opt.title,
123
125
'title of %r option' % name)
124
126
if getattr(opt, 'help', None):
125
127
lineno = offsets.get(opt.help, 9999)
126
128
if lineno == 9999:
127
note("%r is not found in bzrlib/option.py" % opt.help)
129
note(gettext("%r is not found in bzrlib/option.py") % opt.help)
128
130
_poentry(outf, path, lineno, opt.help,
129
131
'help of %r option' % name)
167
169
_command_options(outf, path, cmd)
170
def _command_helps(outf):
172
def _command_helps(outf, plugin_name=None):
171
173
"""Extract docstrings from path.
173
175
This respects the Bazaar cmdtable/table convention and will
180
182
command = _mod_commands.get_cmd_object(cmd_name, False)
181
183
if command.hidden:
183
note("Exporting messages from builtin command: %s", cmd_name)
185
if plugin_name is not None:
186
# only export builtins if we are not exporting plugin commands
188
note(gettext("Exporting messages from builtin command: %s"), cmd_name)
184
189
_write_command_help(outf, command)
186
191
plugin_path = plugin.get_core_plugin_path()
187
192
core_plugins = glob(plugin_path + '/*/__init__.py')
188
193
core_plugins = [os.path.basename(os.path.dirname(p))
189
194
for p in core_plugins]
191
196
for cmd_name in _mod_commands.plugin_command_names():
192
197
command = _mod_commands.get_cmd_object(cmd_name, False)
193
198
if command.hidden:
195
if command.plugin_name() not in core_plugins:
200
if plugin_name is not None and command.plugin_name() != plugin_name:
201
# if we are exporting plugin commands, skip plugins we have not specified.
203
if plugin_name is None and command.plugin_name() not in core_plugins:
196
204
# skip non-core plugins
197
205
# TODO: Support extracting from third party plugins.
199
note("Exporting messages from plugin command: %s in %s",
200
cmd_name, command.plugin_name())
207
note(gettext("Exporting messages from plugin command: {0} in {1}").format(
208
cmd_name, command.plugin_name() ))
201
209
_write_command_help(outf, command)
222
230
fmt = getattr(klass, "_fmt", None)
224
note("Exporting message from error: %s", name)
232
note(gettext("Exporting message from error: %s"), name)
225
233
_poentry(outf, 'bzrlib/errors.py',
226
234
offsets.get(fmt, 9999), fmt)
235
243
'dummy/help_topics/'+key+'/detail.txt',
245
elif callable(doc): # help topics from files
246
_poentry_per_paragraph(
248
'en/help_topics/'+key+'.txt',
238
250
summary = topic_registry.get_summary(key)
239
251
if summary is not None:
240
252
_poentry(outf, 'dummy/help_topics/'+key+'/summary.txt',
243
def export_pot(outf):
255
def export_pot(outf, plugin=None):
244
256
global _FOUND_MSGID
245
257
_FOUND_MSGID = set()
246
_standard_options(outf)
248
_error_messages(outf)
249
# disable exporting help topics until we decide how to translate it.
259
_standard_options(outf)
261
_error_messages(outf)
264
_command_helps(outf, plugin)