mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Add support for downloading metadata from Amazon Brazil. Fixes #1092594 ([Enhancement] Amazon Brazilian website)
This commit is contained in:
parent
55b8481131
commit
9bee44376b
@ -75,6 +75,20 @@ class Worker(Thread): # Get details {{{
|
|||||||
9: ['sept'],
|
9: ['sept'],
|
||||||
12: ['déc'],
|
12: ['déc'],
|
||||||
},
|
},
|
||||||
|
'br': {
|
||||||
|
1: ['janeiro'],
|
||||||
|
2: ['fevereiro'],
|
||||||
|
3: ['março'],
|
||||||
|
4: ['abril'],
|
||||||
|
5: ['maio'],
|
||||||
|
6: ['junho'],
|
||||||
|
7: ['julho'],
|
||||||
|
8: ['agosto'],
|
||||||
|
9: ['setembro'],
|
||||||
|
10: ['outubro'],
|
||||||
|
11: ['novembro'],
|
||||||
|
12: ['dezembro'],
|
||||||
|
},
|
||||||
'es': {
|
'es': {
|
||||||
1: ['enero'],
|
1: ['enero'],
|
||||||
2: ['febrero'],
|
2: ['febrero'],
|
||||||
@ -89,7 +103,7 @@ class Worker(Thread): # Get details {{{
|
|||||||
11: ['noviembre'],
|
11: ['noviembre'],
|
||||||
12: ['diciembre'],
|
12: ['diciembre'],
|
||||||
},
|
},
|
||||||
'jp': {
|
'jp': {
|
||||||
1: [u'1月'],
|
1: [u'1月'],
|
||||||
2: [u'2月'],
|
2: [u'2月'],
|
||||||
3: [u'3月'],
|
3: [u'3月'],
|
||||||
@ -117,6 +131,7 @@ class Worker(Thread): # Get details {{{
|
|||||||
text()="Product details" or \
|
text()="Product details" or \
|
||||||
text()="Détails sur le produit" or \
|
text()="Détails sur le produit" or \
|
||||||
text()="Detalles del producto" or \
|
text()="Detalles del producto" or \
|
||||||
|
text()="Detalhes do produto" or \
|
||||||
text()="登録情報"]/../div[@class="content"]
|
text()="登録情報"]/../div[@class="content"]
|
||||||
'''
|
'''
|
||||||
# Editor: is for Spanish
|
# Editor: is for Spanish
|
||||||
@ -126,6 +141,7 @@ class Worker(Thread): # Get details {{{
|
|||||||
starts-with(text(), "Editore:") or \
|
starts-with(text(), "Editore:") or \
|
||||||
starts-with(text(), "Editeur") or \
|
starts-with(text(), "Editeur") or \
|
||||||
starts-with(text(), "Editor:") or \
|
starts-with(text(), "Editor:") or \
|
||||||
|
starts-with(text(), "Editora:") or \
|
||||||
starts-with(text(), "出版社:")]
|
starts-with(text(), "出版社:")]
|
||||||
'''
|
'''
|
||||||
self.language_xpath = '''
|
self.language_xpath = '''
|
||||||
@ -141,7 +157,7 @@ class Worker(Thread): # Get details {{{
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
self.ratings_pat = re.compile(
|
self.ratings_pat = re.compile(
|
||||||
r'([0-9.]+) ?(out of|von|su|étoiles sur|つ星のうち|de un máximo de) ([\d\.]+)( (stars|Sternen|stelle|estrellas)){0,1}')
|
r'([0-9.]+) ?(out of|von|su|étoiles sur|つ星のうち|de un máximo de|de) ([\d\.]+)( (stars|Sternen|stelle|estrellas|estrelas)){0,1}')
|
||||||
|
|
||||||
lm = {
|
lm = {
|
||||||
'eng': ('English', 'Englisch'),
|
'eng': ('English', 'Englisch'),
|
||||||
@ -150,6 +166,7 @@ class Worker(Thread): # Get details {{{
|
|||||||
'deu': ('German', 'Deutsch'),
|
'deu': ('German', 'Deutsch'),
|
||||||
'spa': ('Spanish', 'Espa\xf1ol', 'Espaniol'),
|
'spa': ('Spanish', 'Espa\xf1ol', 'Espaniol'),
|
||||||
'jpn': ('Japanese', u'日本語'),
|
'jpn': ('Japanese', u'日本語'),
|
||||||
|
'por': ('Portuguese', 'Português'),
|
||||||
}
|
}
|
||||||
self.lang_map = {}
|
self.lang_map = {}
|
||||||
for code, names in lm.iteritems():
|
for code, names in lm.iteritems():
|
||||||
@ -505,6 +522,7 @@ class Amazon(Source):
|
|||||||
'it' : _('Italy'),
|
'it' : _('Italy'),
|
||||||
'jp' : _('Japan'),
|
'jp' : _('Japan'),
|
||||||
'es' : _('Spain'),
|
'es' : _('Spain'),
|
||||||
|
'br' : _('Brazil'),
|
||||||
}
|
}
|
||||||
|
|
||||||
options = (
|
options = (
|
||||||
@ -570,6 +588,8 @@ class Amazon(Source):
|
|||||||
url = 'http://amzn.com/'+asin
|
url = 'http://amzn.com/'+asin
|
||||||
elif domain == 'uk':
|
elif domain == 'uk':
|
||||||
url = 'http://www.amazon.co.uk/dp/'+asin
|
url = 'http://www.amazon.co.uk/dp/'+asin
|
||||||
|
elif domain == 'br':
|
||||||
|
url = 'http://www.amazon.com.br/dp/'+asin
|
||||||
else:
|
else:
|
||||||
url = 'http://www.amazon.%s/dp/%s'%(domain, asin)
|
url = 'http://www.amazon.%s/dp/%s'%(domain, asin)
|
||||||
if url:
|
if url:
|
||||||
@ -629,7 +649,7 @@ class Amazon(Source):
|
|||||||
q['field-isbn'] = isbn
|
q['field-isbn'] = isbn
|
||||||
else:
|
else:
|
||||||
# Only return book results
|
# Only return book results
|
||||||
q['search-alias'] = 'stripbooks'
|
q['search-alias'] = 'digital-text' if domain == 'br' else 'stripbooks'
|
||||||
if title:
|
if title:
|
||||||
title_tokens = list(self.get_title_tokens(title))
|
title_tokens = list(self.get_title_tokens(title))
|
||||||
if title_tokens:
|
if title_tokens:
|
||||||
@ -661,6 +681,8 @@ class Amazon(Source):
|
|||||||
udomain = 'co.uk'
|
udomain = 'co.uk'
|
||||||
elif domain == 'jp':
|
elif domain == 'jp':
|
||||||
udomain = 'co.jp'
|
udomain = 'co.jp'
|
||||||
|
elif domain == 'br':
|
||||||
|
udomain = 'com.br'
|
||||||
url = 'http://www.amazon.%s/s/?'%udomain + urlencode(encoded_q)
|
url = 'http://www.amazon.%s/s/?'%udomain + urlencode(encoded_q)
|
||||||
return url, domain
|
return url, domain
|
||||||
|
|
||||||
@ -978,6 +1000,16 @@ if __name__ == '__main__': # tests {{{
|
|||||||
),
|
),
|
||||||
] # }}}
|
] # }}}
|
||||||
|
|
||||||
|
br_tests = [ # {{{
|
||||||
|
(
|
||||||
|
{'title':'Guerra dos Tronos'},
|
||||||
|
[title_test('A Guerra dos Tronos - As Crônicas de Gelo e Fogo',
|
||||||
|
exact=True), authors_test(['George R. R. Martin'])
|
||||||
|
]
|
||||||
|
|
||||||
|
),
|
||||||
|
] # }}}
|
||||||
|
|
||||||
def do_test(domain, start=0, stop=None):
|
def do_test(domain, start=0, stop=None):
|
||||||
tests = globals().get(domain+'_tests')
|
tests = globals().get(domain+'_tests')
|
||||||
if stop is None:
|
if stop is None:
|
||||||
@ -988,7 +1020,7 @@ if __name__ == '__main__': # tests {{{
|
|||||||
|
|
||||||
do_test('com')
|
do_test('com')
|
||||||
|
|
||||||
#do_test('de')
|
# do_test('de')
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user