Internationalization for HBAC and ipalib.output

* hbacrule: Internationalize HBAC rule "all" category exceptions
  https://fedorahosted.org/freeipa/ticket/2267

* hbactest: Use internationalized names (doc) instead of names
  for output items
  Also don't convert result to bool, `not` does it implicitly

* ipalib.output: Internationalize descriptions of some standard entries
This commit is contained in:
Petr Viktorin 2012-02-10 05:27:24 -05:00 committed by Martin Kosek
parent 2755709f2e
commit 528a94f839
3 changed files with 13 additions and 13 deletions

View File

@ -111,11 +111,11 @@ class ListOfEntries(Output):
result = Output('result', doc=_('All commands should at least have a result'))
summary = Output('summary', (unicode, NoneType),
'User-friendly description of action performed'
_('User-friendly description of action performed')
)
value = Output('value', unicode,
"The primary_key value of the entry, e.g. 'jdoe' for a user",
_("The primary_key value of the entry, e.g. 'jdoe' for a user"),
flags=['no_display'],
)
@ -130,19 +130,19 @@ standard_entry = (
standard_list_of_entries = (
summary,
ListOfEntries('result'),
Output('count', int, 'Number of entries returned'),
Output('truncated', bool, 'True if not all results were returned'),
Output('count', int, _('Number of entries returned')),
Output('truncated', bool, _('True if not all results were returned')),
)
standard_delete = (
summary,
Output('result', dict, 'list of deletions that failed'),
Output('result', dict, _('List of deletions that failed')),
value,
)
standard_boolean = (
summary,
Output('result', bool, 'True means the operation was successful'),
Output('result', bool, _('True means the operation was successful')),
value,
)

View File

@ -265,13 +265,13 @@ class hbacrule_mod(LDAPUpdate):
self.obj.handle_not_found(*keys)
if is_all(options, 'usercategory') and 'memberuser' in entry_attrs:
raise errors.MutuallyExclusiveError(reason="user category cannot be set to 'all' while there are allowed users")
raise errors.MutuallyExclusiveError(reason=_("user category cannot be set to 'all' while there are allowed users"))
if is_all(options, 'hostcategory') and 'memberhost' in entry_attrs:
raise errors.MutuallyExclusiveError(reason="host category cannot be set to 'all' while there are allowed hosts")
raise errors.MutuallyExclusiveError(reason=_("host category cannot be set to 'all' while there are allowed hosts"))
if is_all(options, 'sourcehostcategory') and 'sourcehost' in entry_attrs:
raise errors.MutuallyExclusiveError(reason="sourcehost category cannot be set to 'all' while there are allowed source hosts")
raise errors.MutuallyExclusiveError(reason=_("sourcehost category cannot be set to 'all' while there are allowed sourcehosts"))
if is_all(options, 'servicecategory') and 'memberservice' in entry_attrs:
raise errors.MutuallyExclusiveError(reason="service category cannot be set to 'all' while there are allowed services")
raise errors.MutuallyExclusiveError(reason=_("service category cannot be set to 'all' while there are allowed services"))
return dn
api.register(hbacrule_mod)

View File

@ -359,7 +359,7 @@ class hbactest(Command):
if res == pyhbac.HBAC_EVAL_DENY:
notmatched_rules.append(ipa_rule.name)
if warning_flag:
warning_rules.append(u'Sourcehost value of rule "%s" is ignored' % (ipa_rule.name))
warning_rules.append(_(u'Sourcehost value of rule "%s" is ignored') % (ipa_rule.name))
except pyhbac.HbacError as (code, rule_name):
if code == pyhbac.HBAC_EVAL_ERROR:
error_rules.append(rule_name)
@ -402,7 +402,7 @@ class hbactest(Command):
continue
result = output[o]
if isinstance(result, (list, tuple)):
textui.print_attribute(outp.name, result, '%s: %s', 1, True)
textui.print_attribute(unicode(outp.doc), result, '%s: %s', 1, True)
elif isinstance(result, (unicode, bool)):
if o == 'summary':
textui.print_summary(result)
@ -410,6 +410,6 @@ class hbactest(Command):
textui.print_indented(result)
# Propagate integer value for result. It will give proper command line result for scripts
return int(not bool(output['value']))
return int(not output['value'])
api.register(hbactest)