SLRN - Super Page
 

> FAQ-slrn-pl > FAQ-slrn > Score FAQ >
poziom wyżej

punktacja artykułów w slrn (score)- często zadawane pytania

...

Ostatnia zmiana: srd, 27 mar 2002, 21:50:58


Powodem napisania tego FAQ było dostarczenie odpowiedzi na często zadawane pytania odnośnie plików punktacji slrn. Niektóre z pytań bazują na podobnym FAQ czytnika rn.

Spis treści

  1. Jak mam skłonić slrn do czytania plików punktacji?
  2. Jaki jest format pliku punktacji?
  3. Jak mam nadać punktację artykułowi o określonym temacie, np. "test"?
  4. Jak określić punktację wiadomości pochodzących od określonej osoby?
  5. Jak określić punktację artykułów z określonego serwera?
  6. Jak określić punktację artykułów będących odpowiedziami na konkretne wiadomości?
  7. Jak usunąć crossposty na określoną grupę?
  8. Jak określić punktację wszystkich crosspostów?
  9. Wiem jak usunąć artykuły pochodzące od określonej osoby. A co zrobić, by czytać *tylko* artykuły pochodzące od tej osoby?
  10. Jak przyznać punktację artykułom, które nie posiadają nagłówka 'References', ale ich temat rozpoczyna się od `Re:'?
  11. Jak określić punktację artykułów, których tematy mają tylko wielkie litery?

1. Jak mam skłonić slrn do czytania plików punktacji?

Aby slrn mógł odczytać plik punktacji, musi znać jego nazwę. Określa się ją przez wstawienie odpowiedniej linii do pliku .slrnrc. Na przykład, jeśli plik punktacji nosi nazwę 'Score' i jest umieszczony w podkatalogu 'News', wtedy należy dodać linię:

        scorefile "News/Score"
 
do swojego pliku .slrnrc.

2. Jaki jest format pliku punktacji?

Format pliku jest prosty. Zawiera on sekcje, odnoszące się do jednej lub kilku grup dyskusyjnych. Każda z sekcji musi rozpoczynać się linią zawierającą umieszczoną w nawiasach kwadratowych nazwę grupy, dla której będzie obowiązywać punktacja umieszczona w tej sekcji.

Przykładowo, linia:

        [sci.physics.*]
wskazuje początek sekcji punktacji dla hierarchii grup sci.physics.

Pojedyncze sekcje punktacji rozpoczynają się od znacznika 'Score'. Znacznik ten określa liczbę punktów przyznawanych artykułom, które pomyślnie przejdą testy określone w punktacji. Na przykład:

       Score: 100
         Subject: neutrino
przyznaje 100 punktów artykułowi, którego temat zawiera słowo 'neutrino'

Jest również możliwe przyznanie artykułowi punktacji na podstawie kilku nagłówków. Na przykład:

       Score: 1000
         Subject: path integral
         From: Richard Feynman
przyznaje artykułowi 1000 punktów jeśli jego temat zawiera 'path integral' i jego autorem jest ``Richard Feynman''.

-9999 punktów stanowi punktację specjalną. Jaśli artykuł otrzyma taką wartość w testach które przeszedł, wszystkie pozostałe testy są pomijane, a artykuł będzie usunięty.

Jeśli pierwszy znak przed wartością punktacji to '=', artykuł dostanie punkty, a pozostała część testów będzie pominięta. Na przykład:

       [sci.physics.*]

       Score: =1000
         From: @space.mit.edu

       Score: -9999
         Xref: astrology
wyznacza dwa testy dla hierarchii grup sci.physics. Ponieważ pierwsza reguła rozpoczyna się od znaku '=', każdy artykuł, którego pole 'From' zawiera @space.mit.edu otrzyma 1000 punktów, a pozostałe testy zostaną pominięte. Ostatni test przyznaje -9999 punktów wszystkim artykułom przesyłanym również (crosspost) na grupę dyskusyjną 'astrology'. Od momentu przydzielenia przez ten test artykułowi punktacji -9999, będzie on usunięty. Jednocześnie te dwa testy oznaczają, że każdy artykuł crosspostowany na grupę 'astrology' jest usuwany, chyba że jego autorem jest osoba ze space.mit.edu, wtedy artykuł dostaje 1000 punktów.

Znaku '~' można używać jak operatora logicznego NOT. Na przykład poprzednia punktacja może zostać zapisana w ten sposób:

      [sci.physics.*]

      Score: -9999
       ~From: @space.mit.edu
        Xref: astrology
To po prostu każe usuwać artykuły crosspostowane na grupę astrology, Z WYJĄTKIEM tych, których autor wysyła z space.mit.edu.

Ostatecznie za słowem ``Score'' mogą występować 2 dwukropki do zaznaczenia, że punktacja zostanie przydzielona artykułowi jeśli przejdzie on pomyślnie jeden z testów. Na przykład:

       Score:: 1000
         Subject: neutrino
         Subject: fermion
przyznaje 1000 punktów artykułowi, jeśli jego temat zawiera 'neutrino' lub 'fermion'.

3. Jak mam nadać punktację artykułowi o określonym temacie, np. "test"?

     Score: -9999
     Subject: test
 

4. Jak określić punktację wiadomości pochodzących od określonej osoby?

     Score: -9999
     From: nazwa@bóg\.wie\.skąd
 
przyznaje -9999 punktów osobie o adresie nazwa@bóg\.wie\.skąd

5. Jak określić punktację artykułów z określonego serwera?

     Score: -9999
     From: @czort\.wie\.gdzie
 
przyznaje -9999 punktów linii From zawierającej `@czort.wie.gdzie'.

6. Jak określić punktację artykułów będących odpowiedziami na konkretne wiadomości?

Zakładam, że odpowiedzi zawierają temat rozpoczynający się od `Re:' lub mają nagłówek 'References'. Aby przyznać -9999 punktów takiemu artykułowi, użyj reguły:

      Score:: -9999
      Subject: ^Re:
      References: .
 

Zauważ użycie podwójnego dwukropka po znaczniku Score. Wskazuje to, że punktacja spełnia warunek logiczny OR. To znaczy, że powyższa punktacja zostanie przyznana artykułom z dowolnym tematem rozpoczynającym się od `Re:' LUB posiadającym linię References.

Aby przyznać punktację tematom rozpoczynającym się od `Re:' ORAZ jednocześnie zawierającym linię 'References', należy użyć pojedynczego dwukropka:

      Score: -9999
      Subject: ^Re:
      References: .
 
Pojedynczy dwukropek oznacza operację logiczną AND.

7. Jak usunąć crossposty na określoną grupę?

Masz dwie możliwości: albo użyć nagłówka `Xref', albo `Newsgroups'. Jeśli to tylko możliwe, najlepiej uniknąć używania nagłówka `Newsgroups', tj. spróbować skorzystać z nagłówka `Xref'.

Zakładam, że chcesz przyznać punktację artykułom crosspostowanym na grupę astrology. Użyj więc następujących reguł:

       Score: -9999
       Xref: astrology

       Score: -9999
       Newsgroups: astrology
 
Przypominam ponownie: jeśli to możliwe, unikaj używania drugiej reguły.

8. Jak określić punktację wszystkich crosspostów?

Podobnie jak w poprzedniej odpowiedzi, masz dwie możliwości: możesz użyć nagłówka Xref (zalecane) lub nagłówka Newsgroups. Pierwsza opcja korzysta z faktu, że crosspostowane artykuły zawierają w nagłówku Xref dwa dwukropki. Możesz więc użyć następującej reguły:

      Score: -9999
      Xref: :.*:
 
Jeśli nie możesz skorzystać z nagłówka Xref, spróbuj tego:
     Score: -9999
     Newsgroups: ,
 

9. Wiem jak usunąć artykuły pochodzące od określonej osoby. A co zrobić, by czytać *tylko* artykuły pochodzące od tej osoby?

Odpowiedź jest prosta: usuń artykuły od wszystkich innych osób. Zakładam, że chcesz czytać artykuły pochodzące tylko od osoby 'ktoś@kogo.lubię'. Użyj więc poniższej reguły:

   
      Score: -9999
      ~From: ktoś@kogo\.lubię
 
Zauważ użycie operatora NOT (~).

10. Jak przyznać punktację artykułom, które nie posiadają nagłówka 'References', ale ich temat rozpoczyna się od `Re:'?

Określ punktację bazującą na nagłówku References oraz na nagłówku Subject, np.

      Score: -9999
      ~References: .
      Subject: ^Re:
 
Teraz linia References określa, że artykuł NIE może posiadać linii References. Nagłówek Subject określa wyrażenie regularne, które zawiera `Re:' na początku tematu. Wyrażenie to oznacza również: "Re:", "re:", "rE:", i "RE:". Aby oznaczało jedynie "Re:", użyj wyrażenia:
   
      Subject: ^\cRe:
 
\c włącza wrażliwość na wielkość liter. \C wyłącza ją.

11. Jak określić punktację artykułów, których tematy mają tylko wielkie litery?

Spróbuj czegoś takiego:

   
      Score: -9999
        ~Subject: \c[a-z]
 
To przypisze -9999 punktów każdemu artykułowi, którego temat NIE zawiera małych liter. Aby usunąć również odpowiedzi użyj reguły:
      Score: -9999
        Subject: ^Re: \c[^a-z]*$
        Subject: ^Re: \c.*[A-Z]
 
Ostatnia reguła mówi, że artykuł będzie usunięty jeśli jego temat spełnia dwa warunki:
  1. Zaczyna się od `Re:', a reszta linii nie zawiera małych liter.
  2. Zaczyna się od `Re:' i zawiera gdzieś w pozostałej części tematu dużą literę.
Druga reguła jest niezbędna, aby uniknąć usunięcia artykułów zawierających odpowiedzi na wiadomości z pustym tematem.


projekt www: loop Piotr Gogolin
[ strona wygenerowana z CVS: 07.06.2002 20:25 ]