code: def parseBar(self, csvRowDict):
      dateTime = self._parseDate(csvRowDict[self.__dateTimeColName])
      open_ = float(csvRowDict[self.__openColName])
      high = float(csvRowDict[self.__highColName])
      low = float(csvRowDict[self.__lowColName])
      close = float(csvRowDict[self.__closeColName])
      volume = float(csvRowDict[self.__volumeColName])
      adjClose = None
      if self.__adjCloseColName is not None:
          adjCloseValue = csvRowDict.get(self.__adjCloseColName, "")
          if len(adjCloseValue) > 0:
              adjClose = float(adjCloseValue)
              self.__haveAdjClose = True
  
      # Process extra columns.
      extra = {}
      for k, v in six.iteritems(csvRowDict):
          if k not in self.__columnNames.values():
              extra[k] = csvutils.float_or_string(v)
  
      return self.__barClass(
          dateTime,
          open_,
          high,
          low,
          close,
          volume,
          adjClose,
          self.__frequency,
          extra=extra,
      )
  
imports: import datetime
  import pytz
  import six
  from pyalgotrade.utils import dt
  from pyalgotrade.utils import csvutils
  from pyalgotrade.barfeed import membf
  from pyalgotrade import bar
label_desc: Use image node_id 6 for calling the GenericRowParser obj's underlying member method code with example usage: obj.parseBar(csvRowDict) and returns: self