mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
...
This commit is contained in:
parent
14124e8550
commit
edb6081f31
@ -730,8 +730,6 @@ class Metadata(object):
|
|||||||
if self.identifiers:
|
if self.identifiers:
|
||||||
fmt('Identifiers', u', '.join(['%s:%s'%(k, v) for k, v in
|
fmt('Identifiers', u', '.join(['%s:%s'%(k, v) for k, v in
|
||||||
self.identifiers.iteritems()]))
|
self.identifiers.iteritems()]))
|
||||||
if self.languages:
|
|
||||||
fmt('Languages', u', '.join(self.languages))
|
|
||||||
if self.comments:
|
if self.comments:
|
||||||
fmt('Comments', self.comments)
|
fmt('Comments', self.comments)
|
||||||
|
|
||||||
|
@ -1328,7 +1328,8 @@ def metadata_to_opf(mi, as_string=True):
|
|||||||
'[http://calibre-ebook.com]'
|
'[http://calibre-ebook.com]'
|
||||||
|
|
||||||
if not mi.languages:
|
if not mi.languages:
|
||||||
mi.languages = ['UND']
|
lang = get_lang().replace('_', '-').partition('-')[0]
|
||||||
|
mi.languages = [lang]
|
||||||
|
|
||||||
root = etree.fromstring(textwrap.dedent(
|
root = etree.fromstring(textwrap.dedent(
|
||||||
'''
|
'''
|
||||||
@ -1380,7 +1381,7 @@ def metadata_to_opf(mi, as_string=True):
|
|||||||
factory(DC('rights'), mi.rights)
|
factory(DC('rights'), mi.rights)
|
||||||
for lang in mi.languages:
|
for lang in mi.languages:
|
||||||
if not lang or lang.lower() == 'und':
|
if not lang or lang.lower() == 'und':
|
||||||
lang = get_lang().replace('_', '-').partition('-')[0]
|
continue
|
||||||
factory(DC('language'), lang)
|
factory(DC('language'), lang)
|
||||||
if mi.tags:
|
if mi.tags:
|
||||||
for tag in mi.tags:
|
for tag in mi.tags:
|
||||||
|
@ -4,6 +4,7 @@ __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
|||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
from struct import pack
|
from struct import pack
|
||||||
|
from calibre.utils.localization import lang_as_iso639_1
|
||||||
|
|
||||||
lang_codes = {
|
lang_codes = {
|
||||||
}
|
}
|
||||||
@ -314,7 +315,8 @@ def iana2mobi(icode):
|
|||||||
subtags = list(icode.split('-'))
|
subtags = list(icode.split('-'))
|
||||||
while len(subtags) > 0:
|
while len(subtags) > 0:
|
||||||
lang = subtags.pop(0).lower()
|
lang = subtags.pop(0).lower()
|
||||||
if lang in IANA_MOBI:
|
lang = lang_as_iso639_1(lang)
|
||||||
|
if lang and lang in IANA_MOBI:
|
||||||
langdict = IANA_MOBI[lang]
|
langdict = IANA_MOBI[lang]
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -61,9 +61,11 @@ def meta_info_to_oeb_metadata(mi, m, log, override_input_metadata=False):
|
|||||||
m.add('identifier', val, scheme=typ.upper())
|
m.add('identifier', val, scheme=typ.upper())
|
||||||
if override_input_metadata and not set_isbn:
|
if override_input_metadata and not set_isbn:
|
||||||
m.filter('identifier', lambda x: x.scheme.lower() == 'isbn')
|
m.filter('identifier', lambda x: x.scheme.lower() == 'isbn')
|
||||||
if not mi.is_null('language'):
|
if not mi.is_null('languages'):
|
||||||
m.clear('language')
|
m.clear('language')
|
||||||
m.add('language', mi.language)
|
for lang in mi.languages:
|
||||||
|
if lang and lang.lower() not in ('und', ''):
|
||||||
|
m.add('language', lang)
|
||||||
if not mi.is_null('series_index'):
|
if not mi.is_null('series_index'):
|
||||||
m.clear('series_index')
|
m.clear('series_index')
|
||||||
m.add('series_index', mi.format_series_index())
|
m.add('series_index', mi.format_series_index())
|
||||||
|
@ -260,6 +260,12 @@ def langnames_to_langcodes(names):
|
|||||||
|
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
def lang_as_iso639_1(name_or_code):
|
||||||
|
code = canonicalize_lang(name_or_code)
|
||||||
|
if code is not None:
|
||||||
|
iso639 = _load_iso639()
|
||||||
|
return iso639['3to2'].get(code, None)
|
||||||
|
|
||||||
_udc = None
|
_udc = None
|
||||||
|
|
||||||
def get_udc():
|
def get_udc():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user