[Freeipa-devel] [PATCH] 0069 Add internationalization to DCE RPC code

Alexander Bokovoy abokovoy at redhat.com
Tue Aug 14 08:58:43 UTC 2012


Hi,

fairly simple patch to wrap error messages to look up in translation
catalog.

https://fedorahosted.org/freeipa/ticket/2964


-- 
/ Alexander Bokovoy
-------------- next part --------------
>From 203aa5c5711842eef6c3bcdb8ba6b956855e9217 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <abokovoy at redhat.com>
Date: Mon, 13 Aug 2012 16:35:19 +0300
Subject: [PATCH 3/3] Add internationalization to DCE RPC code

https://fedorahosted.org/freeipa/ticket/2964
---
 ipaserver/dcerpc.py | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/ipaserver/dcerpc.py b/ipaserver/dcerpc.py
index 982e12b31a9525a35c5d921e6559471a7633e025..f754664baeeb38d3da201459103171097de093b2 100644
--- a/ipaserver/dcerpc.py
+++ b/ipaserver/dcerpc.py
@@ -50,18 +50,22 @@ The code in this module relies heavily on samba4-python package
 and Samba4 python bindings.
 """)
 
-access_denied_error =  errors.ACIError(info='CIFS server denied your credentials')
+access_denied_error =  errors.ACIError(info=_('CIFS server denied your credentials'))
 dcerpc_error_codes = {
-    -1073741823: errors.RemoteRetrieveError(reason='communication with CIFS server was unsuccessful'),
+    -1073741823:
+        errors.RemoteRetrieveError(reason=_('communication with CIFS server was unsuccessful')),
     -1073741790: access_denied_error,
     -1073741715: access_denied_error,
     -1073741614: access_denied_error,
-    -1073741603: errors.ValidationError(name='AD domain controller', error='unsupported functional level'),
+    -1073741603:
+        errors.ValidationError(name=_('AD domain controller'), error=_('unsupported functional level')),
 }
 
 dcerpc_error_messages = {
-    "NT_STATUS_OBJECT_NAME_NOT_FOUND": errors.NotFound(reason='Cannot find specified domain or server name'),
-    "NT_STATUS_INVALID_PARAMETER_MIX": errors.RequirementError(name='At least the domain or IP address should be specified'),
+    "NT_STATUS_OBJECT_NAME_NOT_FOUND":
+         errors.NotFound(reason=_('Cannot find specified domain or server name')),
+    "NT_STATUS_INVALID_PARAMETER_MIX":
+         errors.RequirementError(name=_('At least the domain or IP address should be specified')),
 }
 
 def assess_dcerpc_exception(num=None,message=None):
@@ -73,7 +77,9 @@ def assess_dcerpc_exception(num=None,message=None):
         return dcerpc_error_codes[num]
     if message and message in dcerpc_error_messages:
         return dcerpc_error_messages[message]
-    return errors.RemoteRetrieveError(reason='CIFS server communication error: code "%s", message "%s" (both may be "None")' % (num, message))
+    reason = _('''CIFS server communication error: code "%(num)s",
+                  message "%(message)s" (both may be "None")''') % dict(num=num, message=message)
+    return errors.RemoteRetrieveError(reason=reason)
 
 class ExtendedDNControl(_ldap.controls.RequestControl):
     def __init__(self):
@@ -173,7 +179,7 @@ class TrustDomainInstance(object):
 
     def __gen_lsa_connection(self, binding):
        if self.creds is None:
-           raise errors.RequirementError(name='CIFS credentials object')
+           raise errors.RequirementError(name=_('CIFS credentials object'))
        try:
            result = lsa.lsarpc(binding, self.parm, self.creds)
            return result
@@ -205,10 +211,12 @@ class TrustDomainInstance(object):
                 attempts = attempts + 1
 
         if self._pipe is None and attempts == len(bindings):
-            raise errors.ACIError(info='CIFS server %s denied your credentials' % (remote_host))
+            raise errors.ACIError(
+                info=_('CIFS server %(host)s denied your credentials') % dict(host=remote_host))
 
         if self._pipe is None:
-            raise errors.RemoteRetrieveError(reason='Cannot establish LSA connection to %s. Is CIFS server running?' % (remote_host))
+            raise errors.RemoteRetrieveError(
+                reason=_('Cannot establish LSA connection to %(host)s. Is CIFS server running?') % dict(host=remote_host))
 
     def __gen_lsa_bindings(self, remote_host):
         """
@@ -255,7 +263,9 @@ class TrustDomainInstance(object):
             result = res['defaultNamingContext'][0]
             self.info['dns_hostname'] = res['dnsHostName'][0]
         except _ldap.LDAPError, e:
-            root_logger.error("LDAP error when connecting to %s: %s" % (unicode(result.pdc_name), str(e)))
+            root_logger.error(
+                _("LDAP error when connecting to %(host)s: %(error)s") %
+                    dict(host=unicode(result.pdc_name), error=str(e)))
 
         if result:
            self.info['sid'] = self.parse_naming_context(result)
-- 
1.7.11.2



More information about the Freeipa-devel mailing list