From 2d203f4a212d9b1401bddc861472a67dc2a2aef7 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 19 Sep 2015 02:03:36 +0000 Subject: nntp: implement XPATH This may be helpful for sorting out duplicates. --- lib/PublicInbox/NNTP.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 939fc3a6..094d26df 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -653,6 +653,19 @@ sub cmd_xover ($;$) { }); } +sub cmd_xpath ($$) { + my ($self, $mid) = @_; + return r501 unless $mid =~ /\A<(.+)>\z/; + $mid = $1; + my @paths; + foreach my $ng (values %{$self->{nntpd}->{groups}}) { + my $n = $ng->mm->num_for($mid); + push @paths, "$ng->{name}/$n" if defined $n; + } + return '430 no such article on server' unless @paths; + '223 '.join(' ', @paths); +} + sub res ($$) { my ($self, $line) = @_; do_write($self, $line . "\r\n"); -- cgit v1.2.3-24-ge0c7