source: projects/specs/trunk/n/navi2ch/navi2ch-machibbs.el-r1.32.patch @ 1004

Revision 1004, 3.6 KB checked in by iwaim, 14 years ago (diff)

update: navi2ch 2.0.0-2

  • navi2ch-machibbs.el

    diff -uNr navi2ch.orig/navi2ch-machibbs.el navi2ch/navi2ch-machibbs.el
    old new  
    11;;; navi2ch-machibbs.el --- View machiBBS module for Navi2ch. -*- coding: iso-2022-7bit; -*- 
    22 
    3 ;; Copyright (C) 2002, 2003, 2004 by Navi2ch Project 
     3;; Copyright (C) 2002, 2003, 2004, 2009 by Navi2ch Project 
    44 
    55;; Author: 
    66;; Part5 $B%9%l$N(B 509 $B$NL>L5$7$5$s(B 
     
    3030;;; Code: 
    3131(provide 'navi2ch-machibbs) 
    3232(defconst navi2ch-machibbs-ident 
    33   "$Id: navi2ch-machibbs.el,v 1.30 2008/08/26 14:01:44 nawota Exp $") 
     33  "$Id: navi2ch-machibbs.el,v 1.32 2009/02/25 16:55:10 nawota Exp $") 
    3434 
    3535(eval-when-compile (require 'cl)) 
    3636(require 'navi2ch-multibbs) 
     
    7676(navi2ch-multibbs-defcallback navi2ch-machibbs-subject-callback (machibbs) 
    7777  "subject.txt $B$r<hF@$9$k$H$-(B navi2ch-net-update-file 
    7878$B$G;H$o$l$k%3!<%k%P%C%/4X?t(B" 
    79   (while (re-search-forward "\\([0-9]+\\.\\)cgi\\([^\n]+\n\\)" nil t) 
    80     (replace-match "\\1dat\\2"))) 
     79  (while (re-search-forward "[0-9]+<>\\([0-9]+\\)<>\\([^\n]+\n\\)" nil t) 
     80    (replace-match "\\1.dat<>\\2"))) 
    8181 
    8282(defun navi2ch-machibbs-article-update (board article start) 
    8383  "BOARD ARTICLE $B$N5-;v$r99?7$9$k!#(B 
     
    8888        (url  (navi2ch-machibbs-article-to-url board article start nil start)) 
    8989        (func (if start 'navi2ch-machibbs-article-callback-diff 
    9090                'navi2ch-machibbs-article-callback))) 
     91    (message "URL %s" url) 
    9192    (navi2ch-net-update-file url file time func nil start))) 
    9293 
    9394(defun navi2ch-machibbs-article-to-url (board article &optional start end nofirst) 
    9495  "BOARD, ARTICLE $B$+$i(B url $B$KJQ49!#(B 
    95 START, END, NOFIRST $B$GHO0O$r;XDj$9$k(B" ; $B8z$+$J$+$C$?$i65$($F$/$@$5$$!#(B 
    96   (let ((uri   (cdr (assq 'uri board))) 
    97         (artid (cdr (assq 'artid article)))) 
    98     (string-match "\\(.*\\)\\/\\([^/]*\\)\\/" uri) ; \\/ --> / ? 
    99     (concat 
    100      (format "%s/bbs/read.pl?BBS=%s&KEY=%s" 
    101              (match-string 1 uri) (match-string 2 uri) artid) 
    102      (if (and (stringp start) 
    103               (string-match "l\\([0-9]+\\)" start)) 
    104          (format "&LAST=%s" (match-string 1 start)) 
    105        (concat 
    106         (and start (format "&START=%d" start)) 
    107         (and end (format "&END=%d" end)))) 
    108      (and nofirst 
    109           (not (eq start 1)) 
    110           "&NOFIRST=TRUE")))) 
     96START, END, NOFIRST $B$GHO0O$r;XDj$9$k(B" 
     97  (let ((uri (navi2ch-board-get-uri board)) 
     98        (start (if (numberp start) 
     99                   (number-to-string start) 
     100                 start)) 
     101        (end (if (numberp end) 
     102                 (number-to-string end) 
     103               end))) 
     104    (if (string-match "\\(.+\\)/\\([^/]+\\)/$" uri) 
     105        (format "%s/bbs/read.cgi/%s/%s/%s" 
     106                (match-string 1 uri) (match-string 2 uri) 
     107                (cdr (assq 'artid article)) 
     108                (if (equal start end) 
     109                    (or start "") 
     110                  (concat start (and (or start end) "-") end)))))) 
    111111 
    112112(defun navi2ch-machibbs-url-to-board (url) 
    113113  "url $B$+$i(B BOARD $B$KJQ49!#(B" 
     
    228228  (navi2ch-machibbs-article-callback t)) 
    229229 
    230230(defun navi2ch-machibbs-board-update (board) 
    231   (let ((url (navi2ch-board-get-url board)) 
    232         (file (navi2ch-board-get-file-name board)) 
    233         (time (cdr (assq 'time board))) 
    234         (func (navi2ch-multibbs-subject-callback board))) 
    235     (navi2ch-net-update-file url file time func))) 
     231  (let ((uri (navi2ch-board-get-uri board))) 
     232    (when (string-match "\\(.+\\)/\\([^/]+\\)/$" uri) 
     233      (let ((url (format "%s/bbs/offlaw.cgi/%s/" 
     234                         (match-string 1 uri) 
     235                         (cdr (assq 'id board)))) 
     236            (file (navi2ch-board-get-file-name board)) 
     237            (time (cdr (assq 'time board))) 
     238            (func (navi2ch-multibbs-subject-callback board))) 
     239        (navi2ch-net-update-file url file time func))))) 
    236240 
    237241;;; navi2ch-machibbs.el ends here 
Note: See TracBrowser for help on using the repository browser.