def __str__(self):
output = []<EOL>h, m, s = [None] * <NUM_LIT:3><EOL>if self._dtstart:<EOL><INDENT>output.append(self._dtstart.strftime('<STR_LIT>'))<EOL>h, m, s = self._dtstart.timetuple()[<NUM_LIT:3>:<NUM_LIT:6>]<EOL><DEDENT>parts = ['<STR_LIT>' + FREQNAMES[self._freq]]<EOL>if self._interval != <NUM_LIT:1>:<EOL><INDENT>parts.append('<STR_LIT>' + str(self._interval))<EOL><DEDENT>if self._wkst:<EOL><INDENT>parts.append('<STR_LIT>' + repr(weekday(self._wkst))[<NUM_LIT:0>:<NUM_LIT:2>])<EOL><DEDENT>if self._count is not None:<EOL><INDENT>parts.append('<STR_LIT>' + str(self._count))<EOL><DEDENT>if self._until:<EOL><INDENT>parts.append(self._until.strftime('<STR_LIT>'))<EOL><DEDENT>if self._original_rule.get('<STR_LIT>') is not None:<EOL><INDENT>original_rule = dict(self._original_rule)<EOL>wday_strings = []<EOL>for wday in original_rule['<STR_LIT>']:<EOL><INDENT>if wday.n:<EOL><INDENT>wday_strings.append('<STR_LIT>'.format(<EOL>n=wday.n,<EOL>wday=repr(wday)[<NUM_LIT:0>:<NUM_LIT:2>]))<EOL><DEDENT>else:<EOL><INDENT>wday_strings.append(repr(wday))<EOL><DEDENT><DEDENT>original_rule['<STR_LIT>'] = wday_strings<EOL><DEDENT>else:<EOL><INDENT>original_rule = self._original_rule<EOL><DEDENT>partfmt = '<STR_LIT>'<EOL>for name, key in [('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>')]:<EOL><INDENT>value = original_rule.get(key)<EOL>if value:<EOL><INDENT>parts.append(partfmt.format(name=name, vals=('<STR_LIT:U+002C>'.join(str(v)<EOL>for v in value))))<EOL><DEDENT><DEDENT>output.append('<STR_LIT:;>'.join(parts))<EOL>return '<STR_LIT:\n>'.join(output)<EOL>
Output a string that would generate this RRULE if passed to rrulestr.
This is mostly compatible with RFC2445, except for the
dateutil-specific extension BYEASTER.