+ @property
+ def redundant_empty_lines(self):
+ """If self has more empty lines than necessary."""
+ redundancies = []
+ prev_line = None
+ idx_last_non_empty = -1
+ for idx, line in enumerate(self._lines):
+ if line.comment:
+ idx_last_non_empty = idx
+ elif '' == prev_line and not line.comment:
+ redundancies += [line]
+ prev_line = line
+ redundancies += [line for line in self._lines[idx_last_non_empty + 2:]
+ if line not in redundancies]
+ return redundancies
+
+ def remove_redundant_empty_lines(self):
+ """From self remove redundant empty lines."""
+ for line in self.redundant_empty_lines:
+ self._lines.remove(line)
+