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.
 
 
 
 
 

28 lines
721 B

import functools
from hachoir_py3.core.iso639 import ISO639_2
@functools.total_ordering
class Language:
def __init__(self, code):
code = str(code)
if code not in ISO639_2:
raise ValueError("Invalid language code: %r" % code)
self.code = code
def __eq__(self, other):
if other.__class__ != Language:
return NotImplemented
return self.code == other.code
def __lt__(self, other):
if other.__class__ != Language:
return NotImplemented
return self.code < other.code
def __str__(self):
return ISO639_2[self.code]
def __repr__(self):
return "<Language '%s', code=%r>" % (str(self), self.code)