You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.3 KiB
86 lines
2.3 KiB
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (c) 2013 the BabelFish authors. All rights reserved.
|
|
# Use of this source code is governed by the 3-clause BSD license
|
|
# that can be found in the LICENSE file.
|
|
#
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
class Error(Exception):
|
|
"""Base class for all exceptions in babelfish"""
|
|
pass
|
|
|
|
|
|
class LanguageError(Error, AttributeError):
|
|
"""Base class for all language exceptions in babelfish"""
|
|
pass
|
|
|
|
|
|
class LanguageConvertError(LanguageError):
|
|
"""Exception raised by converters when :meth:`~babelfish.converters.LanguageConverter.convert` fails
|
|
|
|
:param string alpha3: alpha3 code that failed conversion
|
|
:param country: country code that failed conversion, if any
|
|
:type country: string or None
|
|
:param script: script code that failed conversion, if any
|
|
:type script: string or None
|
|
|
|
"""
|
|
def __init__(self, alpha3, country=None, script=None):
|
|
self.alpha3 = alpha3
|
|
self.country = country
|
|
self.script = script
|
|
|
|
def __str__(self):
|
|
s = self.alpha3
|
|
if self.country is not None:
|
|
s += '-' + self.country
|
|
if self.script is not None:
|
|
s += '-' + self.script
|
|
return s
|
|
|
|
|
|
class LanguageReverseError(LanguageError):
|
|
"""Exception raised by converters when :meth:`~babelfish.converters.LanguageReverseConverter.reverse` fails
|
|
|
|
:param string code: code that failed reverse conversion
|
|
|
|
"""
|
|
def __init__(self, code):
|
|
self.code = code
|
|
|
|
def __str__(self):
|
|
return repr(self.code)
|
|
|
|
|
|
class CountryError(Error, AttributeError):
|
|
"""Base class for all country exceptions in babelfish"""
|
|
pass
|
|
|
|
|
|
class CountryConvertError(CountryError):
|
|
"""Exception raised by converters when :meth:`~babelfish.converters.CountryConverter.convert` fails
|
|
|
|
:param string alpha2: alpha2 code that failed conversion
|
|
|
|
"""
|
|
def __init__(self, alpha2):
|
|
self.alpha2 = alpha2
|
|
|
|
def __str__(self):
|
|
return self.alpha2
|
|
|
|
|
|
class CountryReverseError(CountryError):
|
|
"""Exception raised by converters when :meth:`~babelfish.converters.CountryReverseConverter.reverse` fails
|
|
|
|
:param string code: code that failed reverse conversion
|
|
|
|
"""
|
|
def __init__(self, code):
|
|
self.code = code
|
|
|
|
def __str__(self):
|
|
return repr(self.code)
|