1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # See utils/checkpackagelib/readme.txt before editing this file.
- from checkpackagelib.base 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):
- def before(self):
- self.lastlineno = 0
- self.lastline = "\n"
- def check_line(self, lineno, text):
- self.lastlineno = lineno
- self.lastline = text
- def after(self):
- if self.lastline == self.lastline.rstrip("\r\n"):
- return ["{}:{}: missing newline at end of file"
- .format(self.filename, self.lastlineno),
- 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]
- class Utf8Characters(_CheckFunction):
- def is_ascii(self, s):
- try:
- return all(ord(c) < 128 for c in s)
- except TypeError:
- return False
- def check_line(self, lineno, text):
- if not self.is_ascii(text):
- return ["{}:{}: line contains UTF-8 characters"
- .format(self.filename, lineno),
- text]
|