Skip to content

Instantly share code, notes, and snippets.

@jedie
Created April 27, 2018 07:46
Show Gist options
  • Select an option

  • Save jedie/49ee8e9d17d8cb9a8590248aa21727e0 to your computer and use it in GitHub Desktop.

Select an option

Save jedie/49ee8e9d17d8cb9a8590248aa21727e0 to your computer and use it in GitHub Desktop.
Compare own YAPF style with the defaults
_______________________________________________________________________________
*** Diff to 'PEP-8' style:
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False <- CHANGED reference is: True
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True <- NEW (not in reference)
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True <- CHANGED reference is: False
COLUMN_LIMIT = 119 <- CHANGED reference is: 79
DEDENT_CLOSING_BRACKETS = True <- CHANGED reference is: False
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False <- CHANGED reference is: True
INDENT_WIDTH = 4 <- EQUAL (same value as reference)
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False <- CHANGED reference is: True
SPLIT_BEFORE_BITWISE_OPERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_DICT_SET_GENERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_LOGICAL_OPERATOR = False <- CHANGED reference is: True
SPLIT_COMPLEX_COMPREHENSION = True <- CHANGED reference is: False
SPLIT_PENALTY_COMPREHENSION = 2100 <- CHANGED reference is: 80
*** Changes compared with 'PEP-8' style:
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True
COLUMN_LIMIT = 119
DEDENT_CLOSING_BRACKETS = True
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False
SPLIT_BEFORE_BITWISE_OPERATOR = False
SPLIT_BEFORE_DICT_SET_GENERATOR = False
SPLIT_BEFORE_LOGICAL_OPERATOR = False
SPLIT_COMPLEX_COMPREHENSION = True
SPLIT_PENALTY_COMPREHENSION = 2100
_______________________________________________________________________________
*** Diff to 'Google' style:
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False <- EQUAL (same value as reference)
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True <- NEW (not in reference)
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True <- EQUAL (same value as reference)
COLUMN_LIMIT = 119 <- CHANGED reference is: 80
DEDENT_CLOSING_BRACKETS = True <- CHANGED reference is: False
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False <- CHANGED reference is: True
INDENT_WIDTH = 4 <- EQUAL (same value as reference)
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False <- EQUAL (same value as reference)
SPLIT_BEFORE_BITWISE_OPERATOR = False <- EQUAL (same value as reference)
SPLIT_BEFORE_DICT_SET_GENERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_LOGICAL_OPERATOR = False <- EQUAL (same value as reference)
SPLIT_COMPLEX_COMPREHENSION = True <- EQUAL (same value as reference)
SPLIT_PENALTY_COMPREHENSION = 2100 <- EQUAL (same value as reference)
*** Changes compared with 'Google' style:
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True
COLUMN_LIMIT = 119
DEDENT_CLOSING_BRACKETS = True
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
SPLIT_BEFORE_DICT_SET_GENERATOR = False
_______________________________________________________________________________
*** Diff to 'Chromium' style:
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False <- EQUAL (same value as reference)
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True <- NEW (not in reference)
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True <- EQUAL (same value as reference)
COLUMN_LIMIT = 119 <- CHANGED reference is: 80
DEDENT_CLOSING_BRACKETS = True <- CHANGED reference is: False
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False <- CHANGED reference is: True
INDENT_WIDTH = 4 <- CHANGED reference is: 2
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False <- EQUAL (same value as reference)
SPLIT_BEFORE_BITWISE_OPERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_DICT_SET_GENERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_LOGICAL_OPERATOR = False <- EQUAL (same value as reference)
SPLIT_COMPLEX_COMPREHENSION = True <- EQUAL (same value as reference)
SPLIT_PENALTY_COMPREHENSION = 2100 <- EQUAL (same value as reference)
*** Changes compared with 'Chromium' style:
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True
COLUMN_LIMIT = 119
DEDENT_CLOSING_BRACKETS = True
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
INDENT_WIDTH = 4
SPLIT_BEFORE_BITWISE_OPERATOR = False
SPLIT_BEFORE_DICT_SET_GENERATOR = False
_______________________________________________________________________________
*** Diff to 'Facebook' style:
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False <- EQUAL (same value as reference)
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True <- NEW (not in reference)
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True <- CHANGED reference is: False
COLUMN_LIMIT = 119 <- CHANGED reference is: 80
DEDENT_CLOSING_BRACKETS = True <- EQUAL (same value as reference)
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False <- CHANGED reference is: True
INDENT_WIDTH = 4 <- EQUAL (same value as reference)
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False <- CHANGED reference is: True
SPLIT_BEFORE_BITWISE_OPERATOR = False <- EQUAL (same value as reference)
SPLIT_BEFORE_DICT_SET_GENERATOR = False <- CHANGED reference is: True
SPLIT_BEFORE_LOGICAL_OPERATOR = False <- EQUAL (same value as reference)
SPLIT_COMPLEX_COMPREHENSION = True <- CHANGED reference is: False
SPLIT_PENALTY_COMPREHENSION = 2100 <- CHANGED reference is: 80
*** Changes compared with 'Facebook' style:
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True
COLUMN_LIMIT = 119
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False
SPLIT_BEFORE_DICT_SET_GENERATOR = False
SPLIT_COMPLEX_COMPREHENSION = True
SPLIT_PENALTY_COMPREHENSION = 2100
import re
from yapf.yapflib import style
def config_string2dict(config_string):
style_dict = dict(
re.findall(r'([a-zA-Z0-9_]+)\s*[:=]\s*([a-zA-Z0-9_]+)', config_string)
)
for key, value in style_dict.items():
try:
value = int(value)
except ValueError:
if value == "True":
value = True
elif value == "False":
value = False
style_dict[key] = value
return style_dict
def print_style_diff(config_string, style_name, reference_style):
print("\n")
print("_"*79)
print(" *** Diff to %r style:\n" % style_name)
own_style = config_string2dict(config_string)
diff_style = {}
for key, value in sorted(own_style.items()):
print("%50s = %-10r" % (key,value), end=" ")
if key not in reference_style:
diff_style[key] = value
print("<- NEW (not in reference)")
continue
reference_value = reference_style[key]
if value == reference_value:
print("<- EQUAL (same value as reference)")
else:
diff_style[key] = value
print("<- CHANGED reference is: %r" % reference_value)
print("\n\n *** Changes compared with %r style:\n" % style_name)
for key, value in sorted(diff_style.items()):
print("%s = %s" % (key, value))
if __name__ == "__main__":
config_string="""
COLUMN_LIMIT = 119
DEDENT_CLOSING_BRACKETS = True
EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT = False
BLANK_LINE_BEFORE_MODULE_DOCSTRING = True
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = True
INDENT_WIDTH = 4
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False
SPLIT_BEFORE_BITWISE_OPERATOR = False
SPLIT_BEFORE_DICT_SET_GENERATOR = False
SPLIT_BEFORE_LOGICAL_OPERATOR = False
SPLIT_COMPLEX_COMPREHENSION = True
SPLIT_PENALTY_COMPREHENSION = 2100
"""
print_style_diff(config_string, "PEP-8", reference_style=style.CreatePEP8Style())
print_style_diff(config_string, "Google", reference_style=style.CreateGoogleStyle())
print_style_diff(config_string, "Chromium", reference_style=style.CreateChromiumStyle())
print_style_diff(config_string, "Facebook", reference_style=style.CreateFacebookStyle())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment