From 53d1b4a6f48a53c4c4ec4ac7031362b691c0366d Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Thu, 31 Oct 2019 21:10:28 -0700 Subject: Blacken the project (#141) --- examples/sql2dot.py | 85 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 65 insertions(+), 20 deletions(-) (limited to 'examples/sql2dot.py') diff --git a/examples/sql2dot.py b/examples/sql2dot.py index cd6717c..ca22ed8 100644 --- a/examples/sql2dot.py +++ b/examples/sql2dot.py @@ -47,50 +47,95 @@ alter table only student_registrations (class_id) references classes(class_id); """.upper() -from pyparsing import Literal, Word, delimitedList \ - , alphas, alphanums \ - , OneOrMore, ZeroOrMore, CharsNotIn \ - , replaceWith +from pyparsing import ( + Literal, + Word, + delimitedList, + alphas, + alphanums, + OneOrMore, + ZeroOrMore, + CharsNotIn, + replaceWith, +) skobki = "(" + ZeroOrMore(CharsNotIn(")")) + ")" -field_def = OneOrMore(Word(alphas,alphanums+"_\"':-") | skobki) +field_def = OneOrMore(Word(alphas, alphanums + "_\"':-") | skobki) + + +def field_act(s, loc, tok): + return ("<" + tok[0] + "> " + " ".join(tok)).replace('"', '\\"') -def field_act(s,loc,tok): - return ("<"+tok[0]+"> " + " ".join(tok)).replace("\"","\\\"") field_def.setParseAction(field_act) -field_list_def = delimitedList( field_def ) +field_list_def = delimitedList(field_def) + + def field_list_act(toks): return " | ".join(toks) + field_list_def.setParseAction(field_list_act) -create_table_def = Literal("CREATE") + "TABLE" + Word(alphas,alphanums+"_").setResultsName("tablename") + \ - "("+field_list_def.setResultsName("columns")+")"+ ";" +create_table_def = ( + Literal("CREATE") + + "TABLE" + + Word(alphas, alphanums + "_").setResultsName("tablename") + + "(" + + field_list_def.setResultsName("columns") + + ")" + + ";" +) + def create_table_act(toks): - return """"%(tablename)s" [\n\t label="<%(tablename)s> %(tablename)s | %(columns)s"\n\t shape="record"\n];""" % toks + return ( + """"%(tablename)s" [\n\t label="<%(tablename)s> %(tablename)s | %(columns)s"\n\t shape="record"\n];""" + % toks + ) + + create_table_def.setParseAction(create_table_act) -add_fkey_def=Literal("ALTER")+"TABLE"+"ONLY" + Word(alphanums+"_").setResultsName("fromtable") + "ADD" \ - + "CONSTRAINT" + Word(alphanums+"_") + "FOREIGN"+"KEY"+"("+Word(alphanums+"_").setResultsName("fromcolumn")+")" \ - +"REFERENCES"+Word(alphanums+"_").setResultsName("totable")+"("+Word(alphanums+"_").setResultsName("tocolumn")+")"+";" +add_fkey_def = ( + Literal("ALTER") + + "TABLE" + + "ONLY" + + Word(alphanums + "_").setResultsName("fromtable") + + "ADD" + + "CONSTRAINT" + + Word(alphanums + "_") + + "FOREIGN" + + "KEY" + + "(" + + Word(alphanums + "_").setResultsName("fromcolumn") + + ")" + + "REFERENCES" + + Word(alphanums + "_").setResultsName("totable") + + "(" + + Word(alphanums + "_").setResultsName("tocolumn") + + ")" + + ";" +) + def add_fkey_act(toks): return """ "%(fromtable)s":%(fromcolumn)s -> "%(totable)s":%(tocolumn)s """ % toks + + add_fkey_def.setParseAction(add_fkey_act) -other_statement_def = ( OneOrMore(CharsNotIn(";") ) + ";") -other_statement_def.setParseAction( replaceWith("") ) +other_statement_def = OneOrMore(CharsNotIn(";")) + ";" +other_statement_def.setParseAction(replaceWith("")) comment_def = "--" + ZeroOrMore(CharsNotIn("\n")) -comment_def.setParseAction( replaceWith("") ) +comment_def.setParseAction(replaceWith("")) -statement_def = comment_def | create_table_def | add_fkey_def | other_statement_def -defs = OneOrMore(statement_def) +statement_def = comment_def | create_table_def | add_fkey_def | other_statement_def +defs = OneOrMore(statement_def) print("""digraph g { graph [ rankdir = "LR" ]; """) for i in defs.parseString(sampleSQL): - if i!="": + if i != "": print(i) print("}") -- cgit v1.2.1