Commit e2ed9df6 authored by Guido van Rossum's avatar Guido van Rossum

Fixed bugs regarding lines starting with '.' (both receiving and sending).

Added a minimal test function.
parent e20aef57
......@@ -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()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment