#NEWLINE# def _read_python( path ) : #NEWLINE# #INDENT# path = op . realpath ( op . expanduser ( path ) ) #NEWLINE# assert op . exists ( path ) #NEWLINE# with open ( path , 'r' ) as f : #NEWLINE# #INDENT# contents = f . read ( ) #NEWLINE# #UNINDENT# metadata = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# exec_ ( contents , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } , metadata ) #NEWLINE# metadata = { k . lower ( ) : v for ( k , v ) in metadata . items ( ) } #NEWLINE# return metadata