mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Sync to trunk.
This commit is contained in:
commit
b8166db5cc
@ -192,7 +192,7 @@ class PMLMLizer(object):
|
|||||||
text += '\\w'
|
text += '\\w'
|
||||||
width = elem.get('width')
|
width = elem.get('width')
|
||||||
if width:
|
if width:
|
||||||
text += '="%s%"' % width
|
text += '="%s%%"' % width
|
||||||
else:
|
else:
|
||||||
text += '="50%"'
|
text += '="50%"'
|
||||||
|
|
||||||
|
@ -17,232 +17,225 @@
|
|||||||
<iconset resource="../images.qrc">
|
<iconset resource="../images.qrc">
|
||||||
<normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset>
|
<normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item row="0" column="0">
|
<item>
|
||||||
<widget class="QSplitter" name="splitter">
|
<layout class="QVBoxLayout">
|
||||||
<property name="orientation">
|
<property name="spacing">
|
||||||
<enum>Qt::Horizontal</enum>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<property name="margin">
|
||||||
<layout class="QVBoxLayout">
|
<number>0</number>
|
||||||
<property name="spacing">
|
</property>
|
||||||
<number>6</number>
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Meta information</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="margin">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<number>0</number>
|
<item row="0" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="label_2">
|
||||||
<item>
|
<property name="text">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<string>&Author(s): </string>
|
||||||
<property name="title">
|
</property>
|
||||||
<string>Meta information</string>
|
<property name="alignment">
|
||||||
</property>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
</property>
|
||||||
<item row="0" column="0">
|
<property name="buddy">
|
||||||
<widget class="QLabel" name="label_2">
|
<cstring>authors</cstring>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>&Author(s): </string>
|
</widget>
|
||||||
</property>
|
</item>
|
||||||
<property name="alignment">
|
<item row="1" column="1">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<widget class="QCheckBox" name="auto_author_sort">
|
||||||
</property>
|
<property name="text">
|
||||||
<property name="buddy">
|
<string>A&utomatically set author sort</string>
|
||||||
<cstring>authors</cstring>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="2" column="0">
|
||||||
<item row="2" column="0">
|
<widget class="QLabel" name="label_8">
|
||||||
<widget class="QLabel" name="label_8">
|
<property name="text">
|
||||||
<property name="text">
|
<string>Author s&ort: </string>
|
||||||
<string>Author s&ort: </string>
|
</property>
|
||||||
</property>
|
<property name="alignment">
|
||||||
<property name="alignment">
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
</property>
|
||||||
</property>
|
<property name="buddy">
|
||||||
<property name="buddy">
|
<cstring>author_sort</cstring>
|
||||||
<cstring>author_sort</cstring>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="2" column="1" colspan="2">
|
||||||
<item row="2" column="1" colspan="2">
|
<widget class="EnLineEdit" name="author_sort">
|
||||||
<widget class="EnLineEdit" name="author_sort">
|
<property name="toolTip">
|
||||||
<property name="toolTip">
|
<string>Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.</string>
|
||||||
<string>Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="3" column="0">
|
||||||
<item row="3" column="0">
|
<widget class="QLabel" name="label_6">
|
||||||
<widget class="QLabel" name="label_6">
|
<property name="text">
|
||||||
<property name="text">
|
<string>&Rating:</string>
|
||||||
<string>&Rating:</string>
|
</property>
|
||||||
</property>
|
<property name="alignment">
|
||||||
<property name="alignment">
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
</property>
|
||||||
</property>
|
<property name="buddy">
|
||||||
<property name="buddy">
|
<cstring>rating</cstring>
|
||||||
<cstring>rating</cstring>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="3" column="1" colspan="2">
|
||||||
<item row="3" column="1" colspan="2">
|
<widget class="QSpinBox" name="rating">
|
||||||
<widget class="QSpinBox" name="rating">
|
<property name="toolTip">
|
||||||
<property name="toolTip">
|
<string>Rating of this book. 0-5 stars</string>
|
||||||
<string>Rating of this book. 0-5 stars</string>
|
</property>
|
||||||
</property>
|
<property name="whatsThis">
|
||||||
<property name="whatsThis">
|
<string>Rating of this book. 0-5 stars</string>
|
||||||
<string>Rating of this book. 0-5 stars</string>
|
</property>
|
||||||
</property>
|
<property name="buttonSymbols">
|
||||||
<property name="buttonSymbols">
|
<enum>QAbstractSpinBox::PlusMinus</enum>
|
||||||
<enum>QAbstractSpinBox::PlusMinus</enum>
|
</property>
|
||||||
</property>
|
<property name="suffix">
|
||||||
<property name="suffix">
|
<string> stars</string>
|
||||||
<string> stars</string>
|
</property>
|
||||||
</property>
|
<property name="maximum">
|
||||||
<property name="maximum">
|
<number>5</number>
|
||||||
<number>5</number>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="4" column="0">
|
||||||
<item row="4" column="0">
|
<widget class="QLabel" name="label_3">
|
||||||
<widget class="QLabel" name="label_3">
|
<property name="text">
|
||||||
<property name="text">
|
<string>&Publisher: </string>
|
||||||
<string>&Publisher: </string>
|
</property>
|
||||||
</property>
|
<property name="alignment">
|
||||||
<property name="alignment">
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
</property>
|
||||||
</property>
|
<property name="buddy">
|
||||||
<property name="buddy">
|
<cstring>publisher</cstring>
|
||||||
<cstring>publisher</cstring>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="4" column="1">
|
||||||
<item row="5" column="0">
|
<widget class="EnComboBox" name="publisher">
|
||||||
<widget class="QLabel" name="label_4">
|
<property name="editable">
|
||||||
<property name="text">
|
<bool>true</bool>
|
||||||
<string>Add ta&gs: </string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="alignment">
|
</item>
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<item row="5" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="label_4">
|
||||||
<property name="buddy">
|
<property name="text">
|
||||||
<cstring>tags</cstring>
|
<string>Add ta&gs: </string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="alignment">
|
||||||
</item>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<item row="5" column="1">
|
</property>
|
||||||
<widget class="TagsLineEdit" name="tags">
|
<property name="buddy">
|
||||||
<property name="toolTip">
|
<cstring>tags</cstring>
|
||||||
<string>Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas.</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="5" column="1">
|
||||||
<item row="5" column="2">
|
<widget class="TagsLineEdit" name="tags">
|
||||||
<widget class="QToolButton" name="tag_editor_button">
|
<property name="toolTip">
|
||||||
<property name="toolTip">
|
<string>Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas.</string>
|
||||||
<string>Open Tag Editor</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="text">
|
</item>
|
||||||
<string>Open Tag Editor</string>
|
<item row="5" column="2">
|
||||||
</property>
|
<widget class="QToolButton" name="tag_editor_button">
|
||||||
<property name="icon">
|
<property name="toolTip">
|
||||||
<iconset resource="../images.qrc">
|
<string>Open Tag Editor</string>
|
||||||
<normaloff>:/images/chapters.svg</normaloff>:/images/chapters.svg</iconset>
|
</property>
|
||||||
</property>
|
<property name="text">
|
||||||
</widget>
|
<string>Open Tag Editor</string>
|
||||||
</item>
|
</property>
|
||||||
<item row="6" column="0">
|
<property name="icon">
|
||||||
<widget class="QLabel" name="label">
|
<iconset resource="../images.qrc">
|
||||||
<property name="text">
|
<normaloff>:/images/chapters.svg</normaloff>:/images/chapters.svg</iconset>
|
||||||
<string>&Remove tags:</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="buddy">
|
</item>
|
||||||
<cstring>remove_tags</cstring>
|
<item row="6" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="label">
|
||||||
</widget>
|
<property name="text">
|
||||||
</item>
|
<string>&Remove tags:</string>
|
||||||
<item row="6" column="1" colspan="2">
|
</property>
|
||||||
<widget class="TagsLineEdit" name="remove_tags">
|
<property name="buddy">
|
||||||
<property name="toolTip">
|
<cstring>remove_tags</cstring>
|
||||||
<string>Comma separated list of tags to remove from the books. </string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="6" column="1" colspan="2">
|
||||||
<item row="7" column="0">
|
<widget class="TagsLineEdit" name="remove_tags">
|
||||||
<widget class="QLabel" name="label_7">
|
<property name="toolTip">
|
||||||
<property name="text">
|
<string>Comma separated list of tags to remove from the books. </string>
|
||||||
<string>&Series:</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="textFormat">
|
</item>
|
||||||
<enum>Qt::PlainText</enum>
|
<item row="7" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="label_7">
|
||||||
<property name="alignment">
|
<property name="text">
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
<string>&Series:</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy">
|
<property name="textFormat">
|
||||||
<cstring>series</cstring>
|
<enum>Qt::PlainText</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="alignment">
|
||||||
</item>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<item row="7" column="1">
|
</property>
|
||||||
<widget class="EnComboBox" name="series">
|
<property name="buddy">
|
||||||
<property name="toolTip">
|
<cstring>series</cstring>
|
||||||
<string>List of known series. You can add new series.</string>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="whatsThis">
|
</item>
|
||||||
<string>List of known series. You can add new series.</string>
|
<item row="7" column="1">
|
||||||
</property>
|
<widget class="EnComboBox" name="series">
|
||||||
<property name="editable">
|
<property name="toolTip">
|
||||||
<bool>true</bool>
|
<string>List of known series. You can add new series.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="insertPolicy">
|
<property name="whatsThis">
|
||||||
<enum>QComboBox::InsertAlphabetically</enum>
|
<string>List of known series. You can add new series.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="editable">
|
||||||
<enum>QComboBox::AdjustToContents</enum>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="insertPolicy">
|
||||||
</item>
|
<enum>QComboBox::InsertAlphabetically</enum>
|
||||||
<item row="8" column="1">
|
</property>
|
||||||
<widget class="QComboBox" name="remove_format"/>
|
<property name="sizeAdjustPolicy">
|
||||||
</item>
|
<enum>QComboBox::AdjustToContents</enum>
|
||||||
<item row="8" column="0">
|
</property>
|
||||||
<widget class="QLabel" name="label_5">
|
</widget>
|
||||||
<property name="text">
|
</item>
|
||||||
<string>Remove &format:</string>
|
<item row="8" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="label_5">
|
||||||
<property name="buddy">
|
<property name="text">
|
||||||
<cstring>remove_format</cstring>
|
<string>Remove &format:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="buddy">
|
||||||
</item>
|
<cstring>remove_format</cstring>
|
||||||
<item row="1" column="1">
|
</property>
|
||||||
<widget class="QCheckBox" name="auto_author_sort">
|
</widget>
|
||||||
<property name="text">
|
</item>
|
||||||
<string>A&utomatically set author sort</string>
|
<item row="8" column="1">
|
||||||
</property>
|
<widget class="QComboBox" name="remove_format"/>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
<item row="0" column="1">
|
||||||
<item row="0" column="1">
|
<widget class="EnComboBox" name="authors">
|
||||||
<widget class="EnComboBox" name="authors">
|
<property name="editable">
|
||||||
<property name="editable">
|
<bool>true</bool>
|
||||||
<bool>true</bool>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
</layout>
|
||||||
<item row="4" column="1">
|
</widget>
|
||||||
<widget class="EnComboBox" name="publisher">
|
</item>
|
||||||
<property name="editable">
|
</layout>
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="button_box">
|
<widget class="QDialogButtonBox" name="button_box">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
|
@ -41,7 +41,7 @@ class SearchBox2(QComboBox):
|
|||||||
self.connect(self.line_edit, SIGNAL('key_pressed(PyQt_PyObject)'),
|
self.connect(self.line_edit, SIGNAL('key_pressed(PyQt_PyObject)'),
|
||||||
self.key_pressed, Qt.DirectConnection)
|
self.key_pressed, Qt.DirectConnection)
|
||||||
self.connect(self.line_edit, SIGNAL('mouse_released(PyQt_PyObject)'),
|
self.connect(self.line_edit, SIGNAL('mouse_released(PyQt_PyObject)'),
|
||||||
self.key_pressed, Qt.DirectConnection)
|
self.mouse_released, Qt.DirectConnection)
|
||||||
self.setEditable(True)
|
self.setEditable(True)
|
||||||
self.help_state = True
|
self.help_state = True
|
||||||
self.as_you_type = True
|
self.as_you_type = True
|
||||||
|
@ -3,7 +3,6 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
|||||||
'''
|
'''
|
||||||
Profile to download CNN
|
Profile to download CNN
|
||||||
'''
|
'''
|
||||||
import re
|
|
||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
class CNN(BasicNewsRecipe):
|
class CNN(BasicNewsRecipe):
|
||||||
@ -11,28 +10,53 @@ class CNN(BasicNewsRecipe):
|
|||||||
title = 'CNN'
|
title = 'CNN'
|
||||||
description = 'Global news'
|
description = 'Global news'
|
||||||
timefmt = ' [%d %b %Y]'
|
timefmt = ' [%d %b %Y]'
|
||||||
__author__ = 'Kovid Goyal'
|
__author__ = 'Kovid Goyal and Sujata Raman'
|
||||||
language = _('English')
|
language = _('English')
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
use_embedded_content = False
|
use_embedded_content = False
|
||||||
oldest_article = 15
|
oldest_article = 15
|
||||||
|
|
||||||
preprocess_regexps = [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in [
|
extra_css = '''
|
||||||
(r'<head>.*?<title', lambda match : '<head><title'),
|
h1{font-family :Arial,Helvetica,sans-serif; font-size:large}
|
||||||
(r'</title>.*?</head>', lambda match : '</title></head>'),
|
h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small}
|
||||||
(r'<body.*?<\!\-\-Article.*?>', lambda match : '<body>'),
|
.cnnTxtCmpnt{font-family :Arial,Helvetica,sans-serif; font-size:x-small}
|
||||||
(r'<\!\-\-Article End\-\->.*?</body>', lambda match : '</body>'),
|
.cnnTMcontent{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;color:#575757}
|
||||||
(r'(</h\d>)<ul>.*?</ul>', lambda match : match.group(1)), # drop story highlights
|
.storytext{font-family :Arial,Helvetica,sans-serif; font-size:x-small}
|
||||||
(r'<h2>(.*?)</h2><h1>(.*?)</h1>', lambda match : '<h1>' + match.group(1) + '</h1><h2>' + match.group(2) + '</h2>'), # sports uses h2 for main title and h1 for subtitle (???) switch these around
|
.storybyline{font-family :Arial,Helvetica,sans-serif; font-size:xx-small; color:#575757}
|
||||||
(r'<span class="cnnEmbeddedMosLnk">.*?</span>', lambda match : ''), # drop 'watch more' links
|
.credit{font-family :Arial,Helvetica,sans-serif; font-size:xx-small; color:#575757}
|
||||||
(r'(<div class="cnnstorybody">).*?(<p)', lambda match : match.group(1) + match.group(2)), # drop sports photos
|
.storyBrandingBanner{font-family :Arial,Helvetica,sans-serif; font-size:xx-small; color:#575757}
|
||||||
(r'</?table.*?>|</?tr.*?>|</?td.*?>', lambda match : ''), # drop table formatting
|
.storytimestamp{font-family :Arial,Helvetica,sans-serif; font-size:xx-small; color:#575757}
|
||||||
(r'<div class="cnnendofstorycontent".*?>.*?</div>', lambda match : ''), # drop extra business links
|
.timestamp{font-family :Arial,Helvetica,sans-serif; font-size:xx-small; color:#575757}
|
||||||
(r'<a href="#TOP">.*?</a>', lambda match : '') # drop business 'to top' link
|
.subhead p{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;}
|
||||||
] ]
|
.cnnStoryContent{font-family :Arial,Helvetica,sans-serif; font-size:xx-small}
|
||||||
|
.cnnContentContainer{font-family :Arial,Helvetica,sans-serif; font-size:xx-small}
|
||||||
|
.col1{font-family :Arial,Helvetica,sans-serif; font-size:x-small; color:#666666;}
|
||||||
|
.col3{color:#333333; font-family :Arial,Helvetica,sans-serif; font-size:x-small;font-weight:bold;}
|
||||||
|
.cnnInlineT1Caption{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;font-weight:bold;}
|
||||||
|
.cnnInlineT1Credit{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;color:#333333;}
|
||||||
|
.col10{color:#5A637E}
|
||||||
|
.cnnTimeStamp{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;color:#333333;}
|
||||||
|
.galleryhedDek{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;color:#575757;}
|
||||||
|
.galleryWidgetHeader{font-family :Arial,Helvetica,sans-serif; font-size:xx-small;color:#004276;}
|
||||||
|
.article-content{font-family :Arial,Helvetica,sans-serif; font-size:xx-small}
|
||||||
|
.cnnRecapStory{font-family :Arial,Helvetica,sans-serif; font-size:xx-small}
|
||||||
|
'''
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'class':["cnnWCBoxContent","cnnContent","cnnMainBodySecs"]}),
|
||||||
|
dict(name='div', attrs={'id':["contentBody","content"]}),
|
||||||
|
dict(name='td', attrs={'id':["cnnRecapStory"]}),]
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':["storyLink","article-tools clearfix","widget video related-video vList","cnnFooterBox","scrollArrows","boxHeading","cnnInlineMailbag","mainCol_lastBlock","cnn_bookmarks","cnnFooterBox","cnnEndOfStory","cnnInlineSL","cnnStoryHighlights","cnnFooterClick","cnnSnapShotHeader","cnnStoryToolsFooter","cnnWsnr","cnnUGCBox","cnnTopNewsModule","cnnStoryElementBox","cnnStoryPhotoBoxNavigation"]}),
|
||||||
|
dict(name='span', attrs={'class':["cnnEmbeddedMosLnk"]}),
|
||||||
|
dict(name='div', attrs={'id':["cnnIncldHlder","articleCommentsContainer","featuredContent","superstarsWidget","shareMenuContainer","rssMenuContainer","storyBrandingBanner","cnnRightCol","siteFeatures","quigo628","rightColumn","clickIncludeBox","cnnHeaderRightCol","cnnSCFontLabel","cnnSnapShotBottomRight","cnnSCFontButtons","rightColumn"]}),
|
||||||
|
dict(name='p', attrs={'class':["cnnTopics"]}),
|
||||||
|
dict(name='td', attrs={'class':["cnnRightRail"]}),
|
||||||
|
dict(name='table', attrs={'class':["cnnTMbox"]}),
|
||||||
|
dict(name='ul', attrs={'id':["cnnTopNav","cnnBotNav","cnnSBNav"]}),
|
||||||
|
]
|
||||||
|
|
||||||
def print_version(self, url):
|
# def print_version(self, url):
|
||||||
return 'http://www.printthis.clickability.com/pt/printThis?clickMap=printThis&fb=Y&url=' + url
|
# return 'http://www.printthis.clickability.com/pt/printThis?clickMap=printThis&fb=Y&url=' + url
|
||||||
|
|
||||||
feeds = [
|
feeds = [
|
||||||
('Top News', 'http://rss.cnn.com/rss/cnn_topstories.rss'),
|
('Top News', 'http://rss.cnn.com/rss/cnn_topstories.rss'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user