|
@@ -3,6 +3,32 @@
|
|
from checkpackagebase import _CheckFunction
|
|
from checkpackagebase import _CheckFunction
|
|
|
|
|
|
|
|
|
|
|
|
+class ConsecutiveEmptyLines(_CheckFunction):
|
|
|
|
+ def before(self):
|
|
|
|
+ self.lastline = "non empty"
|
|
|
|
+
|
|
|
|
+ def check_line(self, lineno, text):
|
|
|
|
+ if text.strip() == "" == self.lastline.strip():
|
|
|
|
+ return ["{}:{}: consecutive empty lines"
|
|
|
|
+ .format(self.filename, lineno)]
|
|
|
|
+ self.lastline = text
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class EmptyLastLine(_CheckFunction):
|
|
|
|
+ def before(self):
|
|
|
|
+ self.lastlineno = 0
|
|
|
|
+ self.lastline = "non empty"
|
|
|
|
+
|
|
|
|
+ def check_line(self, lineno, text):
|
|
|
|
+ self.lastlineno = lineno
|
|
|
|
+ self.lastline = text
|
|
|
|
+
|
|
|
|
+ def after(self):
|
|
|
|
+ if self.lastline.strip() == "":
|
|
|
|
+ return ["{}:{}: empty line at end of file"
|
|
|
|
+ .format(self.filename, self.lastlineno)]
|
|
|
|
+
|
|
|
|
+
|
|
class NewlineAtEof(_CheckFunction):
|
|
class NewlineAtEof(_CheckFunction):
|
|
def before(self):
|
|
def before(self):
|
|
self.lastlineno = 0
|
|
self.lastlineno = 0
|
|
@@ -17,3 +43,12 @@ class NewlineAtEof(_CheckFunction):
|
|
return ["{}:{}: missing newline at end of file"
|
|
return ["{}:{}: missing newline at end of file"
|
|
.format(self.filename, self.lastlineno),
|
|
.format(self.filename, self.lastlineno),
|
|
self.lastline]
|
|
self.lastline]
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class TrailingSpace(_CheckFunction):
|
|
|
|
+ def check_line(self, lineno, text):
|
|
|
|
+ line = text.rstrip("\r\n")
|
|
|
|
+ if line != line.rstrip():
|
|
|
|
+ return ["{}:{}: line contains trailing whitespace"
|
|
|
|
+ .format(self.filename, lineno),
|
|
|
|
+ text]
|