diff --git a/recipes/computing_uk.recipe b/recipes/computing_uk.recipe new file mode 100644 index 0000000000..97b8b53c8a --- /dev/null +++ b/recipes/computing_uk.recipe @@ -0,0 +1,123 @@ +# -*- mode: python -*- +# -*- coding: utf-8 -*- + +__license__ = 'GPL v3' +__copyright__ = '2018, Darko Miletic ' +''' +www.computing.co.uk +''' + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Computing_UK(BasicNewsRecipe): + title = 'Computing' + __author__ = 'Darko Miletic' + description = 'Computing is the leading information resource for UK technology decision makers, providing the latest market news and hard-hitting opinion.' + publisher = 'Incisive Business Media Limited' + category = 'it computing uk, computing events, big data summit, cloud and infrastructure, it devops, computing security, HP, intel' + oldest_article = 7 + no_stylesheets = True + encoding = 'utf8' + use_embedded_content = False + language = 'en_GB' + remove_empty_feeds = True + publication_type = 'newsportal' + auto_cleanup = True + resolve_internal_links = True + needs_subscription = True + ignore_duplicate_articles = {'url'} + INDEX = 'https://www.computing.co.uk/' + LOGIN = 'https://www.computing.co.uk/userlogin' + + def get_browser(self): + + def is_form_login(form): + return "id" in form.attrs and form.attrs['id'] == "userlogin" + + br = BasicNewsRecipe.get_browser(self) + br.open(self.INDEX) + if self.username: + br.open(self.LOGIN) + br.select_form(predicate=is_form_login) + br['subscriber[email_id]'] = self.username + br['subscriber[password]'] = self.password + br.submit() + return br + + extra_css = """ + body{font-family: sans-serif} + img{margin-top:1em; margin-bottom: 1em; display:block} + """ + + conversion_options = { + 'comment': description, + 'tags': category, + 'publisher': publisher, + 'language': language + } + + feeds = [ + ( + u'Financial Solutions', + u'https://www.computing.co.uk/feeds/rss/category/financial-solutions/' + ), + ( + u'Big Data', + u'https://www.computing.co.uk/feeds/rss/category/big-data-and-analytics/' + ), + (u'DevOps', u'https://www.computing.co.uk/feeds/rss/category/devops/'), + ( + u'Cloud and Infrastructure', + u'https://www.computing.co.uk/feeds/rss/category/cloud-and-infrastructure/' + ), + ( + u'Internet of Things', + u'https://www.computing.co.uk/feeds/rss/category/internet-of-things/' + ), + ( + u'Leadership', + u'https://www.computing.co.uk/feeds/rss/category/leadership/' + ), + ( + u'Application', + u'https://www.computing.co.uk/feeds/rss/category/software/applications/' + ), + ( + u'Business Software', + u'https://www.computing.co.uk/feeds/rss/category/software/business-software/' + ), + ( + u'Developer', + u'https://www.computing.co.uk/feeds/rss/category/software/developer/' + ), + ( + u'Mobile Software', + u'https://www.computing.co.uk/feeds/rss/category/software/mobile-software/' + ), + (u'Strategy', u'https://www.computing.co.uk/feeds/rss/category/strategy/'), + ( + u'Corporate', + u'https://www.computing.co.uk/feeds/rss/category/management/corporate/' + ), + ( + u'Privacy', + u'https://www.computing.co.uk/feeds/rss/category/security/privacy/' + ), + (u'Security', u'https://www.computing.co.uk/feeds/rss/category/security/'), + (u'Hardware', u'https://www.computing.co.uk/feeds/rss/category/hardware/'), + ( + u'Mobile Phones', + u'https://www.computing.co.uk/feeds/rss/category/hardware/mobile-phones/' + ), + ( + u'Communications', + u'https://www.computing.co.uk/feeds/rss/category/communications/' + ), + ( + u'Public Sector', + u'https://www.computing.co.uk/feeds/rss/category/public-sector/' + ), + (u'Security', u'https://www.computing.co.uk/feeds/rss/category/security/'), + (u'Security', u'https://www.computing.co.uk/feeds/rss/category/security/'), + ] diff --git a/recipes/icons/computing_uk.png b/recipes/icons/computing_uk.png new file mode 100644 index 0000000000..18c9d48196 Binary files /dev/null and b/recipes/icons/computing_uk.png differ