From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: GH Newsgroups: gmane.emacs.help Subject: functions to download mailing list archives Date: Mon, 13 Jun 2022 00:30:00 +0200 Organization: Huh? me? Message-ID: <87r13tikgn.fsf@gnu.org> Reply-To: project@gnuhacker.org Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33815"; mail-complaints-to="usenet@ciao.gmane.io" To: Help GNU Emacs Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 13 00:30:33 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o0W6L-0008g0-8e for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 13 Jun 2022 00:30:33 +0200 Original-Received: from localhost ([::1]:44906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0W6K-0003f2-7A for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 12 Jun 2022 18:30:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45460) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0W5t-0003eV-Ay for help-gnu-emacs@gnu.org; Sun, 12 Jun 2022 18:30:05 -0400 Original-Received: from mta763.solicitae.com ([89.35.150.78]:52206 helo=smtp.gnuhacker.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0W5r-0004sS-Ag for help-gnu-emacs@gnu.org; Sun, 12 Jun 2022 18:30:05 -0400 Original-Received: from encrypted.gnu.org (localhost [127.0.0.1]) by smtp.gnuhacker.org (Postfix) with ESMTP id 77138601B38 for ; Mon, 13 Jun 2022 00:30:00 +0200 (CEST) Received-SPF: none client-ip=89.35.150.78; envelope-from=project@gnuhacker.org; helo=smtp.gnuhacker.org X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.187, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:137750 Archived-At: I love mailing lists, so Im writing functions to interact with ~lists.gnu.org~ http interfaces For example this function to download lists mbox archives: #+begin_src elisp (defun lists-mbox-recursive-download (url-head id date) "Download ID mailing lists archives as mbox files from server URL-HEAD using a DATE filter. URL-HEAD is the mailing list server url, example: https://lists.gnu.org" (with-current-buffer "*eww*" (shr-next-link) (if (string-match (format "%s/archive/mbox/%s/%s\\(.+\\)" url-head id date) (thing-at-point 'url)) (eww-download)) (if (save-excursion (shr-next-link)) (lists-mbox-recursive-download url-head id date)))) #+end_src I call that function from this another func: #+begin_src elisp (defun lists-load-archive (url-head id) (if (y-or-n-p "Load as mbox files?") (prog1 (eww-browse-url (format "%s/archive/mbox/%s/" url-head id)) (if (y-or-n-p "Download archive mboxes?") (let ((date (read-number "Date filter: " 20)) (eww-download-directory (read-file-name "Download directory: "))) (lists-mbox-recursive-download url-head id date)))) (eww-browse-url (format "%s/archive/html/%s/" url-head id)))) #+end_src test it: (lists-load-archive "https://lists.gnu.org" "help-gnu-emacs") But sadly the recursion stop with this warning: file-local-name: Lisp nesting exceeds `max-lisp-eval-depth' any idea to fix?