[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

sueddeutsche-de shimbun patch



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