🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chemnitz.comp
Article #40

MID (was: Dau)

#40
From: Jakob Voß
Date: Thu, 10 Aug 2000 00:00
108 lines
4335 bytes
Thomas Haase schrieb:

>Da muss ich mal ein Feature des Windows-Readers "Xnews" beschreiben. 
>Der findet MIDs im Text �hnlich wie URLs. (Es gibt eindeutige Begrenzer 
>(< und >) und dazwischen muss ein "@" und darf kein " " vorkommen.)
>Wenn man mit der Maus dr�berf�hrt, �ndert sich der Mauszeiger vom 
>senkrechten Strich zu einer Hand mit ausgestrecktem Zeigefinger (als 
>auff�lliger Hinweis f�r die Klicks�chtigen).
>
>Beim Anklicken einer MID wird das Posting erst auf dem Newsserver 
>gesucht (wenn da, wird es angezeigt), bei Misserfolg kommt die Frage: 
>"Bei Deja suchen?". Bei Bejahung wird der Lieblingsbrowser mit
>        http://www.deja.com/=dnc/msgid.xp?MID=%m
>(wobei %m die MID (mit < und >) ist) aufgerufen.

Na das geht mit slrn bestimmt auch...
 *werkel-schraub-h�mmer-tapezier*

#v+

define search_for_msgid(mid) {

  % catch locate_header_by_msgid failure
  ERROR_BLOCK {
    _clear_error();

    % TODO: Lokales Newsarchiv durchsuchen
  
    if( get_yes_no_cancel("Bei Deja suchen?") == 1) {
       variable url = strcat("http://www.deja.com/=dnc/msgid.xp?MID=",mid);

       % TODO: non_Xbrowser oder Xbrowser aufrufen
       verror(url);
       
    }
  }

  if( locate_header_by_msgid(mid,1) == 1) 
    call("art_bob");
}


define msgid_in_article() 
{
  variable regexp = "<[^@<>\" ]*@[^@<>\" ]*>";
  
  if( _is_article_visible () & 1 ) % article visible
  {

    % search for MIDs
    variable line,pos,len;
    variable number=0;
    
    call("art_bob");

    while( re_search_article(regexp) == 1 )
    { 
      line = ();
      for( pos=1; string_match(line,regexp,pos)>0; pos+=len )
      {
        (pos, len) = string_match_nth(0);
        substr(line, pos+1, len);	% put MID on stack
        number++;
      }
    }
  
    % found MID[s]
    if(number>0)
    {
     
      % put MIDs into array
      variable mids = String_Type [number];
      variable i;
      for(i=number-1; i>=0; i--)
        mids[i] = ();
     
      % let select MID (always ask since MID could be email-address)
      variable evalstr = "get_select_box_response(\"Goto MID\",";
      for(i=0;i<number;i++) 
        evalstr += "\"" + mids[i] + "\"" + ","; 
      evalstr += sprintf("%d);",number);
      eval(evalstr);

      variable mid = ();
      search_for_msgid(mids[mid]);
      
   } else verror("no Message-ID found!");
  } else verror("no article visible!");
  
  close_log_file();
}

definekey ("msgid_in_article", "m", "article");

#v-

Bei dem RegExp bin ich mir nicht ganz sicher, obs auch besser geht.

Um auch in anderen Gruppen suchen zu k�nnen und damit je nach
Umgebung der richtige Browser aufgerufen wird fehlen noch ein
paar Erweiterungen [1], aber ansonsten ist es schon ganz praktisch :-)

Jakob

f'up to de.comm.software.newsreader

[1a] Wie kriege ich heraus, ob X und ggf. X-Browser l�uft oder nicht?
[1b] Wo ist mein lokales News-Verzeichnis?
Technical Details
Message-ID: <8muo8g$7r8$1@narses.hrz.tu-chemnitz.de>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <398AF69D.7B3B186E@s1999.tu-chemnitz.de> <8mevqe$rnt$1@narses.hrz.tu-chemnitz.de> <lq2fm8.143.ln@dollerup.csn.tu-chemnitz.de> <8mndpa$1nu$1@narses.hrz.tu-chemnitz.de> <slrn8ovb2g.u4.Chris.Huebsch@argus.csn.tu-chemnitz.de> <slrn8ovd03.ov0.rian@tmn.csn.tu-chemnitz.de> <slrn8ovdnl.1d1.Chris.Huebsch@argus.csn.tu-chemnitz.de> <54jom8.r51.ln@dollerup.csn.tu-chemnitz.de> <slrn8ovkrn.3ij.rian@tmn.csn.tu-chemnitz.de> <8mot9u$jtv$1@narses.hrz.tu-chemnitz.de>

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII
X-Google-Thread: f8136,642a2ffae8d43080,start
X-Google-Attributes: gidf8136,public
X-Google-Thread: 10890b,642a2ffae8d43080,start
X-Google-Attributes: gid10890b,public
From: jakob.voss@s1999.tu-chemnitz.de (Jakob Voß)
Subject: MID (was: Dau)
Date: 2000/08/10
Message-ID: <8muo8g$7r8$1@narses.hrz.tu-chemnitz.de>
X-Deja-AN: 656845044
Content-Transfer-Encoding: 8bit
References: <398AF69D.7B3B186E@s1999.tu-chemnitz.de> <8mevqe$rnt$1@narses.hrz.tu-chemnitz.de> <lq2fm8.143.ln@dollerup.csn.tu-chemnitz.de> <8mndpa$1nu$1@narses.hrz.tu-chemnitz.de> <slrn8ovb2g.u4.Chris.Huebsch@argus.csn.tu-chemnitz.de> <slrn8ovd03.ov0.rian@tmn.csn.tu-chemnitz.de> <slrn8ovdnl.1d1.Chris.Huebsch@argus.csn.tu-chemnitz.de> <54jom8.r51.ln@dollerup.csn.tu-chemnitz.de> <slrn8ovkrn.3ij.rian@tmn.csn.tu-chemnitz.de> <8mot9u$jtv$1@narses.hrz.tu-chemnitz.de>
Followup-To: de.comm.software.newsreader
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: usenet@news.tu-chemnitz.de
X-Trace: narses.hrz.tu-chemnitz.de 965928016 8040 134.109.108.207 (10 Aug 2000 17:20:16 GMT)
Organization: Chemnitz University of Technology
Mime-Version: 1.0
User-Agent: slrn/0.9.6.2+ (Linux)
NNTP-Posting-Date: 10 Aug 2000 17:20:16 GMT
Newsgroups: chemnitz.comp,de.comm.software.newsreader