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

[leafnode-list] Fwd: Re: leafnode & header fetches



There is a thread on uk.comp.os.linux that I've been following, but
don't know the full answer to. Anyone here care to comment?

Original post:

> Subject: leafnode & header fetches
> From: Michael Rozdoba <kcz@xxxxxxxxxxx>
> Newsgroups: uk.comp.os.linux
> 
> I was going to use leafnode on the box I'm going to set up as my home lan
> server, however a friend's just told me it will insist on fetching all
> posts from the remote server for newsgroups subscribed to.
> 
> I want to subscribe to some binary groups, so this isn't acceptable to me,
> especially as I only have a modem connection.
> 
> I need to be able to set some subscriptions to header only, so that if a
> client box wants a particular body, it will ask the server box for this,
> which will then, /& only then/, fetch the body for me from the remote
> server.
> 
> Is this possible with leafnode or any alternative news server?

A couple of posts pointed him towards 'delaybody', but he wants to use
it selectively on groups - ie download headers and bodies for some
groups, but headers only in other groups...

> From: Michael Rozdoba <ltw@xxxxxxxxxxx>
> Newsgroups: uk.comp.os.linux
> Subject: Re: leafnode & header fetches

> In article <slrn8msc38.4fh.Colin.Brough@xxxxxxxxxxxxxxxxxxx>,
>    Colin Brough <Colin.Brough@xxxxxxxxxxxxxx> wrote:
>   
> > Only when the headers have been read, the bodies of the articles
> > will be retrieved the next time fetch- news (8) is called.
> 
> How does it decide when a header has been read? Merely when it is
> asked to serve that article?
> 
> > It gets a bit more complicated if you want to do different things for
> > different groups
> 
> Oh dear - I will do.
> 
> > - eg always get the body for non-binary groups, but only the header for
> > the binary groups... You could do this with wrapper scripts that swap
> > over different configuration files, and add/remove groups from the
> > 'interesting.groups' directory (where a note of groups to be downloaded
> > is kept), I suppose, but this is a bit clunky.
> 
> Sounds it :/
> 
> I'm used to being able to use rule files like the following, in which the
> last matching rule is applied, on a per post basis:
> 
> # Default rule file, created by NewsHound v1.39 at Wed May 12 00:19:05 1999
> #
> # For more information, see !NewsHound.Docs.ExamplRule
> # NB. These columns are TAB seperated
> 
> # group    subject	from	bytes	lines	msg-id	ref's	x-posts	amount
> 
> $ default action:
> *		*	*	*	*	*	*	*	art
> 
> # NB. The _ONLY_ thing that should be listed in the next section is groups
> # that you want fetched header only. Put anything in manually and you risk
> # losing it!
> $ header only:
> alt.test	*	*	*	*	xover
> rec.video	*	*	*	*	xover
> rec.video.marketplace	*	*	*	*	xover
> #
> 
> $ max limits:
> # Get header for anything bigger than 512k
> *	*	*	>512k	*	*	*	*	xover
> # Get article for anything under 4k
> *	*	*	<4k	*	*	*	*	art
> # Get header for anything posted to over 5 groups
> *	*	*	*	*	*	*	>5	xover
> # Kill anything posted to more than 10 groups
> *	*	*	*	*	*	*	>10	none
> 
> # This next section contains things you want to override from the above
> rules - eg.
> # postings by certain people or on certain subjects
> $ exceptions:
> *	*Acorn FAQ*	*	*	*	*	*	*	head
> *	*   	*@acorn.co.uk*	*	*	*	*	*	art
> 
> # The next session should contain things that you NEVER, ever want to see 
> $ kills:
> # Kill anything posted with an aol email address
> *	*	*@aol*		*	*	*	*	*	none
> # Kill any articles with MONEY (in uppercase) in title
> *	*MONEY*		*	*	*	*	*	*	none
> 
> Is there an easy way to achieve this under linux, with leafnode or another
> news server? I could write something to parse header files, apply such
> rules & indicate whether the file should be fetched or not. Does leafnode
> have the facility to invoke an external command, for each header it
> fetches, to then decide if the body should be fetched or not?
> 
> Is there /any/ clean way to do what I want? My priorities are cleanliness
> of implementation then simplicity. Functionality can't be compromised. I
> can code in C.
> 
> Hmm, how about fetching everything by header, parsing these with my own
> code, telling leafnode, for each that I want, that it has been read & then
> running leafnode again?
> 
> How does leafnode record whether a header has been read or not? I'd need to
> mess with this data to get the above to work.

Thoughts? I see this is in the TODO list. Will it be in v.2? Does
Cornelius or anyone else have thoughts on a design for this, idea on
how it might be coded?

Cheers

Colin

----------------------------------------------------------------------
Colin Brough                               Colin.Brough@xxxxxxxxxxxxxx


-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list