Skip to content

Commit

Permalink
Feature: format all python code default pep8 (#2222)
Browse files Browse the repository at this point in the history
  • Loading branch information
joshStillerman authored Jan 21, 2021
1 parent 0da3e49 commit 3c2c1ef
Show file tree
Hide file tree
Showing 248 changed files with 33,962 additions and 28,070 deletions.
41 changes: 23 additions & 18 deletions deploy/gen_compound_opcbuiltins.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,36 @@
import os
import sys

forceref = ('$EXPT','$SHOT','$SHOTNAME','$DEFAULT','GETNCI',
'MAKE_FUNCTION','BUILD_FUNCTION','EXT_FUNCTION'
'MAKE_PROCEDURE','BUILD_PROCEDURE',
'MAKE_ROUTINE','BUILD_ROUTINE',
'MAKE_CALL','BUILD_CALL',
'COMPILE','EXECUTE',
)
forceref = ('$EXPT', '$SHOT', '$SHOTNAME', '$DEFAULT', 'GETNCI',
'MAKE_FUNCTION', 'BUILD_FUNCTION', 'EXT_FUNCTION'
'MAKE_PROCEDURE', 'BUILD_PROCEDURE',
'MAKE_ROUTINE', 'BUILD_ROUTINE',
'MAKE_CALL', 'BUILD_CALL',
'COMPILE', 'EXECUTE',
)

srcdir = os.path.realpath(os.path.dirname(__file__) + '/..')
filepath = srcdir + '/include/opcbuiltins.h'
target = srcdir + '/python/MDSplus/compound.py'
print('Parsing %s to generate %s.' % (filepath, target))


def opc(f=sys.stdout):
opcnames = ('name', 'NAME', 'f1', 'f2', 'f3', 'i1', 'i2', 'o1', 'o2', 'm1', 'm2', 'token')
opcnames = ('name', 'NAME', 'f1', 'f2', 'f3', 'i1',
'i2', 'o1', 'o2', 'm1', 'm2', 'token')
opcode = 0
f.write('MAX_DIMS = 8\n')
with open(filepath, 'r') as opcf:
for line in opcf:
if not line.startswith('OPC ('):
continue
args = line[5:].split(')',2)[0].split(',',12)
vars = dict(zip(opcnames,tuple(arg.strip('\t ') for arg in args)))
args = line[5:].split(')', 2)[0].split(',', 12)
vars = dict(zip(opcnames, tuple(arg.strip('\t ') for arg in args)))
vars['opcode'] = opcode
vars['dNAME'] = vars['NAME'].replace("$","d")
has_m2 = int(eval(vars['m2'].replace('MAX_DIMS','8'))) > 0
vars['min_args_def'] = (' min_args = %(m1)s\n' % vars) if has_m2 else ''
vars['dNAME'] = vars['NAME'].replace("$", "d")
has_m2 = int(eval(vars['m2'].replace('MAX_DIMS', '8'))) > 0
vars['min_args_def'] = (
' min_args = %(m1)s\n' % vars) if has_m2 else ''
if vars['NAME'] in forceref:
vars['Function'] = '_dat.TreeRef, Function'
elif has_m2:
Expand All @@ -46,7 +50,7 @@ def opc(f=sys.stdout):
' opcode = %(opcode)d\n'
'%(min_args_def)s'
' max_args = %(m2)s\n'
) % vars)
) % vars)
if vars['NAME'] in ('BUILD_RANGE', 'MAKE_RANGE'):
f.write((
' def __init__(self, *args):\n'
Expand All @@ -65,23 +69,24 @@ def opc(f=sys.stdout):
)
else:
f.write('\n')
opcode+=1
opcode += 1
f.write(
'_c = None\n'
'for _c in globals().values():\n'
' if isinstance(_c,Function.__class__) and issubclass(_c,Function) and _c is not Function:\n'
' Function.opcodeToClass[_c.opcode]=_c\n'
'del(_c)\n'
)
# better but not for python 2.6
# better but not for python 2.6
# 'Function.opcodeToClass.update({\n'
# ' (c.opcode, c)\n'
# ' for c in globals().values()\n'
# ' if isinstance(c, Function.__class__) and issubclass(c, Function) and c is not Function\n'
# '})\n'

with open(target,'w+') as f:
with open(target+'.in','r') as i:

with open(target, 'w+') as f:
with open(target+'.in', 'r') as i:
for line in i:
f.write(line)
f.write('\n')
Expand Down
106 changes: 60 additions & 46 deletions deploy/gen_messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,21 +30,27 @@
and then do:
python mdsshr/gen_messages.py"""
anyfile = 'one of the "*_messages.xml" files'
def add_c_header(f,filename=anyfile):


def add_c_header(f, filename=anyfile):
f.write("/*")
f.write(cpy_header)
f.write("*/\n")
f.write("/*%s\n"%("*"*54))
f.write(gen_header%filename)
f.write("\n%s*/\n"%("*"*54))
f.write("/*%s\n" % ("*"*54))
f.write(gen_header % filename)
f.write("\n%s*/\n" % ("*"*54))


def add_py_header(f):
for line in cpy_header.split('\n'):
line = ('# %s'%line).strip()
f.write('%s\n'%line)
f.write('%s\n'%("#"*56))
for line in (gen_header%anyfile).split('\n'):
f.write('#%s\n'%line)
f.write('%s\n'%("#"*56))
line = ('# %s' % line).strip()
f.write('%s\n' % line)
f.write('%s\n' % ("#"*56))
for line in (gen_header % anyfile).split('\n'):
f.write('#%s\n' % line)
f.write('%s\n' % ("#"*56))


py_head = """
class MdsException(Exception):
Expand Down Expand Up @@ -273,27 +279,31 @@ class %(fac)s%(msgnam)s(%(fac)sException):%(depr)s


import xml.etree.ElementTree as ET
import sys,os
import sys
import os

sourcedir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
sevs = {'warning':0,'success':1,'error':2,'info':3,'fatal':4,'internal':7}
sevs = {'warning': 0, 'success': 1, 'error': 2,
'info': 3, 'fatal': 4, 'internal': 7}
faclist = []
facnums = {}
msglist = []
severities=["W", "S", "E", "I", "F", "?", "?", "?"]
severities = ["W", "S", "E", "I", "F", "?", "?", "?"]


def gen_include(root,filename,faclist,msglistm,f_test):
def gen_include(root, filename, faclist, msglistm, f_test):
pfaclist = ["MDSplus"]
print(filename)
with open("%s/include/%sh" % (sourcedir,filename[0:-3]),'w') as f_inc:
add_c_header(f_inc,filename)
with open("%s/include/%sh" % (sourcedir, filename[0:-3]), 'w') as f_inc:
add_c_header(f_inc, filename)
f_inc.write(inc_head)
for f in root.iter('facility'):
facnam = f.get('name')
facnum = int(f.get('value'))
if facnum in facnums:
raise Exception("Reused facility value %d, in %s. Previously used in %s" % (facnum, filename, facnums[facnum]))
facnums[facnum]=filename
raise Exception("Reused facility value %d, in %s. Previously used in %s" % (
facnum, filename, facnums[facnum]))
facnums[facnum] = filename
ffacnam = facnam
faclist.append(facnam.upper())
for status in f.iter('status'):
Expand All @@ -302,64 +312,68 @@ def gen_include(root,filename,faclist,msglistm,f_test):
msgnum = int(status.get('value'))
sev = sevs[status.get('severity').lower()]
msgn = (facnum << 16)+(msgnum << 3)+sev
text = status.get('text',"")
if len(text)==0: raise Exception("missing or empty text: %s in %s."%(facnam,filename))
depr = status.get('deprecated',"0")
text = status.get('text', "")
if len(text) == 0:
raise Exception(
"missing or empty text: %s in %s." % (facnam, filename))
depr = status.get('deprecated', "0")
sfacnam = status.get('facnam')
facabb = status.get('facabb')
if (sfacnam):
facnam=sfacnam
facnam = sfacnam
if f_test and facnam != 'Mdsdcl':
f_test.write("printf(\"%(msg)s = %%0x, msgnum=%%d,\\n msg=%%s\\n\",%(msg)s,(%(msg)s&0xffff)>>3,MdsGetMsg(%(msg)s));\n" % {'msg':facnam+msgnam})
f_test.write("printf(\"%(msg)s = %%0x, msgnum=%%d,\\n msg=%%s\\n\",%(msg)s,(%(msg)s&0xffff)>>3,MdsGetMsg(%(msg)s));\n" % {
'msg': facnam+msgnam})
msgnum = msgn & (-8)
inc_line = "#define %-24s %s" % (facnam+msgnam,hex(msgn))
inc_line = "#define %-24s %s" % (facnam+msgnam, hex(msgn))
try:
depr = bool(int(depr))
if depr:
text = '%s (deprecated)'%(text,)
inc_line = '%s // deprecated'%(inc_line,)
text = '%s (deprecated)' % (text,)
inc_line = '%s // deprecated' % (inc_line,)
depr = '\n """ This Exception is deprecated """'
else:
depr = ''
except:
depr = "use %s%s"%(facnam,depr.upper())
text = '%s (deprecated: %s)'%(text,depr)
inc_line = '%s // deprecated: %s'%(inc_line,depr)
depr = '\n """ This Exception is deprecated: %s """'%(depr,)
f_inc.write("%s\n"%(inc_line,))
depr = "use %s%s" % (facnam, depr.upper())
text = '%s (deprecated: %s)' % (text, depr)
inc_line = '%s // deprecated: %s' % (inc_line, depr)
depr = '\n """ This Exception is deprecated: %s """' % (
depr,)
f_inc.write("%s\n" % (inc_line,))
if (facabb):
facnam=facabb
facnam = facabb
facu = facnam.upper()
if (sfacnam or facabb) and facu not in faclist:
faclist.append(facu)
msg = {'msgnum':msgnum,'text':text.replace('"','\\"'),
'fac':facnam,'facu':facu,'facabb':facabb,'msgnam':msgnam,
'status':msgn,'message':text,'depr':depr, 'sev':severities[msgn&7]}
msg = {'msgnum': msgnum, 'text': text.replace('"', '\\"'),
'fac': facnam, 'facu': facu, 'facabb': facabb, 'msgnam': msgnam,
'status': msgn, 'message': text, 'depr': depr, 'sev': severities[msgn & 7]}
if not facnam in pfaclist:
pfaclist.append(facnam)
msglist.append(msg)


# gen_msglist():

f_test=None
f_test = None
if len(sys.argv) > 1:
f_test=open('%s/testmsg.h'%sourcedir,'w');
for root,dirs,files in os.walk(sourcedir):
f_test = open('%s/testmsg.h' % sourcedir, 'w')
for root, dirs, files in os.walk(sourcedir):
for filename in files:
if not filename.endswith('messages.xml'):
continue
try:
tree = ET.parse("%s/%s"%(root, filename)).getroot()
gen_include(tree,filename.lower(),faclist,msglist,f_test)
tree = ET.parse("%s/%s" % (root, filename)).getroot()
gen_include(tree, filename.lower(), faclist, msglist, f_test)
except Exception as e:
print(e)
if f_test:
f_test.close()

msglist = sorted(msglist, key = lambda item: item['msgnum'])
msglist = sorted(msglist, key=lambda item: item['msgnum'])

with open("%s/python/MDSplus/mdsExceptions.py"%sourcedir,'w') as f_py:
with open("%s/python/MDSplus/mdsExceptions.py" % sourcedir, 'w') as f_py:
add_py_header(f_py)
f_py.write(py_head)
facs = set([])
Expand All @@ -370,17 +384,17 @@ def gen_include(root,filename,faclist,msglistm,f_test):
facs.add(msg['fac'])
f_py.write(py_exc_class % msg)

with open('%s/mdsshr/MdsGetStdMsg.c'%sourcedir,'w') as f_getmsg:
with open('%s/mdsshr/MdsGetStdMsg.c' % sourcedir, 'w') as f_getmsg:
add_c_header(f_getmsg)
f_getmsg.write(msg_head);
f_getmsg.write(msg_head)
for facu in faclist:
f_getmsg.write("static const char *FAC_%s = \"%s\";\n" % (facu,facu))
f_getmsg.write("static const char *FAC_%s = \"%s\";\n" % (facu, facu))
f_getmsg.write(msg_fun)
for msg in msglist:
f_getmsg.write(msg_case % msg)
f_getmsg.write(msg_tail)

with open("%s/java/mdsplus-api/src/main/java/mds/MdsException.java"%sourcedir,'w') as f_jma:
with open("%s/java/mdsplus-api/src/main/java/mds/MdsException.java" % sourcedir, 'w') as f_jma:
add_c_header(f_jma)
f_jma.write(jma_head)
for msg in msglist:
Expand Down
Loading

0 comments on commit 3c2c1ef

Please sign in to comment.