summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-08-26 23:26:18 (GMT)
committerGuido van Rossum <guido@python.org>1997-08-26 23:26:18 (GMT)
commite2ed9df64573ce99db942acaa6f3a820448b717f (patch)
treeed7c21a46a8f5aa4c2442d1939477c39f8c27400
parente20aef574a1373139ae17c6c4a02d83fe5668164 (diff)
downloadcpython-e2ed9df64573ce99db942acaa6f3a820448b717f.zip
cpython-e2ed9df64573ce99db942acaa6f3a820448b717f.tar.gz
cpython-e2ed9df64573ce99db942acaa6f3a820448b717f.tar.bz2
Fixed bugs regarding lines starting with '.' (both receiving and sending).
Added a minimal test function.
-rw-r--r--Lib/nntplib.py29
1 files changed, 25 insertions, 4 deletions
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 4759374..a5e0234 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -137,6 +137,8 @@ class NNTP:
line = self.getline()
if line == '.':
break
+ if line[:2] == '..':
+ line = line[1:]
list.append(line)
return resp, list
@@ -407,8 +409,8 @@ class NNTP:
break
if line[-1] == '\n':
line = line[:-1]
- if line == '.':
- line = '..'
+ if line[:1] == '.':
+ line = '.' + line
self.putline(line)
self.putline('.')
return self.getresp()
@@ -431,8 +433,8 @@ class NNTP:
break
if line[-1] == '\n':
line = line[:-1]
- if line == '.':
- line = '..'
+ if line[:1] == '.':
+ line = '.' + line
self.putline(line)
self.putline('.')
return self.getresp()
@@ -446,3 +448,22 @@ class NNTP:
self.sock.close()
del self.file, self.sock
return resp
+
+
+# Minimal test function
+def _test():
+ s = NNTP('news')
+ resp, count, first, last, name = s.group('comp.lang.python')
+ print resp
+ print 'Group', name, 'has', count, 'articles, range', first, 'to', last
+ resp, subs = s.xhdr('subject', first + '-' + last)
+ print resp
+ for item in subs:
+ print "%7s %s" % item
+ resp = s.quit()
+ print resp
+
+
+# Run the test when run as a script
+if __name__ == '__main__':
+ _test()