code: def web(
      ticker,
      field=None,
      start=None,
      end=None,
      mrefresh=False,
      source="yahoo",
  ):
      """
      Data provider wrapper around pandas.io.data provider. Provides
      memoization.
      """
      if source == "yahoo" and field is None:
          field = "Adj Close"
  
      tmp = _download_web(
          ticker, data_source=source, start=start, end=end
      )
  
      if tmp is None:
          raise ValueError(
              "failed to retrieve data for %s:%s" % (ticker, field)
          )
  
      if field:
          return tmp[field]
      else:
          return tmp
  
file_path: ffn/ffn/data.py
imports: import ffn
  import pandas
  import yfinance
  from packaging.version import Version
  from pandas_datareader import data
  from .None import utils
label_desc: Use image node_id 2 for calling a global function with example usage: web(ticker, field, start, end, mrefresh, source) and returns: tmp, tmp