Parse plusargs.

def _GetArgs(self):
    """ Parse plusargs. """
    parser = argparse.ArgumentParser()
    parser.add_argument('-s', '--src', help='override database source directory')
    parser.add_argument('-d', '--dst', help='override database destination directory')

    parser.add_argument('-e', '--extract', help='enable extracting of rar files', action="store_true")

    parser.add_argument('-c', '--copy', help='enable copying between file systems', action="store_true")
    parser.add_argument('-i', '--inplace', help='rename files in place', action="store_true")

    parser.add_argument('-u', '--update_db', help='provides option to update existing database fields', action="store_true")
    parser.add_argument('-p', '--print_db', help='print contents of database', action="store_true")

    parser.add_argument('-n', '--no_input', help='automatically accept or skip all user input', action="store_true")
    parser.add_argument('-nr', '--no_input_rename', help='automatically accept or skip user input for guide lookup and rename', action="store_true")
    parser.add_argument('-ne', '--no_input_extract', help='automatically accept or skip user input for extraction', action="store_true")

    parser.add_argument('--debug', help='enable full logging', action="store_true")
    parser.add_argument('--tags', help='enable tags on log info', action="store_true")

    parser.add_argument('--test', help='run with test database', action="store_true")
    parser.add_argument('--reset', help='resets database', action="store_true")

    args = parser.parse_args()

    if args.test:
      self._databasePath = 'test.db'

    if args.no_input or args.no_input_rename:
      self._skipUserInputRename = True

    if args.no_input or args.no_input_extract:
      self._skipUserInputExtract = True

    if args.reset:
      goodlogging.Log.Info("CLEAR", "*WARNING* YOU ARE ABOUT TO DELETE DATABASE {0}".format(self._databasePath))
      response = goodlogging.Log.Input("CLEAR", "Are you sure you want to proceed [y/n]? ")
      if response.lower() == 'y':
        if(os.path.isfile(self._databasePath)):
          os.remove(self._databasePath)
      else:
        sys.exit(0)

    if args.inplace:
      self._inPlaceRename = True

    if args.copy:
      self._crossSystemCopyEnabled = True

    if args.tags:
      goodlogging.Log.tagsEnabled = 1

    if args.debug:
      goodlogging.Log.verbosityThreshold = goodlogging.Verbosity.MINIMAL

    if args.update_db:
      self._dbUpdate = True

    if args.print_db:
      self._dbPrint = True

    if args.extract:
      self._enableExtract = True

    if args.src:
      if os.path.isdir(args.src):
        self._sourceDir = args.src
      else:
        goodlogging.Log.Fatal("CLEAR", 'Source directory argument is not recognised as a directory: {}'.format(args.src))

    if args.dst:
      if os.path.isdir(args.dst):
        self._tvDir = args.dst
      else:
        goodlogging.Log.Fatal("CLEAR", 'Target directory argument is not recognised as a directory: {}'.format(args.dst))