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