Gnus development mailing list
 help / color / mirror / Atom feed
From: kai.grossjohann@uni-duisburg.de (Kai Großjohann)
Subject: Re: Regenerate .agentview files?
Date: Mon, 28 Oct 2002 11:06:35 +0100	[thread overview]
Message-ID: <847kg2ho7o.fsf@crybaby.uni-duisburg.de> (raw)
In-Reply-To: <84d6pvc9b5.fsf@crybaby.uni-duisburg.de>

kai.grossjohann@uni-duisburg.de (Kai Großjohann) writes:

> I have a group which has a lot of superfluous entries in .agentview:
> there are downloaded articles 30208 through 30969 (and undownloaded
> articles 30970 and 30971), but .agentview contains entries (112032)
> through (112897)...

I've now concocted the following abomination which appears to have
been effective, if not efficient.

(defun kai-gnus-agent-iterate-groups (function)
  "Iterate over all available groups and call FUNCTION for each."
  (let ((methods gnus-agent-covered-methods)
	groups group gnus-command-method)
    (while methods
      (message "doing method %s" (car methods))
      (setq gnus-command-method (car methods))
      (setq groups (gnus-groups-from-server (car methods)))
      (gnus-agent-with-fetch
	(while (setq group (pop groups))
	  (when (<= (gnus-group-level group) gnus-agent-handle-level)
	    (funcall function group))))
      (pop methods))))

(defun kai-gnus-agent-prune-agentview (group)
  (message "group: %s" group)
  (gnus-agent-load-alist group)
  (let ((articles (copy-sequence gnus-agent-article-alist))
	art)
    (while articles
      (setq art (pop articles))
      (unless (file-exists-p (gnus-agent-article-name
			      (format "%s" (car art))
			      group))
	(setq gnus-agent-article-alist (delete art gnus-agent-article-alist))))
    (gnus-agent-save-alist group))
  (message "group: %s...done" group))

(kai-gnus-agent-iterate-groups 'kai-gnus-agent-prune-agentview)

kai
-- 
~/.signature is: umop ap!sdn    (Frank Nobis)



  reply	other threads:[~2002-10-28 10:06 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-28  9:24 Kai Großjohann
2002-10-28 10:06 ` Kai Großjohann [this message]
2002-10-31  7:24   ` Steinar Bang
2002-10-31  9:55     ` Kai Großjohann
2002-11-01  8:54       ` Steinar Bang
2002-11-01 17:51         ` Kai Großjohann
2002-11-01 21:42           ` Steinar Bang
2002-11-06  9:39           ` Danny Siu
2002-11-07  7:31             ` Kai Großjohann
2002-11-10 23:12               ` Steinar Bang
2002-11-14 14:54                 ` Kai Großjohann
2002-12-30 22:41                   ` Steinar Bang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=847kg2ho7o.fsf@crybaby.uni-duisburg.de \
    --to=kai.grossjohann@uni-duisburg.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).