From 9b119479896815a9967c93aab4418aba67f22213 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 29 Mar 2011 13:42:12 -0600 Subject: [PATCH] Prost Amerika, WV Hooligan and SB Nation by rylsfan --- recipes/icons/prostamerika.png | Bin 0 -> 561 bytes recipes/icons/sb_nation.png | Bin 0 -> 3576 bytes recipes/icons/wvhooligan.png | Bin 0 -> 1240 bytes recipes/prostamerika.recipe | 68 ++++++++++++++++++ recipes/sb_nation.recipe | 56 +++++++++++++++ recipes/wvhooligan.recipe | 61 ++++++++++++++++ .../ebooks/metadata/sources/identify.py | 19 +++++ 7 files changed, 204 insertions(+) create mode 100644 recipes/icons/prostamerika.png create mode 100644 recipes/icons/sb_nation.png create mode 100644 recipes/icons/wvhooligan.png create mode 100644 recipes/prostamerika.recipe create mode 100644 recipes/sb_nation.recipe create mode 100644 recipes/wvhooligan.recipe diff --git a/recipes/icons/prostamerika.png b/recipes/icons/prostamerika.png new file mode 100644 index 0000000000000000000000000000000000000000..f88c846bed94906a3d33ea8ae7c1cb63af558e79 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfnE;;+k$H2!GJ}Ew!@`9OU%xWQ$S^oL zF_e}vym`aW)WqQB#ULTU(A~|@(!$W#$WT+mU}eR?&JJ|d|J50~=ES4#=3}>Eak7aXGjDx=@n?kLzZguE4;>8e&JfM33ry`}AM_ z>9oR{1HUKC+)^#nuw=%;r963RQJRuI9?_C6XQFo6+*lQ-G0kH|OyQ~nUoy^?-l<}q zrMvgZMzfz+UVi(vr0Aj1g2V^?2{w%Hqi3*fuG|rEtLw~S(Y2jsx8>{AeZI3N%*v8~ zJo(5x{qWj$@%!&O6z%5e`})3;b$w<1Z~uSB=IcDFS=z_X0o|!u;u=wsl30>zm0Xkx zq!^403=MS+jCGAHLkx|rjLobJEp!dctPBk5`MfGoH00)|WTsW3XfU!eF}5;+Y6vm^ R{TQf$!PC{xWt~$(698L4zS{r* literal 0 HcmV?d00001 diff --git a/recipes/icons/sb_nation.png b/recipes/icons/sb_nation.png new file mode 100644 index 0000000000000000000000000000000000000000..9d82e492dee9fe4980e174df3962b7b4a3446791 GIT binary patch literal 3576 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 By ' + article.author + '

') diff --git a/recipes/wvhooligan.recipe b/recipes/wvhooligan.recipe new file mode 100644 index 0000000000..680ac6f244 --- /dev/null +++ b/recipes/wvhooligan.recipe @@ -0,0 +1,61 @@ +#!/usr/bin/env python +__license__ = 'GPL 3' +__copyright__ = 'zotzo' +__docformat__ = 'restructuredtext en' +''' +http://wvhooligan.com/ +''' +from calibre.web.feeds.news import BasicNewsRecipe +#import re + +class wvHooligan(BasicNewsRecipe): + authors = u'Drew Epperley' + __author__ = 'rylsfan' + language = 'en' + version = 2 + + title = u'WV Hooligan' + publisher = u'Drew Epperley' + publication_type = 'Blog' + category = u'Soccer' + description = u'A look at Major League Soccer (MLS) through the eyes of a MLS writer and fan.' + + cover_url = 'http://wvhooligan.com/wp-content/themes/urbanelements/images/logo3.png' + + oldest_article = 15 + max_articles_per_feed = 150 + use_embedded_content = True + no_stylesheets = True + remove_javascript = True + encoding = 'utf8' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + remove_tags = [ + {'class': 'feedflare'}, + {'class': 'tweetmeme_button'}, + ] + + def preprocess_html(self, soup): + return self.adeify_images(soup) + + feeds =[ + (u'Stories', u'http://feeds2.feedburner.com/wvhooligan'), + (u'MLS', u'http://wvhooligan.com/category/mls/feed/'), + (u'MLS Power Rankings', u'http://wvhooligan.com/category/power-rankings/feed/'), + (u'MLS Expansion', u'http://wvhooligan.com/category/mls/expansion-talk/feed/'), + (u'US National Team', u'http://wvhooligan.com/category/us-national-team/feed/'), + (u'College', u'http://wvhooligan.com/category/college-soccer/feed/'), + ] + + extra_css = ''' + h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} + h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} + p{font-family:Arial,Helvetica,sans-serif;font-size:small;} + body{font-family:Helvetica,Arial,sans-serif;font-size:small;} + ''' diff --git a/src/calibre/ebooks/metadata/sources/identify.py b/src/calibre/ebooks/metadata/sources/identify.py index 5bc0c5b256..ed7d8f2203 100644 --- a/src/calibre/ebooks/metadata/sources/identify.py +++ b/src/calibre/ebooks/metadata/sources/identify.py @@ -42,6 +42,7 @@ def is_worker_alive(workers): return False def identify(log, abort, title=None, authors=None, identifiers=[], timeout=30): + start_time = time.time() plugins = list(metadata_plugins['identify']) kwargs = { @@ -105,3 +106,21 @@ def identify(log, abort, title=None, authors=None, identifiers=[], timeout=30): log(plog) log('\n'+'*'*80) + for i, result in enumerate(results): + result.relevance_in_source = i + result.has_cached_cover_url = \ + plugin.get_cached_cover_url(result.identifiers) is not None + result.identify_plugin = plugin + + log('The identify phase took %.2f seconds'%(time.time() - start_time)) + log('Merging results from different sources and finding earliest', + 'publication dates') + start_time = time.time() + merged_results = merge_identify_results(results, log) + log('We have %d merged results, merging took: %.2f seconds' % + (len(merged_results), time.time() - start_time)) + +def merge_identify_results(result_map, log): + pass + +