f



CLP stats: last 500 posts

As of 04:04PM December 09, 2016

Posts  85 Posters
  44     Chris Angelico <rosuav@gmail.com>
  42     Michael Torrie <torriem@gmail.com>
  36     BartC <bc@freeuk.com>
  30     Marko Rauhamaa <marko@pacujo.net>
  29     Steve D'Aprano <steve+python@pearwood.info>
  23     Dennis Lee Bieber <wlfraed@ix.netcom.com>
  21     Gregory Ewing <greg.ewing@canterbury.ac.nz>
  17     Wildman <best_lay@yahoo.com>
  14     DFS <nospam@dfs.com>
  14     eryk sun <eryksun@gmail.com>
  13     "MEGLIO MORTI CHE SUDDITI DI NAZI BERLUSCONI&TRUMP!" 
<uccipaducci@gmx.com>
  11     Paul  Moore <p.f.moore@gmail.com>
  11     Steven D'Aprano <steve+comp.lang.python@pearwood.info>
  10     Tim Chase <python.list@tim.thechases.com>
  9     Ian Kelly <ian.g.kelly@gmail.com>
  9     Random832 <random832@fastmail.com>
  8     Grant Edwards <grant.b.edwards@gmail.com>
  8     Peter Otten <__peter__@web.de>
  7     Lew Pitcher <lew.pitcher@digitalfreehold.ca>
  6     3dB <plzr@mac.com>
  6     duncan smith <duncan@invalid.invalid>
  6     Skip Montanaro <skip.montanaro@gmail.com>
  5     "MEGLIO MORTI CHE ARRESI Y DE STRA VERDAD!!!" <uccipanucci@mail.com>
  5     John Gordon <gordon@panix.com>
  5     justin walters <walters.justin01@gmail.com>
  5     MRAB <python@mrabarnett.plus.com>
  5     Nathan Ernst <nathan.ernst@gmail.com>
  4     "MEGLIO MORTI CHE ARRESI Y DE STRA VERDAD! `" 
<ashantibalanti@mail.com>
  4     Cecil Westerhof <Cecil@decebal.nl>
  4     Chris Kaynor <ckaynor@zindagigames.com>
  4     Ho Yeung Lee <jobmattcon@gmail.com>
  4     Ned Batchelder <ned@nedbatchelder.com>
  4     Terry Reedy <tjreedy@udel.edu>
  4     wxjmfauth@gmail.com
  3     "Frank Millman" <frank@chagford.com>
  3     Anton Mamaenko <amamaenko@gmail.com>
  3     Cameron Simpson <cs@zip.com.au>
  3     Larry Hudson <orgnut@yahoo.com>
  3     siva gnanam <sivagnanam.student@gmail.com>
  3     Veek M <vek.m1234@gmail.com>
  2     "Juan C." <juan0christian@gmail.com>
  2     "MEGLIO MORTI CHE ARRESI Y DE STRA VERDAD!" <cedelparadel@mail.com>
  2     Ben Bacarisse <ben.usenet@bsb.me.uk>
  2     clvanwall <clvanwall@gmail.com>
  2     dr.roman.graf@gmail.com
  2     Gus_G <magdalena.guz80@gmail.com>
  2     Karim Farokhnia <karim.farokhnia@gmail.com>
  2     Nikhil Verma <varma.nikhil22@gmail.com>
  2     Robert <rxjwg98@gmail.com>
  2     vnthmanoharan@gmail.com
  1     "MEGLIO MORTI CHE ARRESI Y DE STRA VERDAD!!!" <ginopoppino@gmx.com>
  1     "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
  1     Anssi Saari <as@sci.fi>
  1     Antoon Pardon <antoon.pardon@rece.vub.ac.be>
  1     Benjamin Peterson <benjamin@python.org>
  1     Bernd Nawothnig <Bernd.Nawothnig@t-online.de>
  1     Bob Gailer <bgailer@gmail.com>
  1     breamoreboy@gmail.com
  1     cantorp@gmail.com
  1     Christian Gollwitzer <auriocus@gmx.de>
  1     codewizard@gmail.com
  1     Cousin Stanley <HooDunnit@didly42KahZidly.net>
  1     Daiyue Weng <daiyueweng@gmail.com>
  1     Fabio Zadrozny <fabiofz@gmail.com>
  1     g thakuri <gbpal13@gmail.com>
  1     Ganesh Pal <ganesh1pal@gmail.com>
  1     Gene Heskett <gheskett@shentel.net>
  1     handar94@gmail.com
  1     Hans-Peter Jansen <hpj@urpla.net>
  1     Heli <hemla21@gmail.com>
  1     Irmen de Jong <irmen.NOSPAM@xs4all.nl>
  1     Joaquin Alzola <Joaquin.Alzola@lebara.com>
  1     Jon Ribbens <jon+usenet@unequivocal.eu>
  1     Jussi Piitulainen <jussi.piitulainen@helsinki.fi>
  1     Marco Buttu <marco.buttu@gmail.com>
  1     MEGLIO MORTI CHE ARRESI Y DE STRA VERDAD <cedelparadel@mail.com>
  1     Ned Deily <nad@python.org>
  1     Rolando Espinoza <darkrho@gmail.com>
  1     Rustom Mody <rustompmody@gmail.com>
  1     skybuck2000@hotmail.com
  1     Stephen Tucker <stephen_tucker@sil.org>
  1     Thomas 'PointedEars' Lahn <PointedEars@web.de>
  1     Vitaly Pavlenko <cxielamiko@gmail.com>
  1     vmahajan@centerpointmedia.com
  1     Zachary Ware <zachary.ware+pylist@gmail.com>

Posts  74 Subjects
  224     python 2.7.12 on Linux behaving differently than on Windows
  49     Detect Linux Runlevel
  16     Asyncio -- delayed calculation
  15     MacOSX SpeechRecognition installation problems
  13     correct way to catch exception with Python 'with' statement
  11     async enumeration - possible?
  10     OSError: [Errno 12] Cannot allocate memory
  9     calling a program from Python batch file
  9     Can json.dumps create multiple lines
  8     Request Help With Byte/String Problem
  8     What meaning is "if k in [0, len(n_trials) - 1] else None"?
  8     When will they fix Python _dbm?
  7     Get min and max dates
  6     Name resolution and the (wrong?) LEGB rule
  6     Simple code and suggestion
  6     Timer runs only once.
  5     compile error when using override
  5     Linux terminals vs Windows consoles - was Re: python 2.7.12 on 
Linux behaving differently than on Windows

  4     best way to read a huge ascii file.
  4     Django broken pipe error
  4     Merge Two List of Dict
  4     pycrypto installation failed
  4     sets anomaly
  3     "Best" websocket implementation for Python 2.x?
  3     Printing a generator returns "<generator object _as_iterable at 
0x7f0476373e10>", need to print its values
  3     The Case Against Python 3
  3     What do you think: good idea to launch a marketplace on 
python+django?
  2     Agile
  2     Best attack order for groups of numbers trying to destroy each 
other, given a victory chance for number to number attack.
  2     Error In querying Genderize.io. Can someone please help
  2     How to properly retrieve data using requests + bs4 from multiple 
pages in a site?
  2     PonyORM: generators as a query syntax
  2     Python while loop
  1 =?UTF-8?Q?FIGLIO_DI_TROIA_PAOLO_BARRAI=3A_OPINIONI_TUTTE_ORRIBIL?= 
=?UTF-8?Q?I_SU_DI_LUI=21_SBAGLIA_SEMPRE_IN_BORSA=2C_AZZERA_I_TUOI_RISPARMI?= 
=?UTF-8?Q?=2C_TRUFFA=2C_SEMPRE_FALSO=2C_PEDOFILO_INCULA_BAMBINI=2C_DIFFAMA_SU_?= 
=?UTF-8?Q?INTERNET_A_FINI_NAZI=2C_CONDANNATO_3_VOLTE_A_GALERA=2C_MULTATO_D?= 
=?UTF-8?Q?A_CONSOB=3A_70=2E000=E2=82=AC=21?=
  1 
=?UTF-8?Q?PEDOFILO_MERDONE_DANIELE_MINOTTI_=28FACEBOOK=29=21_AVVOCAT?= 
=?UTF-8?Q?O_CRIMINALE_DI_RAPALLO=21__NAZI=2C_LAVA_=E2=82=AC_MAFIOSI=2C_AGENTE_SEGR?= 
=?UTF-8?Q?ETO_IN_COPERTO_DI_TIPO_KILLER=21_SUA_LA_SETTA_DI_SATANISTI_INC?= 
=?UTF-8?Q?ULA_BAMBINI_CON_PEDOFILI_GIULIANO_FERRARA=2C_ANSELMA_DEL=27OLIO_?= 
=?UTF-8?Q?E_GIUSEPPE_LAZZARI=21=21?=
  1     [RELEASE] Python 2.7.13 release candidate 1
  1     [RELEASE] Python 3.6.0rc1 is now available
  1     CRIMINALISSIMA WMO SAGL LUGANO DI GIA' 3 VOLTE CONDANNATO A 
GALERA PAOLO BARRAI (28.06.1965): TRUFFATORE, NAZI, MANDANTE DI OMICIDI, 
PEDOFILO INCULA BAMBINI, LAVA CASH MAFIOSO E POLITI-C-RIMINALE: LEGA 
LADRONA E PEDOFILO STRAGISTA SILVIO BERLUSCONI!
  1     CRIMINALISSIMA WMO SAGL LUGANO DI GIA' 3 VOLTE CONDANNATO A 
GALERA PAOLO BARRAI (28.06.65): TRUFFATORE, NAZISTA, MANDANTE DI 
OMICIDI, PEDERASTA INCULA BAMBINI, LAVA CASH MAFIOSO E 
POLITI-C-RIMINALE: LEGALADRONA E PEDOFILO STRAGISTA SILVIO BERLUSCONI!
  1     csv into multiple columns using split function using python
  1     distutils_ui 0.1.1 released
  1     FIGLIO DI PUTTANA ANDREA CINGOLI DI BANCA ESPERIA LAVA CASH 
ASSASSINO! DI MAFIA, CAMORRA, NDRANGHETA! VIA GIA' 3 VOLTE IN CARCERE 
PAOLO BARRAI (BLOG "MERDATO" LIBERO)! E FA DIFFAMARE A SUOI FINI 
NAZIFASCISTI, PURE, VIA AVANZO DI GALERA PAOLO BARRAI!!
  1     FIGLIO DI PUTTANONA GIUSEPPE SABATO DI BANCA ESPERIA (MASSONE 
MANDANTE DI OMICIDI E MEGALAVA CASH MAFIOSO VIA GRAN LOGGIA MASSONICA 
ITALIANA) RICICLA SOLDI KILER VIA VERME PAOLO BARRAI (CRIMINALISSIMA WMO 
SAGL)! E FA DIFFAMARE A MORTE, PURE, VIA LUI!
  1     FIGLIO DI TROIACCIA EDOARDO LOMBARDI (BANCA ESPERIA) LAVA CASH 
OMICIDA! DI MAFIA, CAMORRA, NDRANGHETA, MALA COLOMBIANA! VIA GIA' TRE 
VOLTE IN GALERA: PAOLO BARRAI DEL BLOG "MERDATO" LIBERO! E FA DIFFAMARE 
A FINI NAZISTI, PURE, VIA VERME PAOLO BARRAI!
  1     FIGLIO DI TROIACCIA MASSIMO DORIS (MOGLIE - MEDIOLANUM) USA IL 
PLURI CONDANNATO AL CARCERE PAOLO BARRAI (BLOG MERCATO "MERDATO" LIBERO) 
X RICICLARE SOLDI MAFIOSI! COME X DIFFAMARE, X UCCIDERE, CHIUNQUE NON 
SIA UN VERME NEONAZISTA COME STI 2 BASTARDI!
  1     FIGLIO DI TROIONA GIUSEPPE SABATO DI BANCA ESPERIA (MASSONE 
MANDANTE DI OMICIDI E MEGA LAVA CASH MAFIOSO VIA GRAN LOGGIA MASSONICA 
ITALIANA) RICICLA SOLDI KILER VIA VERME PAOLO BARRAI (MALAVITOSISSIMA 
WMO SAGL)! E FA DIFFAMARE A MORTE, PURE, VIA LUI!
  1     FIGLIO DI TROIONA MASSIMO DORIS (MOGLIE - MEDIOLANUM) USA IL 
PLURI CONDANNATO AL CARCERE PAOLO BARRAI (BLOG MERCATO "MERDATO" LIBERO) 
X RICICLARE CASH MAFIOSO! COME X DIFFAMARE, X UCCIDERE, CHIUNQUE NON SIA 
UN VERME NEONAZISTA COME QUESTI BASTARDI!!!
  1     FIGLIO DI TROIONA MASSIMO DORIS (MOGLIE- MEDIOLANUM) USA IL 
PLURI CONDANNATO AL CARCERE PAOLO BARRAI (BLOG MERCATO "MERDATO" LIBERO) 
X RICICLARE SOLDI MAFIOSI! COME X DIFFAMARE, X UCCIDERE, CHIUNQUE NON 
SIA UN VERME NEONAZISTA COME QUESTI 2 BASTARDI!
  1     FIGLIO DI ZOCCOLA ANDREA CINGOLI DI BANCA ESPERIA LAVA CASH 
ASSASSINO! DI MAFIA, CAMORRA, NDRANGHETA! VIA GIA' 3 VOLTE IN CARCERE 
PAOLO BARRAI (BLOG "MERDATO" LIBERO)! E FA DIFFAMARE A SUOI FINI 
NAZIFASCISTI, PURE, VIA AVANZO DI GALERA PAOLO BARRAI!!
  1     FIGLIO DI ZOCCOLA EDOARDO LOMBARDI (BANCA ESPERIA) LAVA CASH 
ASSASSINO! DI MAFIA, CAMORRA, NDRANGHETA, MALA COLOMBIANA! VIA GIA' TRE 
VOLTE IN GALERA: PAOLO BARRAI DEL BLOG "MERDATO" LIBERO! E FA DIFFAMARE 
A FINI NAZISTI, PURE, VIA VERME PAOLO BARRAI!
  1     Fwd: Merge Two List of Dict
  1     how to override the solver function in sympy?
  1     I toyed with Powershell (UCS1).
  1     IL NOTO PEDOFILO PAOLO BARRAI, IN FINECO, LAVA CASH KILLER! VIA 
CRIMINALISSIMO PROMOTORE FINANZIARIO LUCA MORELLI (O CRIMINALISSIMO 
PROMOTORE FINANZIARIO LUCA GIOVANNI MORELLI). X MAFIA, NDRANGHETA, 
LEGALADRONA E PEDOFILO STRAGISTA SILVIO BERLUSCONI!
  1     Linux terminals vs Windows consoles - was Re: python 2.7.12 on 
Linux behaving differently than on Windows
  1     Linux terminals vs Windows consoles - was Re: python 2.7.12 on 
Linux   behaving differently than on Windows
  1     NOTO CORNUTO E PEDOFILO GIUSEPPE SABATO (E MASSONE KILLER) DI 
NAZI BANCA ESPERIA (E LAVA CASH MAFIOSO GRAN LOGGIA MASSONICA ITALIANA) 
EFFETTUA TRAME OMICIDA! VIA GIA' 3 VOLTE IN GALERA PAOLO BARRAI 
(28.06.1965)! E FA STALKARE A MORTE, PURE, VIA LUI!!
  1     NOTO PEDOFILO GIUSEPPE SABATO DI BANCA ESPERIA (MASSONE MANDANTE 
DI OMICIDI E MEGALAVA CASH MAFIOSO VIA GRAN LOGGIA MASSONICA ITALIANA) 
RICICLA SOLDI KILLER VIA CRIMINALISSIMO PAOLO BARRAI (MALAVITOSA WMO 
SAGL)! E FA DIFFAMARE A MORTE, PURE, VIA LUI!
  1     NOTO PEDOFILOMOSESSUALE PAOLO BARRAI, IN FINECO, LAVA CASH 
OMICIDA. VIA CRIMINALE PROMOTORE FINANZIARIO LUCA MORELLI ( O CRIMINALE 
PROMOTORE FINANZIARIO LUCA GIOVANNI MORELLI). X MAFIA, NDRANGHETA, LEGA 
LADRONA E PEDOFILO STRAGISTA SILVIO BERLUSCONI!
  1     PEDOFILO BASTARDO DAVIDE SERRA DI FACEBOOK, TWITTER & ALGEBRIS 
(NEL TESTO PROVE A PROPOSITO)! HA RICEVUTO INSIDER SU BANCHE POPOLARI 
DAL PORCO MEGA RICICLA CASH MAFIOSO PIERLUIGI BOSCHI DI BANCA ETRURIA 
(PORCO RICICLA CASH MAFIOSO COME DAVIDE SERRA)!
  1     PEDOFILO BASTARDO DAVIDE SERRA DI TWITTER, FACEBOOK & ALGEBRIS 
(NEL TESTO PROVE A PROPOSITO)! HA RICEVUTO INSIDER SU BANCHE POPOLARI 
DAL PORCO MEGA RICICLA CASH MAFIOSO PIERLUIGI BOSCHI DI BANCA ETRURIA 
(PORCO RICICLA CASH MAFIOSO COME DAVIDE SERRA)!
  1     PEZZO DI MERDA GIUSEPPE SABATO (MASSONE OMICIDA) DI NAZI BANCA 
ESPERIA (E LAVA CASH MAFIOSO GRAN LOGGIA MASSONICA ITALIANA)  EFFETTUA 
TRAME KILLER! VIA GIA' 3 VOLTE IN GALERA PAOLO BARRAI (BLOG "MERDATO" 
LIBERO)! E FA STALKARE A MORTE, PURE, VIA LUI!
  1     PORCO RICICLA SOLDI MAFIOSI DAVIDE SERRA ALGEBRIS, FACEBOOK, 
TWITTER HA RICEVUTO INSIDER SU BANCHE POPOLARI DAL FIGLIO DI PUTTANA NEO 
PIDUISTISSIMO PIERLUIGI BOSCHI DI BANCA ETRURIA (NEO PIDUISTISSIMO E 
PORCO RICICLA SOLDI MAFIOSI COME DAVIDE SERRA)!
  1     PORCO RICICLA SOLDI MAFIOSI DAVIDE SERRA FACEBOOK, TWITTER, 
ALGEBRIS HA RICEVUTO INSIDER SU BANCHE POPOLARI DAL FIGLIO DI PUTTANA 
NEO PIDUISTISSIMO PIERLUIGI BOSCHI DI BANCA ETRURIA (NEO PIDUISTISSIMO E 
BASTARDO LAVA SOLDI MAFIOSI COME DAVIDE SERRA)!
  1     PORCO RICICLA SOLDI MAFIOSI DAVIDE SERRA FACEBOOK, TWITTER, 
ALGEBRIS HA RICEVUTO INSIDER SU BANCHE POPOLARI DAL FIGLIO DI PUTTANA 
NEO PIDUISTISSIMO PIERLUIGI BOSCHI DI BANCA ETRURIA (NEO PIDUISTISSIMO E 
PORCO RICICLA SOLDI MAFIOSI COME DAVIDE SERRA)!
  1     PORCO RICICLA SOLDI MAFIOSI DAVIDE SERRA TWITTER, FACEBOOK, 
ALGEBRIS HA RICEVUTO INSIDER SU BANCHE POPOLARI DAL FIGLIO DI PUTTANA 
NEO PIDUISTISSIMO PIERLUIGI BOSCHI DI BANCA ETRURIA (NEO PIDUISTISSIMO E 
BASTARDO LAVA SOLDI MAFIOSI COME DAVIDE SERRA)!
  1     PORCO RICICLA SOLDI MAFIOSI DAVIDE SERRA TWITTER, FACEBOOK, 
ALGEBRIS HA RICEVUTO INSIDER SU BANCHE POPOLARI DAL FIGLIO DI PUTTANA 
NEO PIDUISTISSIMO PIERLUIGI BOSCHI DI BANCA ETRURIA (NEO PIDUISTISSIMO E 
PORCO RICICLA SOLDI MAFIOSI COME DAVIDE SERRA)!
  1     py36, unicode, windows, ...
  1     PyDev 5.4.0 Released
  1     RE: Can json.dumps create multiple lines
  1     Snakify - free introductory Python online course with exercises
  1     variable argument unpacking
  1     VERME PEDOFILO DANIELE MINOTTI (FACEBOOK)! AVVOCATO CRIMINALE DI 
RAPALLO!  NAZI, LAVA CASH MAFIOSO, AGENTE SEGRETO IN COPERTO DI TIPO 
KILLER! SUA LA SETTA DI SATANISTI INCULA BAMBINI CON PEDOFILI GIULIANO 
FERRARA, ANSELMA DEL'OLIO E GIUSEPPE LAZZARI!
  1     Working around multiple files in a folder

Posts  31 User-Agents
  77     G2/1.0
  52     Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.0
  30     Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
  29     KNode/0.10.4
  21     Mozilla Thunderbird 1.0.5 (Macintosh/20050711)
  19     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.0
  17     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.1
  17     Pan/0.139 (Sexual Chocolate; GIT bf56508 
git://git.gnome.org/pan2; x86_64-pc-linux-gnu)
  11     KNode/4.4.7
  9     Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 
Thunderbird/45.4.0
  9     slrn/1.0.2 (Linux)
  8     KNode/4.13.3
  7     Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.1
  5     Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
  5     nn/6.7.3
  3     KNode/4.14.1
  3     Mutt/1.5.24 (2015-08-30)
  2     Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.0
  2     Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.0
  2     Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.5.1
  1     Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
  1     KMail/1.9.10 (enterprise35 0.20100827.1168748)
  1     KMail/4.14.10 (Linux/4.8.12-3-default; KDE/4.14.26; x86_64; ; )
  1     KNode/4.14.10
  1     KNode/4.14.2
  1     Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) 
Gecko/20100101 Thunderbird/45.5.0
  1     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 
Thunderbird/45.4.0
  1     Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 
Thunderbird/31.8.0
  1     Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 
Icedove/45.3.0
  1     slrn/1.0.3 (Linux)
  1     tin/2.2.1-20140504 ("Tober an Righ") (UNIX) 
(Linux/3.16.0-4-amd64 (x86_64))



code (py2.7)
--------------------------------------------------------------
import sys as y,nntplib as t,datetime as d
s='<news server>'
g=y.argv[1]
n=t.NNTP(s,119,'<usr>','<pw>')
r,a,b,e,gn=n.group(g)
def printStat(st,hd,rg):
	r,d=n.xhdr(st,'%s-%s'%rg)
	p=[]
	for i in range(len(d)):
		v=d[i][1]
		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
		p.append(v)
	x=[(i,p.count(i)) for i in set(p)]
	x.sort(key=lambda s:(-s[1],s[0].lower()))
	print('Posts  %s %s'%(len(set(p)),hd))
	for v in x: print(' %s     %s'%(v[1],v[0]))
	print
print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
m=(int(e)-int(y.argv[3])+1,int(e))
printStat("From","Posters",m)
printStat("Subject","Subjects",m)
printStat("User-Agent","User-Agents",m)
n.quit()
--------------------------------------------------------------

usage on Windows:
$ python stats.py group last N
$ python stats.py comp.lang.python last 500
0
DFS
12/9/2016 9:07:16 PM
comp.lang.python 77058 articles. 6 followers. Post Follow

21 Replies
711 Views

Similar Articles

[PageSpeed] 45

On 2016-12-09, DFS <nospam@dfs.com> wrote:
> import sys as y,nntplib as t,datetime as d
> s='<news server>'
> g=y.argv[1]
> n=t.NNTP(s,119,'<usr>','<pw>')
> r,a,b,e,gn=n.group(g)
> def printStat(st,hd,rg):
> 	r,d=n.xhdr(st,'%s-%s'%rg)
> 	p=[]
> 	for i in range(len(d)):
> 		v=d[i][1]
> 		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
> 		p.append(v)
> 	x=[(i,p.count(i)) for i in set(p)]
> 	x.sort(key=lambda s:(-s[1],s[0].lower()))
> 	print('Posts  %s %s'%(len(set(p)),hd))
> 	for v in x: print(' %s     %s'%(v[1],v[0]))
> 	print
> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
> m=(int(e)-int(y.argv[3])+1,int(e))
> printStat("From","Posters",m)
> printStat("Subject","Subjects",m)
> printStat("User-Agent","User-Agents",m)
> n.quit()

Was there ever an "International Obfuscated Python Code Contest"? ;-)
0
Jon
12/9/2016 9:34:38 PM
On Sat, Dec 10, 2016 at 8:34 AM, Jon Ribbens <jon+usenet@unequivocal.eu> wrote:
>
> Was there ever an "International Obfuscated Python Code Contest"? ;-)

I don't know, but if so, here's my entry:

print(*([0,"Fizz","Buzz","Fizzbuzz"][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]or
i for i in range(1,51)))

ChrisA
0
Chris
12/9/2016 9:48:56 PM
On Friday, December 9, 2016 at 9:07:32 PM UTC, DFS wrote:

Usual drivel from someone who went into my email filters years ago snipped.

Quite how BartC and his "I don't do error handling" or "I don't know what a shell is" has survived on this list I'll never know, but what the heck.

Teachers need not reply.

Kindest regards.

Mark Lawrence.
0
breamoreboy
12/9/2016 11:53:26 PM
On Sat, 10 Dec 2016 08:07 am, DFS wrote:

> 
> As of 04:04PM December 09, 2016
> 
> Posts  85 Posters
[...]


Interesting stats, but couldn't you have post-processed the results to avoid
including the defamatory spam posts?

Your post is likely to be removed from the official web archive as it
contains defamatory material.



-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

0
Steve
12/10/2016 1:39:53 AM
On 12/09/2016 08:39 PM, Steve D'Aprano wrote:
> On Sat, 10 Dec 2016 08:07 am, DFS wrote:
>
>>
>> As of 04:04PM December 09, 2016
>>
>> Posts  85 Posters
> [...]
>
>
> Interesting stats, but couldn't you have post-processed the results
> to avoid including the defamatory spam posts?


Normally I don't censor, at all.  But the spams are apparently way
off-topic, so I'll filter out Subjects containing certain keywords.

The spammer will still be counted, but the stats won't show all those 
stupid Subjects.



> Your post is likely to be removed from the official web archive as
> it contains defamatory material.

Google seems to archive most Usenet posts, but there is no 'official web 
archive'.  Nor will those posts be auto-removed from GoogleGroups for 
their content.

Why does this wackjob post all that Italian-language spam to clp anyway?

0
DFS
12/10/2016 4:15:56 AM
On 12/9/2016 8:39 PM, Steve D'Aprano wrote:
> On Sat, 10 Dec 2016 08:07 am, DFS wrote:
>
>>
>> As of 04:04PM December 09, 2016
>>
>> Posts  85 Posters
> [...]
>
>
> Interesting stats, but couldn't you have post-processed the results to avoid
> including the defamatory spam posts?
>
> Your post is likely to be removed from the official web archive as it
> contains defamatory material.

Reading the news.gmane.org mirror, I never received it.

-- 
Terry Jan Reedy

0
Terry
12/10/2016 5:36:42 AM
On Sat, 10 Dec 2016 03:15 pm, DFS wrote:

> On 12/09/2016 08:39 PM, Steve D'Aprano wrote:
>> On Sat, 10 Dec 2016 08:07 am, DFS wrote:
>>
>>>
>>> As of 04:04PM December 09, 2016
>>>
>>> Posts  85 Posters
>> [...]
>>
>>
>> Interesting stats, but couldn't you have post-processed the results
>> to avoid including the defamatory spam posts?
> 
> 
> Normally I don't censor, at all.  But the spams are apparently way
> off-topic, so I'll filter out Subjects containing certain keywords.

Its not just the Subject, but also the fake Sender. There are at least five
distinct senders which are (apparently) defamatory messages in Italian.
They're all pretty obvious spam, in all caps, with various email addresses.

"... MEGLIO ..." <uccipaducci at gmx dot com>



> The spammer will still be counted, but the stats won't show all those
> stupid Subjects.

I don't mind if the spammer is counted. They probably should be collated
together, and count as a single sender using multiple addresses. But the
false name should be expunged or elided.


>> Your post is likely to be removed from the official web archive as
>> it contains defamatory material.
> 
> Google seems to archive most Usenet posts, but there is no 'official web
> archive'.  Nor will those posts be auto-removed from GoogleGroups for
> their content.

comp.lang.python is a mirror of the python-list at python dot org mailing
list, which has an official web archive:

https://mail.python.org/pipermail/python-list/

There are many unofficial ones as well.

There are a few other people who are banned from the mailing list but still
post to the newsgroup.


> Why does this wackjob post all that Italian-language spam to clp anyway?

Why do wackjobs do anything? He has a bee in his bonnet about some other
fellow, I don't even know if its a politician or just some guy he knows,
and (apparently) spams dozens of newsgroups with defamatory posts accusing
him of being a paedophile, a criminal, and more.




-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

0
Steve
12/10/2016 8:13:15 AM
On 12/10/2016 3:13 AM, Steve D'Aprano wrote:
> On Sat, 10 Dec 2016 03:15 pm, DFS wrote:

>> Normally I don't censor, at all.  But the spams are apparently way
>> off-topic, so I'll filter out Subjects containing certain keywords.

python-list is a spam-moderated list. 95+% of spam is filtered out.

> Its not just the Subject, but also the fake Sender. There are at least five
> distinct senders which are (apparently) defamatory messages in Italian.

This person actively evades our filters.

> They're all pretty obvious spam, in all caps, with various email addresses.
>
> "... MEGLIO ..." <uccipaducci at gmx dot com>
>
>
>
>> The spammer will still be counted,

Why reward someone who actively evades defenses?  If you want to count 
spam, it is mostly missing, at least as far as python-list is concerned.

> comp.lang.python is a mirror of the python-list at python dot org mailing
> list, which has an official web archive:
>
> https://mail.python.org/pipermail/python-list/

These slanderous posts, in particular, are hand-removed from the archive 
when they get past the automatic filters.  They are no more part of 
python-list than other spam.

-- 
Terry Jan Reedy


0
Terry
12/10/2016 10:28:47 AM
On Sat, 10 Dec 2016 09:28 pm, Terry Reedy wrote:

>>> The spammer will still be counted,
> 
> Why reward someone who actively evades defenses?  If you want to count
> spam, it is mostly missing, at least as far as python-list is concerned.

Its not a reward. Spammers are not like trolls, they don't hang around to
see the result of their posts. There no evidence at all that this Italian
spammer is looking for replies or responses to his(?) posts. He apparently
just fires them out.

I think that it is relevant that comp.lang.python receives X spam messages
from a certain person. It gives a picture of the health of the newsgroup:
how much of it is spam? Hopefully only a small amount.


> These slanderous posts, in particular, are hand-removed from the archive
> when they get past the automatic filters.  They are no more part of
> python-list than other spam.

Indeed. But although c.l.p is a mirror of the mailing list, it is not a
*perfect* mirror. The two do diverge: some things go to the mailing list
but apparently never make it to the newsgroup, and some things get to the
newsgroup but don't make it to the mailing list.

The stats generated by DFS are relevant to that.


-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

0
Steve
12/10/2016 2:43:21 PM
On Sat, Dec 10, 2016 at 4:28 AM, Terry Reedy <tjreedy@udel.edu> wrote:
>> comp.lang.python is a mirror of the python-list at python dot org mailing
>> list, which has an official web archive:
>>
>> https://mail.python.org/pipermail/python-list/
>
>
> These slanderous posts, in particular, are hand-removed from the archive
> when they get past the automatic filters.  They are no more part of
> python-list than other spam.

Are they still getting past SpamBayes? A couple months ago, I trained
the instance on m.p.o on a few of those spams. I haven't seen any
others since then, and no messages on the postmaster list discussing
them. I just skimmed the archives for November and December but saw no
examples. Generally, when Ralf or Mark delete spams, then manually
rewrite the Subject: and From: headers and zero out the message body.
I saw nothing like those placeholders either.

Skip
0
Skip
12/10/2016 4:15:15 PM
On Fri, 09 Dec 2016 16:07:16 -0500, DFS wrote:

> code (py2.7)
> --------------------------------------------------------------
> import sys as y,nntplib as t,datetime as d
> s='<news server>'
> g=y.argv[1]
> n=t.NNTP(s,119,'<usr>','<pw>')
> r,a,b,e,gn=n.group(g)
> def printStat(st,hd,rg):
> 	r,d=n.xhdr(st,'%s-%s'%rg)
> 	p=[]
> 	for i in range(len(d)):
> 		v=d[i][1]
> 		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
> 		p.append(v)
> 	x=[(i,p.count(i)) for i in set(p)]
> 	x.sort(key=lambda s:(-s[1],s[0].lower()))
> 	print('Posts  %s %s'%(len(set(p)),hd))
> 	for v in x: print(' %s     %s'%(v[1],v[0]))
> 	print
> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
> m=(int(e)-int(y.argv[3])+1,int(e))
> printStat("From","Posters",m)
> printStat("Subject","Subjects",m)
> printStat("User-Agent","User-Agents",m)
> n.quit()
> --------------------------------------------------------------
> 
> usage on Windows:
> $ python stats.py group last N
> $ python stats.py comp.lang.python last 500

Do you happen to have a translation of the code that will
run on Linux?

$ ./nntp.py comp.lang.python last 500
Traceback (most recent call last):
  File "./nntp.py", line 7, in <module>
    n=t.NNTP(s,119,'<usr>','<pw>')
  File "/usr/lib/python2.7/nntplib.py", line 119, in __init__
    self.sock = socket.create_connection((host, port))
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known

-- 
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!
0
Wildman
12/10/2016 5:06:50 PM
On 12/10/2016 12:06 PM, Wildman wrote:
> On Fri, 09 Dec 2016 16:07:16 -0500, DFS wrote:
>
>> code (py2.7)
>> --------------------------------------------------------------
>> import sys as y,nntplib as t,datetime as d
>> s='<news server>'
>> g=y.argv[1]
>> n=t.NNTP(s,119,'<usr>','<pw>')
>> r,a,b,e,gn=n.group(g)
>> def printStat(st,hd,rg):
>> 	r,d=n.xhdr(st,'%s-%s'%rg)
>> 	p=[]
>> 	for i in range(len(d)):
>> 		v=d[i][1]
>> 		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
>> 		p.append(v)
>> 	x=[(i,p.count(i)) for i in set(p)]
>> 	x.sort(key=lambda s:(-s[1],s[0].lower()))
>> 	print('Posts  %s %s'%(len(set(p)),hd))
>> 	for v in x: print(' %s     %s'%(v[1],v[0]))
>> 	print
>> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
>> m=(int(e)-int(y.argv[3])+1,int(e))
>> printStat("From","Posters",m)
>> printStat("Subject","Subjects",m)
>> printStat("User-Agent","User-Agents",m)
>> n.quit()
>> --------------------------------------------------------------
>>
>> usage on Windows:
>> $ python stats.py group last N
>> $ python stats.py comp.lang.python last 500
>
> Do you happen to have a translation of the code that will
> run on Linux?
>
> $ ./nntp.py comp.lang.python last 500
> Traceback (most recent call last):
>   File "./nntp.py", line 7, in <module>
>     n=t.NNTP(s,119,'<usr>','<pw>')
>   File "/usr/lib/python2.7/nntplib.py", line 119, in __init__
>     self.sock = socket.create_connection((host, port))
>   File "/usr/lib/python2.7/socket.py", line 553, in create_connection
>     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
> socket.gaierror: [Errno -2] Name or service not known


That code runs unchanged on py2.7 on Linux (I just now tested it).

You just need to put in your own credentials for the newsserver, user 
and password (lines 2 and 4).

Change this line:
print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'

to:
print('As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n')

And it will also run on py3.5


0
DFS
12/10/2016 5:31:33 PM
On Sat, 10 Dec 2016 12:31:33 -0500, DFS wrote:

> On 12/10/2016 12:06 PM, Wildman wrote:
>> On Fri, 09 Dec 2016 16:07:16 -0500, DFS wrote:
>>
>>> code (py2.7)
>>> --------------------------------------------------------------
>>> import sys as y,nntplib as t,datetime as d
>>> s='<news server>'
>>> g=y.argv[1]
>>> n=t.NNTP(s,119,'<usr>','<pw>')
>>> r,a,b,e,gn=n.group(g)
>>> def printStat(st,hd,rg):
>>> 	r,d=n.xhdr(st,'%s-%s'%rg)
>>> 	p=[]
>>> 	for i in range(len(d)):
>>> 		v=d[i][1]
>>> 		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
>>> 		p.append(v)
>>> 	x=[(i,p.count(i)) for i in set(p)]
>>> 	x.sort(key=lambda s:(-s[1],s[0].lower()))
>>> 	print('Posts  %s %s'%(len(set(p)),hd))
>>> 	for v in x: print(' %s     %s'%(v[1],v[0]))
>>> 	print
>>> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
>>> m=(int(e)-int(y.argv[3])+1,int(e))
>>> printStat("From","Posters",m)
>>> printStat("Subject","Subjects",m)
>>> printStat("User-Agent","User-Agents",m)
>>> n.quit()
>>> --------------------------------------------------------------
>>>
>>> usage on Windows:
>>> $ python stats.py group last N
>>> $ python stats.py comp.lang.python last 500
>>
>> Do you happen to have a translation of the code that will
>> run on Linux?
>>
>> $ ./nntp.py comp.lang.python last 500
>> Traceback (most recent call last):
>>   File "./nntp.py", line 7, in <module>
>>     n=t.NNTP(s,119,'<usr>','<pw>')
>>   File "/usr/lib/python2.7/nntplib.py", line 119, in __init__
>>     self.sock = socket.create_connection((host, port))
>>   File "/usr/lib/python2.7/socket.py", line 553, in create_connection
>>     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
>> socket.gaierror: [Errno -2] Name or service not known
> 
> 
> That code runs unchanged on py2.7 on Linux (I just now tested it).
> 
> You just need to put in your own credentials for the newsserver, user 
> and password (lines 2 and 4).

OK, thanks.  That didn't occur to me although it should have.
 
-- 
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!
0
Wildman
12/10/2016 5:59:57 PM
Wildman via Python-list wrote:

> On Fri, 09 Dec 2016 16:07:16 -0500, DFS wrote:
> 
>> code (py2.7)
>> --------------------------------------------------------------
>> import sys as y,nntplib as t,datetime as d
>> s='<news server>'
>> g=y.argv[1]
>> n=t.NNTP(s,119,'<usr>','<pw>')
>> r,a,b,e,gn=n.group(g)
>> def printStat(st,hd,rg):
>> r,d=n.xhdr(st,'%s-%s'%rg)
>> p=[]
>> for i in range(len(d)):
>> v=d[i][1]
>> if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
>> p.append(v)
>> x=[(i,p.count(i)) for i in set(p)]
>> x.sort(key=lambda s:(-s[1],s[0].lower()))
>> print('Posts  %s %s'%(len(set(p)),hd))
>> for v in x: print(' %s     %s'%(v[1],v[0]))
>> print
>> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
>> m=(int(e)-int(y.argv[3])+1,int(e))
>> printStat("From","Posters",m)
>> printStat("Subject","Subjects",m)
>> printStat("User-Agent","User-Agents",m)
>> n.quit()
>> --------------------------------------------------------------
>> 
>> usage on Windows:
>> $ python stats.py group last N
>> $ python stats.py comp.lang.python last 500
> 
> Do you happen to have a translation of the code that will
> run on Linux?
> 
> $ ./nntp.py comp.lang.python last 500
> Traceback (most recent call last):
>   File "./nntp.py", line 7, in <module>
>     n=t.NNTP(s,119,'<usr>','<pw>')
>   File "/usr/lib/python2.7/nntplib.py", line 119, in __init__
>     self.sock = socket.create_connection((host, port))
>   File "/usr/lib/python2.7/socket.py", line 553, in create_connection
>     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
> socket.gaierror: [Errno -2] Name or service not known
> 

That's not a Linux problem. For the code to run in 

>> s='<news server>'

>> n=t.NNTP(s,119,'<usr>','<pw>')

you need to replace the '<...>' strings with a real news server, user, and 
password. If you use Gmane no password is required:

n = t.NNTP("news.gmane.org")

However, they use a different name for the "comp.lang.python" group, so you 
have to modify the command line accordingly:

$ python stats.py gmane.comp.python.general last 500


0
Peter
12/10/2016 6:06:47 PM
On 12/10/2016 9:43 AM, Steve D'Aprano wrote:
> On Sat, 10 Dec 2016 09:28 pm, Terry Reedy wrote:
>
>>>> The spammer will still be counted,
>>
>> Why reward someone who actively evades defenses?  If you want to count
>> spam, it is mostly missing, at least as far as python-list is concerned.
>
> Its not a reward. Spammers are not like trolls, they don't hang around to
> see the result of their posts.

To me, the relevant difference is between posts related to python and 
those not.  It is usually clear which is which.

 > There no evidence at all that this Italian
> spammer is looking for replies or responses to his(?) posts. He apparently
> just fires them out.
>
> I think that it is relevant that comp.lang.python receives X spam messages
> from a certain person. It gives a picture of the health of the newsgroup:
> how much of it is spam? Hopefully only a small amount.

Python-list gets unrelated-to-python spam from lots of people.  They are 
not outliers (unlike jmf's now blocked trolls), but contaminents from a 
different universe.

I agree that the fraction of messages that are clearly spam has some 
interest in itself, and definitely should be as small as possible. But I 
contend that they should be excluded from a study of the universe of 
python-related messages.

My other point is that this small sliver that used to get passed through 
is extremely biased and statistically worthless as a study of 
python-list spamming.  If one wanted to study the rate and nature of 
contamination, or the effectiveness of filtering, one would need access 
to the raw stream of submissions.

-- 
Terry Jan Reedy

0
Terry
12/10/2016 8:27:24 PM
On Sat, 10 Dec 2016 12:31:33 -0500, DFS wrote:

> 

After correcting my stupid oversights, the code runs fine
up to the point where the user agents are printed.  I get
an error saying that 'User-Agent' is an unsupported header
field.  It must have something to do with giganews.  If I
use aioe.org I don't get the error and the user agents are
printed.

I don't think it is a problem with the code but any thoughts
why giganews is not playing nice?  And it is not related to
the python group.  I have tried on other groups and i get
the same error.  Here is the complete error message.

Traceback (most recent call last):
  File "./nntp.py", line 27, in <module>
    printStat("User-Agent","User-Agents",m)
  File "./nntp.py", line 12, in printStat
    r,d=n.xhdr(st,'%s-%s'%rg)
  File "/usr/lib/python2.7/nntplib.py", line 470, in xhdr
    resp, lines = self.longcmd('XHDR ' + hdr + ' ' + str, file)
  File "/usr/lib/python2.7/nntplib.py", line 273, in longcmd
    return self.getlongresp(file)
  File "/usr/lib/python2.7/nntplib.py", line 244, in getlongresp
    resp = self.getresp()
  File "/usr/lib/python2.7/nntplib.py", line 229, in getresp
    raise NNTPPermanentError(resp)
nntplib.NNTPPermanentError: 501 unsupported header field

-- 
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!
0
Wildman
12/11/2016 4:02:56 PM
On 12/11/2016 11:02 AM, Wildman wrote:
> On Sat, 10 Dec 2016 12:31:33 -0500, DFS wrote:
>
>>
>
> After correcting my stupid oversights, the code runs fine
> up to the point where the user agents are printed.  I get
> an error saying that 'User-Agent' is an unsupported header
> field.  It must have something to do with giganews.  If I
> use aioe.org I don't get the error and the user agents are
> printed.


For this short stat version I only used the 'User-Agent' header.  I have 
a longer version that uses both 'User-Agent' and 'X-Newsreader'


You can put a conditional in place for now:

if s='giganews':
	printStat("X-Newsreader","News Readers",m)
else:
	printStat("User-Agent","User-Agents",m)







> I don't think it is a problem with the code but any thoughts
> why giganews is not playing nice?  And it is not related to
> the python group.  I have tried on other groups and i get
> the same error.  Here is the complete error message.
>
> Traceback (most recent call last):
>   File "./nntp.py", line 27, in <module>
>     printStat("User-Agent","User-Agents",m)
>   File "./nntp.py", line 12, in printStat
>     r,d=n.xhdr(st,'%s-%s'%rg)
>   File "/usr/lib/python2.7/nntplib.py", line 470, in xhdr
>     resp, lines = self.longcmd('XHDR ' + hdr + ' ' + str, file)
>   File "/usr/lib/python2.7/nntplib.py", line 273, in longcmd
>     return self.getlongresp(file)
>   File "/usr/lib/python2.7/nntplib.py", line 244, in getlongresp
>     resp = self.getresp()
>   File "/usr/lib/python2.7/nntplib.py", line 229, in getresp
>     raise NNTPPermanentError(resp)
> nntplib.NNTPPermanentError: 501 unsupported header field
>

0
DFS
12/11/2016 5:03:07 PM
On 12/9/2016 4:34 PM, Jon Ribbens wrote:
> On 2016-12-09, DFS <nospam@dfs.com> wrote:
>> import sys as y,nntplib as t,datetime as d
>> s='<news server>'
>> g=y.argv[1]
>> n=t.NNTP(s,119,'<usr>','<pw>')
>> r,a,b,e,gn=n.group(g)
>> def printStat(st,hd,rg):
>> 	r,d=n.xhdr(st,'%s-%s'%rg)
>> 	p=[]
>> 	for i in range(len(d)):
>> 		v=d[i][1]
>> 		if st=='Subject':v=v[4:] if v[:3]=='Re:' else v
>> 		p.append(v)
>> 	x=[(i,p.count(i)) for i in set(p)]
>> 	x.sort(key=lambda s:(-s[1],s[0].lower()))
>> 	print('Posts  %s %s'%(len(set(p)),hd))
>> 	for v in x: print(' %s     %s'%(v[1],v[0]))
>> 	print
>> print 'As of '+d.datetime.now().strftime("%I:%M%p %B %d, %Y") + '\n'
>> m=(int(e)-int(y.argv[3])+1,int(e))
>> printStat("From","Posters",m)
>> printStat("Subject","Subjects",m)
>> printStat("User-Agent","User-Agents",m)
>> n.quit()
>
> Was there ever an "International Obfuscated Python Code Contest"? ;-)


ha!

Look closer, and you'll see no obfuscation.  Just short variable names. 
And removing as much extraneous white space as possible, so as not to 
waste time reading it.

s=server (then lambda sort)
d=data
v=value
p=posts
x=summarized list (z from now on)
m=I can't remember why I named it m, but it's the range of
   articles being summarized

And it's even more clear if you know the NNTP library.

n=t.NNTP(s,119,'<usr>','<pw>')
news = nntplib(server,119,'<usr>','<pw>')

r,a,b,e,gn=n.group(g)
response,article_cnt,beginID,endID,groupname = nntplib.group(group)


0
DFS
12/11/2016 5:06:45 PM
On 2016-12-11, Wildman <best_lay@yahoo.com> wrote:
> I don't think it is a problem with the code but any thoughts
> why giganews is not playing nice?

Most likely because you're calling XHDR on a header which is not in
the server's overview file.
0
Jon
12/11/2016 8:26:47 PM
On Sun, 11 Dec 2016 12:03:07 -0500, DFS wrote:

> For this short stat version I only used the 'User-Agent' header.  I have 
> a longer version that uses both 'User-Agent' and 'X-Newsreader'
> 
> 
> You can put a conditional in place for now:
> 
> if s='giganews':
> 	printStat("X-Newsreader","News Readers",m)
> else:
> 	printStat("User-Agent","User-Agents",m)

Thanks but I had already tried X-Newsreader and I got the
same result.  It is odd because if you look at my headers
there is an entry for User-Agent....

User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508
 git://git.gnome.org/pan2; x86_64-pc-linux-gnu)

<scratching head>

-- 
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!
0
Wildman
12/12/2016 4:57:33 AM
On 12/09/2016 06:53 PM, breamoreboy@gmail.com wrote:
> On Friday, December 9, 2016 at 9:07:32 PM UTC, DFS wrote:
>
> Usual drivel from someone who went into my email filters years ago
> snipped.


What 'usual drivel' are you referring to, wanker?

And what do you mean, 'years ago'?  My first post to clp was this year.




> Quite how BartC and his "I don't do error handling" or "I don't know
> what a shell is" has survived on this list I'll never know, but what
> the heck.

Because he's not a boring twat like you?



> Teachers need not reply.
>
> Kindest regards.


Really?  What part of your post was kind?



> Mark Lawrence.


In another post you said to Steve D'Aprano:

"Steven, there is no need to be rude or condescending."

That's rich, you miserable hypocrite.

0
DFS
12/12/2016 11:51:39 PM
Reply: