summaryrefslogtreecommitdiff
path: root/doc/tools
diff options
context:
space:
mode:
authormhilbrunner <m.hilbrunner@gmail.com>2017-10-01 21:00:32 +0200
committermhilbrunner <m.hilbrunner@gmail.com>2017-10-01 21:47:54 +0200
commit2d46ee36cc4d920ae97d5cb36ea04c90f52582d5 (patch)
tree96a391a33305056e02f202fc3057087c80ef1f34 /doc/tools
parent99a464ceb4da8558e35d933a30dbaba8025860d8 (diff)
doc_status.py Python 2.7 backwards compatibility
Diffstat (limited to 'doc/tools')
-rw-r--r--doc/tools/doc_status.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/doc/tools/doc_status.py b/doc/tools/doc_status.py
index 6b6b794f11..c0e6f52f19 100644
--- a/doc/tools/doc_status.py
+++ b/doc/tools/doc_status.py
@@ -91,7 +91,7 @@ def validate_tag(elem, tag):
def color(color, string):
- if flags['c']:
+ if flags['c'] and terminal_supports_color():
color_format = ''
for code in colors[color]:
color_format += '\033[' + str(code) + 'm'
@@ -105,6 +105,15 @@ ansi_escape = re.compile(r'\x1b[^m]*m')
def nonescape_len(s):
return len(ansi_escape.sub('', s))
+def terminal_supports_color():
+ p = sys.platform
+ supported_platform = p != 'Pocket PC' and (p != 'win32' or
+ 'ANSICON' in os.environ)
+
+ is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
+ if not supported_platform or not is_a_tty:
+ return False
+ return True
################################################################################
# Classes #
@@ -134,8 +143,8 @@ class ClassStatusProgress:
return self.to_colored_string()
def to_colored_string(self, format='{has}/{total}', pad_format='{pad_described}{s}{pad_total}'):
- ratio = self.described / self.total if self.total != 0 else 1
- percent = round(100 * ratio)
+ ratio = float(self.described) / float(self.total) if self.total != 0 else 1
+ percent = int(round(100 * ratio))
s = format.format(has=str(self.described), total=str(self.total), percent=str(percent))
if self.described >= self.total:
s = color('part_good', s)
@@ -218,6 +227,7 @@ class ClassStatus:
return output
+ @staticmethod
def generate_for_class(c):
status = ClassStatus()
status.name = c.attrib['name']
@@ -436,7 +446,7 @@ for row_i, row in enumerate(table):
if cell_i == 0:
row_string += table_row_chars[3] + cell + table_row_chars[3] * (padding_needed - 1)
else:
- row_string += table_row_chars[3] * math.floor(padding_needed / 2) + cell + table_row_chars[3] * math.ceil((padding_needed / 2))
+ row_string += table_row_chars[3] * int(math.floor(float(padding_needed) / 2)) + cell + table_row_chars[3] * int(math.ceil(float(padding_needed) / 2))
row_string += table_column_chars
print(row_string)