summaryrefslogtreecommitdiffstats
path: root/ipaserver/install
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2012-07-04 08:52:47 -0400
committerMartin Kosek <mkosek@redhat.com>2012-09-03 18:16:24 +0200
commit81ce7a30fdcaa30ff9975d4a73ad52f6b9fc5e59 (patch)
tree6cd7e09e02d313a3d382d1efbb27588aab27a866 /ipaserver/install
parent47ff8c5b4aa66b3919a1df8c8a1ea4ace8280a2c (diff)
downloadfreeipa.git-81ce7a30fdcaa30ff9975d4a73ad52f6b9fc5e59.tar.gz
freeipa.git-81ce7a30fdcaa30ff9975d4a73ad52f6b9fc5e59.tar.xz
freeipa.git-81ce7a30fdcaa30ff9975d4a73ad52f6b9fc5e59.zip
Internationalization for public errors
Currently, we throw many public exceptions without proper i18n. Wrap natural-language error messages in _() so they can be translated. In the service plugin, raise NotFound errors using handle_not_found helper so the error message contains the offending service. Use ScriptError instead of NotFoundError in bindinstance install. https://fedorahosted.org/freeipa/ticket/1953
Diffstat (limited to 'ipaserver/install')
-rw-r--r--ipaserver/install/bindinstance.py7
-rw-r--r--ipaserver/install/certs.py6
2 files changed, 9 insertions, 4 deletions
diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index 2e00f70b..8284f3ea 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -35,6 +35,7 @@ from ipalib.parameters import IA5Str
from ipalib.util import (validate_zonemgr, normalize_zonemgr,
get_dns_forward_zone_update_policy, get_dns_reverse_zone_update_policy)
from ipapython.ipa_log_manager import *
+from ipalib.text import _
import ipalib
from ipalib import api, util, errors
@@ -277,7 +278,8 @@ def add_zone(name, zonemgr=None, dns_backup=None, ns_hostname=None, ns_ip_addres
# automatically retrieve list of DNS masters
dns_masters = api.Object.dnsrecord.get_dns_masters()
if not dns_masters:
- raise errors.NotFound("No IPA server with DNS support found!")
+ raise installutils.ScriptError(
+ "No IPA server with DNS support found!")
ns_main = dns_masters.pop(0)
ns_replicas = dns_masters
addresses = resolve_host(ns_main)
@@ -321,7 +323,8 @@ def add_reverse_zone(zone, ns_hostname=None, ns_ip_address=None,
# automatically retrieve list of DNS masters
dns_masters = api.Object.dnsrecord.get_dns_masters()
if not dns_masters:
- raise errors.NotFound("No IPA server with DNS support found!")
+ raise installutils.ScriptError(
+ "No IPA server with DNS support found!")
ns_main = dns_masters.pop(0)
ns_replicas = dns_masters
addresses = resolve_host(ns_main)
diff --git a/ipaserver/install/certs.py b/ipaserver/install/certs.py
index eebaa48c..f0f0f1df 100644
--- a/ipaserver/install/certs.py
+++ b/ipaserver/install/certs.py
@@ -41,6 +41,7 @@ from ipapython import services as ipaservices
from ipalib import x509
from ipapython.dn import DN
from ipalib.errors import CertificateOperationError
+from ipalib.text import _
from nss.error import NSPRError
import nss.nss as nss
@@ -663,8 +664,9 @@ class CertDB(object):
dogtag.https_request(self.host_name, api.env.ca_ee_install_port, "/ca/ee/ca/profileSubmitSSLClient", self.secdir, password, "ipaCert", **params)
if http_status != 200:
- raise CertificateOperationError(error='Unable to communicate with CMS (%s)' % \
- http_reason_phrase)
+ raise CertificateOperationError(
+ error=_('Unable to communicate with CMS (%s)') %
+ http_reason_phrase)
# The result is an XML blob. Pull the certificate out of that
doc = xml.dom.minidom.parseString(http_body)