code: def get_ocean_backend(backend_cmd, enrich_backend, no_incremental,
                        filter_raw=None, filter_raw_should=None):
      if no_incremental:
          last_enrich = None
      else:
          last_enrich = get_last_enrich(backend_cmd, enrich_backend, filter_raw=filter_raw)
      logger.debug("Last enrichment: %s", last_enrich)
      backend = None
      connector = get_connectors()[enrich_backend.get_connector_name()]
      if backend_cmd:
          backend_cmd = init_backend(backend_cmd)
          backend = backend_cmd.backend
          signature = inspect.signature(backend.fetch)
          if 'from_date' in signature.parameters:
              ocean_backend = connector[1](backend, from_date=last_enrich)
          elif 'offset' in signature.parameters:
              ocean_backend = connector[1](backend, offset=last_enrich)
          else:
              if last_enrich:
                  ocean_backend = connector[1](backend, from_date=last_enrich)
              else:
                  ocean_backend = connector[1](backend)
      else:
          params = enrich_backend.backend_params
          if params:
              try:
                  date_pos = params.index('--from-date')
                  last_enrich = parser.parse(params[date_pos + 1])
              except ValueError:
                  pass
          if last_enrich:
              ocean_backend = connector[1](backend, from_date=last_enrich)
          else:
              ocean_backend = connector[1](backend)
      if filter_raw:
          ocean_backend.set_filter_raw(filter_raw)
      if filter_raw_should:
          ocean_backend.set_filter_raw_should(filter_raw_should)
      return ocean_backend