#NEWLINE# def __init__( self , c_path = os . path . join ( syspaths . CONFIG_DIR , 'master' ) , mopts = None , skip_perm_errors = False , io_loop = None ) : #NEWLINE# #INDENT# '\n        :param IOLoop io_loop: io_loop used for events.\n                               Pass in an io_loop if you want asynchronous\n                               operation for obtaining events. Eg use of\n                               set_event_handler() API. Otherwise,\n                               operation will be synchronous.\n        ' #NEWLINE# if self : #NEWLINE# #INDENT# self . opts = mopts #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if os . path . isdir ( c_path ) : #NEWLINE# #INDENT# log . warning ( "{0} expects a file path not a directory path({1}) to it's 'c_path' keyword argument" . format ( self . __class__ . __name__ , c_path ) ) #NEWLINE# #UNINDENT# self . opts = salt . config . client_config ( c_path ) #NEWLINE# #UNINDENT# self . serial = salt . payload . Serial ( self . opts ) #NEWLINE# self . salt_user = salt . utils . get_specific_user ( ) #NEWLINE# self . skip_perm_errors = skip_perm_errors #NEWLINE# self . key = self . __read_master_key ( ) #NEWLINE# self . event = salt . utils . event . get_event ( 'master' , self . opts [ 'sock_dir' ] , self . opts [ 'transport' ] , opts = self . opts , listen = False , io_loop = io_loop ) #NEWLINE# self . utils = salt . loader . utils ( self . opts ) #NEWLINE# self . functions = salt . loader . minion_mods ( self . opts , utils = self . utils ) #NEWLINE# self . returners = salt . loader . returners ( self . opts , self . functions )