parameters: (self, group_pattern)
return_statement: return resp, lines
docstring: Get descriptions for a range of groups.
docstring_summary: Get descriptions for a range of groups.
docstring_tokens: Get descriptions for a range of groups .
function: def descriptions(self, group_pattern):
          """Get descriptions for a range of groups."""
          line_pat = re.compile("^(?P<group>[^ \t]+)[ \t]+(.*)$")
          # Try the more std (acc. to RFC2980) LIST NEWSGROUPS first
          resp, raw_lines = self.longcmd('LIST NEWSGROUPS ' + group_pattern)
          if resp[:3] != "215":
              # Now the deprecated XGTITLE.  This either raises an error
              # or succeeds with the same output structure as LIST
              # NEWSGROUPS.
              resp, raw_lines = self.longcmd('XGTITLE ' + group_pattern)
          lines = []
          for raw_line in raw_lines:
              match = line_pat.search(raw_line.strip())
              if match:
                  lines.append(match.group(1, 2))
          return resp, lines
function_tokens: def descriptions ( self , group_pattern ) : line_pat = re . compile ( "^(?P<group>[^ \t]+)[ \t]+(.*)$" ) # Try the more std (acc. to RFC2980) LIST NEWSGROUPS first resp , raw_lines = self . longcmd ( 'LIST NEWSGROUPS ' + group_pattern ) if resp [ : 3 ] != "215" : # Now the deprecated XGTITLE.  This either raises an error # or succeeds with the same output structure as LIST # NEWSGROUPS. resp , raw_lines = self . longcmd ( 'XGTITLE ' + group_pattern ) lines = [ ] for raw_line in raw_lines : match = line_pat . search ( raw_line . strip ( ) ) if match : lines . append ( match . group ( 1 , 2 ) ) return resp , lines