Pull from trunk

This commit is contained in:
Kovid Goyal 2009-04-02 11:12:00 -07:00
commit 9ebb335346
19 changed files with 313 additions and 314 deletions

View File

@ -208,6 +208,10 @@ class HTMLProcessor(Processor, Rationalizer):
for tag in self.root.xpath('//table | //tr | //th | //td'): for tag in self.root.xpath('//table | //tr | //th | //td'):
tag.tag = 'div' tag.tag = 'div'
# ADE can't handle & in an img url
for tag in self.root.xpath('//img[@src]'):
tag.set('src', tag.get('src', '').replace('&', ''))
def save(self): def save(self):
for meta in list(self.root.xpath('//meta')): for meta in list(self.root.xpath('//meta')):

View File

@ -162,9 +162,13 @@ class LRFStream(LRFObject):
self.stream = stream.read(self.stream_size) self.stream = stream.read(self.stream_size)
if self.stream_flags & 0x200 !=0: if self.stream_flags & 0x200 !=0:
l = len(self.stream); l = len(self.stream);
key = l % self._scramble_key + 0xF; key = self._scramble_key&0xFF
if key != 0 and key <= 0xF0:
key = l % key + 0xF
else:
key = 0
if l > 0x400 and (isinstance(self, ImageStream) or isinstance(self, Font) or isinstance(self, SoundStream)): if l > 0x400 and (isinstance(self, ImageStream) or isinstance(self, Font) or isinstance(self, SoundStream)):
l = 0x400; l = 0x400
self.stream = self.descramble_buffer(self.stream, l, key) self.stream = self.descramble_buffer(self.stream, l, key)
if self.stream_flags & 0x100 !=0: if self.stream_flags & 0x100 !=0:
decomp_size = struct.unpack("<I", self.stream[:4])[0] decomp_size = struct.unpack("<I", self.stream[:4])[0]

View File

@ -13,7 +13,6 @@ class Exiled(BasicNewsRecipe):
__author__ = 'Darko Miletic' __author__ = 'Darko Miletic'
description = "Mankind's only alternative since 1997 - Formerly known as The eXile" description = "Mankind's only alternative since 1997 - Formerly known as The eXile"
publisher = 'Exiled Online' publisher = 'Exiled Online'
language = _('English')
category = 'news, politics, international' category = 'news, politics, international'
oldest_article = 15 oldest_article = 15
max_articles_per_feed = 100 max_articles_per_feed = 100
@ -21,10 +20,12 @@ class Exiled(BasicNewsRecipe):
use_embedded_content = False use_embedded_content = False
encoding = 'utf8' encoding = 'utf8'
remove_javascript = True remove_javascript = True
language = _('English')
cover_url = 'http://exiledonline.com/wp-content/themes/exiledonline_theme/images/header-sm.gif' cover_url = 'http://exiledonline.com/wp-content/themes/exiledonline_theme/images/header-sm.gif'
html2lrf_options = [ html2lrf_options = [
'--comment' , description '--comment' , description
, '--base-font-size', '10'
, '--category' , category , '--category' , category
, '--publisher' , publisher , '--publisher' , publisher
] ]
@ -49,3 +50,8 @@ class Exiled(BasicNewsRecipe):
soup.head.insert(0,mtag) soup.head.insert(0,mtag)
return soup return soup
def get_article_url(self, article):
raw = article.get('link', None)
final = raw + 'all/1/'
return final

View File

@ -6,7 +6,7 @@ __copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>'
laprensa.com.ni laprensa.com.ni
''' '''
import locale import datetime
import time import time
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
@ -23,23 +23,9 @@ class LaPrensa_ni(BasicNewsRecipe):
encoding = 'cp1252' encoding = 'cp1252'
remove_javascript = True remove_javascript = True
language = _('Spanish') language = _('Spanish')
months_es = ['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre']
#Locale setting to get appropriate date/month values in Spanish current_month = months_es[datetime.date.today().month - 1]
try: current_index = time.strftime("http://www.laprensa.com.ni/archivo/%Y/" + current_month + "/%d/noticias/")
#Windows seting for locale
locale.setlocale(locale.LC_TIME,'Spanish_Nicaragua')
except locale.Error:
#Linux setting for locale -- choose one appropriate for your distribution
try:
locale.setlocale(locale.LC_TIME,'es_NI')
except locale.Error:
try:
locale.setlocale(locale.LC_TIME,'es_ES')
except:
pass
current_index = time.strftime("http://www.laprensa.com.ni/archivo/%Y/%B/%d/noticias/")
html2lrf_options = [ html2lrf_options = [
'--comment', description '--comment', description
@ -91,6 +77,3 @@ class LaPrensa_ni(BasicNewsRecipe):
totalfeeds.append((feedtitle, articles)) totalfeeds.append((feedtitle, articles))
return totalfeeds return totalfeeds
def cleanup(self):
#Going back to the default locale
locale.setlocale(locale.LC_TIME,'')

View File

@ -2,10 +2,10 @@ from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.db.models import permalink from django.db.models import permalink
from django.contrib.auth.models import User from django.contrib.auth.models import User
from calibre.www.apps.tagging.fields import TagField from tagging.fields import TagField
from calibre.www.apps.blog.managers import PublicManager from calibre.www.apps.blog.managers import PublicManager
import calibre.www.apps.tagging as tagging import tagging
class Category(models.Model): class Category(models.Model):
"""Category model.""" """Category model."""

View File

@ -40,10 +40,10 @@ INSTALLED_APPS = (
'django.contrib.sites', 'django.contrib.sites',
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.comments', 'django.contrib.comments',
'django.contrib.markup',
'calibre.www.apps.inlines', 'calibre.www.apps.inlines',
'calibre.www.apps.tagging', 'tagging',
'calibre.www.apps.blog', 'calibre.www.apps.blog',
) )

View File

@ -2,14 +2,16 @@ from django.conf.urls.defaults import patterns, include, handler404, handler500
from django.conf import settings from django.conf import settings
# Uncomment the next two lines to enable the admin: # Uncomment the next two lines to enable the admin:
#from django.contrib import admin from django.contrib import admin
#admin.autodiscover() admin.autodiscover()
urlpatterns = patterns('', urlpatterns = patterns('',
# (r'^admin/(.*)', admin.site.root), (r'^admin/(.*)', admin.site.root),
(r'^comments/', include('django.contrib.comments.urls')), (r'^comments/', include('django.contrib.comments.urls')),
(r'', include('calibre.www.apps.blog.urls')),
) )

View File

@ -1,6 +1,6 @@
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from calibre.www.apps.tagging.managers import ModelTaggedItemManager, TagDescriptor from tagging.managers import ModelTaggedItemManager, TagDescriptor
VERSION = (0, 3, 'pre') VERSION = (0, 3, 'pre')

View File

@ -1,5 +1,5 @@
from django.contrib import admin from django.contrib import admin
from calibre.www.apps.tagging.models import Tag, TaggedItem from tagging.models import Tag, TaggedItem
admin.site.register(TaggedItem) admin.site.register(TaggedItem)
admin.site.register(Tag) admin.site.register(Tag)

View File

@ -5,9 +5,9 @@ from django.db.models import signals
from django.db.models.fields import CharField from django.db.models.fields import CharField
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from calibre.www.apps.tagging import settings from tagging import settings
from calibre.www.apps.tagging.models import Tag from tagging.models import Tag
from calibre.www.apps.tagging.utils import edit_string_for_tags from tagging.utils import edit_string_for_tags
class TagField(CharField): class TagField(CharField):
""" """
@ -101,7 +101,7 @@ class TagField(CharField):
return 'CharField' return 'CharField'
def formfield(self, **kwargs): def formfield(self, **kwargs):
from calibre.www.apps.tagging import forms from tagging import forms
defaults = {'form_class': forms.TagField} defaults = {'form_class': forms.TagField}
defaults.update(kwargs) defaults.update(kwargs)
return super(TagField, self).formfield(**defaults) return super(TagField, self).formfield(**defaults)

View File

@ -4,9 +4,9 @@ Tagging components for Django's form library.
from django import forms from django import forms
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from calibre.www.apps.tagging import settings from tagging import settings
from calibre.www.apps.tagging.models import Tag from tagging.models import Tag
from calibre.www.apps.tagging.utils import parse_tag_input from tagging.utils import parse_tag_input
class AdminTagForm(forms.ModelForm): class AdminTagForm(forms.ModelForm):
class Meta: class Meta:

View File

@ -5,7 +5,7 @@ application.
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db import models from django.db import models
from calibre.www.apps.tagging.models import Tag, TaggedItem from tagging.models import Tag, TaggedItem
class ModelTagManager(models.Manager): class ModelTagManager(models.Manager):
""" """

View File

@ -13,9 +13,9 @@ from django.db import connection, models
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from calibre.www.apps.tagging import settings from tagging import settings
from calibre.www.apps.tagging.utils import calculate_cloud, get_tag_list, get_queryset_and_model, parse_tag_input from tagging.utils import calculate_cloud, get_tag_list, get_queryset_and_model, parse_tag_input
from calibre.www.apps.tagging.utils import LOGARITHMIC from tagging.utils import LOGARITHMIC
qn = connection.ops.quote_name qn = connection.ops.quote_name

View File

@ -159,7 +159,7 @@ def get_tag_list(tags):
* A ``Tag`` ``QuerySet``. * A ``Tag`` ``QuerySet``.
""" """
from calibre.www.apps.tagging.models import Tag from tagging.models import Tag
if isinstance(tags, Tag): if isinstance(tags, Tag):
return [tags] return [tags]
elif isinstance(tags, QuerySet) and tags.model is Tag: elif isinstance(tags, QuerySet) and tags.model is Tag:
@ -201,7 +201,7 @@ def get_tag(tag):
If no matching tag can be found, ``None`` will be returned. If no matching tag can be found, ``None`` will be returned.
""" """
from calibre.www.apps.tagging.models import Tag from tagging.models import Tag
if isinstance(tag, Tag): if isinstance(tag, Tag):
return tag return tag

View File

@ -5,8 +5,8 @@ from django.http import Http404
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.views.generic.list_detail import object_list from django.views.generic.list_detail import object_list
from calibre.www.apps.tagging.models import Tag, TaggedItem from tagging.models import Tag, TaggedItem
from calibre.www.apps.tagging.utils import get_tag, get_queryset_and_model from tagging.utils import get_tag, get_queryset_and_model
def tagged_object_list(request, queryset_or_model=None, tag=None, def tagged_object_list(request, queryset_or_model=None, tag=None,
related_tags=False, related_tag_counts=True, **kwargs): related_tags=False, related_tag_counts=True, **kwargs):