 
 defaultOptions =
   ROOT: 'https://graph.microsoft.com'
+  logger: 'INFO'
   user: '/v1.0/me'
   dirve: '/drive'
   authinfo: '.odAuthInfo'

    .option '--client_secret <value>'
    .option '-a --authinfo <filename>', 'save auth-info'
    .action (options) ->
      par = _.extend {}, defaultOptions, _.pick options, ['client_id', 'client_secret'].concat _.keys defaultOptions
      cmdAuth par

  program.command 'show <res>'
    .description 'show list/drive'
    .option '-p --path [name]', 'item id/name'
    .action (name, options) ->
      par = _.extend {}, defaultOptions, _.pick options, ['path'].concat _.keys defaultOptions
      cmdShowList par if name is 'list'
      cmdShowDrive par if name is 'drive'


    .option '-p --path [name]', 'item id/name'
    .option '--size [number]', 'split file by ?MB before put'
    .action (name, options) ->
      par = _.extend {}, defaultOptions, pickParent(options), _.pick options, ['path', 'size'].concat _.keys defaultOptions
      logger.setLevel par.logger
      par.localpath = name
      par.path += Path.basename par.localpath if _.endsWith par.path, '/'
      fn = if par.size then cmdPutSession else cmdPut
