diff --git a/resources/recipes/calcalist.recipe b/resources/recipes/calcalist.recipe new file mode 100644 index 0000000000..267924d72c --- /dev/null +++ b/resources/recipes/calcalist.recipe @@ -0,0 +1,43 @@ +from calibre.web.feeds.news import BasicNewsRecipe +from calibre.ebooks.BeautifulSoup import re + +class AdvancedUserRecipe1283848012(BasicNewsRecipe): + description = 'This is a recipe of Calcalist.co.il. The recipe downloads the article page to not hurt the sites advertising income.' + cover_url = 'http://ftp5.bizportal.co.il/web/giflib/news/calcalist.JPG' + title = u'Calcalist' + language = 'he' + __author__ = 'marbs' + extra_css='img {max-width:100%;} body{direction: rtl;},title{direction: rtl; } ,article_description{direction: rtl; }, a.article{direction: rtl; } ,calibre_feed_description{direction: rtl; }' + simultaneous_downloads = 5 + remove_javascript = True + timefmt = '[%a, %d %b, %Y]' + oldest_article = 1 + max_articles_per_feed = 100 + remove_attributes = ['width'] + simultaneous_downloads = 5 + keep_only_tags =dict(name='div', attrs={'id':'articleContainer'}) + remove_tags = [dict(name='p', attrs={'text':[' ']})] + max_articles_per_feed = 100 + preprocess_regexps = [ + (re.compile(r'
', re.DOTALL|re.IGNORECASE), lambda match: '') + ] + + + feeds = [(u'\u05d3\u05e3 \u05d4\u05d1\u05d9\u05ea', u'http://www.calcalist.co.il/integration/StoryRss8.xml'), + (u'24/7', u'http://www.calcalist.co.il/integration/StoryRss3674.xml'), + (u'\u05d1\u05d0\u05d6\u05d6', u'http://www.calcalist.co.il/integration/StoryRss3674.xml'), + (u'\u05de\u05d1\u05d6\u05e7\u05d9\u05dd', u'http://www.calcalist.co.il/integration/StoryRss184.xml'), + (u'\u05d4\u05e9\u05d5\u05e7', u'http://www.calcalist.co.il/integration/StoryRss2.xml'), + (u'\u05d1\u05d0\u05e8\u05e5', u'http://www.calcalist.co.il/integration/StoryRss14.xml'), + (u'\u05d4\u05db\u05e1\u05e3', u'http://www.calcalist.co.il/integration/StoryRss9.xml'), + (u'\u05e0\u05d3\u05dc"\u05df', u'http://www.calcalist.co.il/integration/StoryRss7.xml'), + (u'\u05e2\u05d5\u05dc\u05dd', u'http://www.calcalist.co.il/integration/StoryRss13.xml'), + (u'\u05e4\u05e8\u05e1\u05d5\u05dd \u05d5\u05e9\u05d9\u05d5\u05d5\u05e7', u'http://www.calcalist.co.il/integration/StoryRss5.xml'), + (u'\u05e4\u05e0\u05d0\u05d9', u'http://www.calcalist.co.il/integration/StoryRss3.xml'), + (u'\u05d8\u05db\u05e0\u05d5\u05dc\u05d5\u05d2\u05d9', u'http://www.calcalist.co.il/integration/StoryRss4.xml'), + (u'\u05e2\u05e1\u05e7\u05d9 \u05e1\u05e4\u05d5\u05e8\u05d8', u'http://www.calcalist.co.il/integration/StoryRss18.xml')] + + def print_version(self, url): + split1 = url.split("-") + print_url = 'http://www.calcalist.co.il/Ext/Comp/ArticleLayout/CdaArticlePrintPreview/1,2506,L-' + split1[1] + return print_url diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 35abf30272..a4b8887ebd 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -105,7 +105,9 @@ else: os.makedirs(config_dir, mode=CONFIG_DIR_MODE) except: pass - if not os.access(config_dir, os.W_OK) or not os.access(config_dir, os.X_OK): + if not os.path.exists(config_dir) or \ + not os.access(config_dir, os.W_OK) or not \ + os.access(config_dir, os.X_OK): print 'No write acces to', config_dir, 'using a temporary dir instead' import tempfile, atexit config_dir = tempfile.mkdtemp(prefix='calibre-config-') diff --git a/src/calibre/ebooks/metadata/amazon.py b/src/calibre/ebooks/metadata/amazon.py index 81d996c6a7..1ee77fec39 100644 --- a/src/calibre/ebooks/metadata/amazon.py +++ b/src/calibre/ebooks/metadata/amazon.py @@ -49,13 +49,12 @@ def get_social_metadata(title, authors, publisher, isbn): return mi br = browser() asin = to_asin(br, isbn) - if asin: - if get_metadata(br, asin, mi): - return mi + if asin and get_metadata(br, asin, mi): + return mi from calibre.ebooks.metadata.xisbn import xisbn for i in xisbn.get_associated_isbns(isbn): asin = to_asin(br, i) - if get_metadata(br, asin, mi): + if asin and get_metadata(br, asin, mi): return mi return mi