[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sueddeutsche-de shimbun patch
- From: David Engster <deng@xxxxxxxxxxxxxxx>
- Date: Mon, 27 Apr 2009 11:12:15 +0200
- X-ml-name: emacs-w3m
- X-mail-count: 10856
Please find attached a patch for the sueddeutsch-de shimbun.
Regards,
David
Index: sb-sueddeutsche-de.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/shimbun/sb-sueddeutsche-de.el,v
retrieving revision 1.2
diff -u -r1.2 sb-sueddeutsche-de.el
--- sb-sueddeutsche-de.el 24 Dec 2008 08:01:56 -0000 1.2
+++ sb-sueddeutsche-de.el 27 Apr 2009 09:10:25 -0000
@@ -30,40 +30,46 @@
(defvar shimbun-sueddeutsche-de-group-url
'(("alles"
"http://www.sueddeutsche.de/app/service/rss/alles/rss.xml")
- ("nachrichten"
- "http://www.sueddeutsche.de/app/service/rss/nachrichten/rss.xml")
+ ("topthemen"
+ "http://www.sueddeutsche.de/app/service/rss/topthemen/topthemen.xml")
("politik"
- "http://www.sueddeutsche.de/app/service/rss/ressort/politik/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Politik")
("wirtschaft"
- "http://www.sueddeutsche.de/app/service/rss/ressort/wirtschaft/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Wirtschaft")
("finanzen"
- "http://www.sueddeutsche.de/app/service/rss/ressort/finanzen/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Geld")
("kultur"
- "http://www.sueddeutsche.de/app/service/rss/ressort/kultur/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Kultur")
("sport"
- "http://www.sueddeutsche.de/app/service/rss/ressort/sport/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Sport")
+ ("bayern"
+ "http://rss.sueddeutsche.de/rss/Bayern")
("muenchen"
- "http://sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml")
+ "http://rss.sueddeutsche.de/rss/M%C3%BCnchen")
("panorama"
- "http://sueddeutsche.de/app/service/rss/ressort/panorama/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Panorama")
("leben"
- "http://sueddeutsche.de/app/service/rss/ressort/leben/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Leben%20&%20Stil")
("gesundheit"
- "http://sueddeutsche.de/app/service/rss/ressort/gesundheit/rss.xml")
+ "http://rss.sueddeutsche.de/rss/Gesundheit")
("computer"
- "http://sueddeutsche.de/app/service/rss/ressort/computerwissen/rss.xml")))
+ "http://rss.sueddeutsche.de/rss/Computer")
+ ("immobilien"
+ "http://rss.sueddeutsche.de/rss/Immobilien")
+ ("wissen"
+ "http://rss.sueddeutsche.de/rss/Wissen")
+ ("jobs"
+ "http://rss.sueddeutsche.de/rss/Job%20&%20Karriere")
+ ("reise"
+ "http://rss.sueddeutsche.de/rss/Reise")))
(defvar shimbun-sueddeutsche-de-groups
(mapcar 'car shimbun-sueddeutsche-de-group-url))
(defvar shimbun-sueddeutsche-de-from-address "invalid@xxxxxxxxxxxxxxx")
(defvar shimbun-sueddeutsche-de-content-start
- (concat "<!-- beginn content -->[^\0]*?alt=\"Trennlinie\">"
- ;; kino
- "\\|<div class=\"artikelImageBlockLeft\">"))
+ "<!--.*?[Bb]egin.*?[cC]ontent.*?-->\\|class=\"artikelBox\"")
(defvar shimbun-sueddeutsche-de-content-end
- (concat "<!-- ende content -->"
- ;; kino
- "\\|<!--NP-DROPEND-->"))
+ "<!--.*?[eE]nde.*?[cC]ontent.*?-->")
(defvar shimbun-sueddeutsche-de-x-face-alist
'(("default" . "\
@@ -75,27 +81,13 @@
(let ((group (shimbun-current-group-internal shimbun)))
(cadr (assoc group shimbun-sueddeutsche-de-group-url))))
-(luna-define-method shimbun-get-headers :around ((shimbun
- shimbun-sueddeutsche-de)
- &optional range)
- (let ((headers (luna-call-next-method))
- url)
- (mapcar
- (lambda (header)
- (setq url (shimbun-header-xref header))
- (when (string-match "ns_url=\\(http://www.sueddeutsche.de/.*\\)/" url)
- (setq url (concat (match-string 1 url) "/print.html"))
- (shimbun-header-set-xref header url))
- header)
- headers)))
-
(luna-define-method shimbun-rss-build-message-id ((shimbun
shimbun-sueddeutsche-de)
url date)
(let ((group (shimbun-current-group-internal shimbun))
id)
(cond ((string-match
- "ns_url=.*sueddeutsche.de.*/\\([0-9]+\\)/\\([0-9]+\\)/" url)
+ ".*sueddeutsche\\.de.*/\\(.+\\)/\\(.+\\)/?" url)
(concat "<" (match-string 1 url) "." (match-string 2 url) "." group
"@sueddeutsche.de>"))
(t
@@ -108,7 +100,26 @@
(shimbun-remove-tags "<span class=\"hidePrint\">" "</span>")
(shimbun-remove-tags "<table.*?class=\"stoerBS\".*?>" "</table>")
(shimbun-remove-tags "<\\(?:a\\|span\\) .*?bildstrecke.*?>"
- "</\\(?:a\\|span\\)>"))
+ "</\\(?:a\\|span\\)>")
+ (shimbun-remove-tags "<td class=\"artikelDruckenRight\" align=\"right\">"
+ "class=\"artikelDachzeile\"")
+ (shimbun-remove-tags "<div class=\"bannerOben\">" "<div class=\"bannerUnten\">"))
+
+(luna-define-method shimbun-article-url ((shimbun shimbun-sueddeutsche-de)
+ header)
+ ;; retrieve real URL and choose print-version
+ (let ((url (shimbun-header-xref header)))
+ (when (string-match "html?$" url)
+ (setq url
+ (car (last
+ (w3m-process-with-wait-handler
+ (w3m-w3m-attributes url nil handler))))))
+ (cond
+ ((string-match "\\(.*jetzt.*sueddeutsche.*de.*\\)texte/anzeigen/\\(.+\\)" url)
+ (setq url (concat (match-string 1 url) "drucken/text/" (match-string 2 url))))
+ ((string-match "text/$" url)
+ (setq url (concat url "print.html"))))
+ url))
(provide 'sb-sueddeutsche-de)
Index: ChangeLog
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/shimbun/ChangeLog,v
retrieving revision 1.182
diff -u -r1.182 ChangeLog
--- ChangeLog 9 Apr 2009 07:12:16 -0000 1.182
+++ ChangeLog 27 Apr 2009 09:10:26 -0000
@@ -1,3 +1,14 @@
+2009-04-26 David Engster <dengste@xxxxxx>
+
+ * sb-sueddeutsche-de.el (shimbun-sueddeutsche-de-group-url): New RSS
+ feeds.
+ (shimbun-sueddeutsche-de-content-start)
+ (shimbun-sueddeutsche-de-content-end): Adapt to new layout.
+ (shimbun-get-headers): Removed. Use shimbun-article-url instead.
+ (shimbun-rss-build-message-id): New URL scheme.
+ (shimbun-clear-contents): Adapt to new layout.
+ (shimbun-article-url): Retrieve URL for print version of article.
+
2009-04-09 Katsumi Yamaoka <yamaoka@xxxxxxx>
* sb-kantei.el (shimbun-clear-contents): Don't remove succeeding