code: def divideSeries(requestContext, dividendSeriesList, divisorSeriesList):
      
      if len(divisorSeriesList) == 0:
          for series in dividendSeriesList:
              series.name = "divideSeries(%s,MISSING)" % series.name
              series.pathExpression = series.name
              for i in range(len(series)):
                  series[i] = None
              return dividendSeriesList
      if len(divisorSeriesList) > 1:
          raise ValueError(
              "divideSeries second argument must reference exactly 1 series"
              " (got {0})".format(len(divisorSeriesList)))
  
      [divisorSeries] = divisorSeriesList
      results = []
  
      for dividendSeries in dividendSeriesList:
          name = "divideSeries(%s,%s)" % (dividendSeries.name,
                                          divisorSeries.name)
          bothSeries = (dividendSeries, divisorSeries)
          step = reduce(lcm, [s.step for s in bothSeries])
  
          for s in bothSeries:
              s.consolidate(step / s.step)
  
          start = min([s.start for s in bothSeries])
          end = max([s.end for s in bothSeries])
          end -= (end - start) % step
  
          values = (safeDiv(v1, v2) for v1, v2 in zip_longest(*bothSeries))
  
          quotientSeries = TimeSeries(name, start, end, step, values)
          quotientSeries.pathExpression = name
          results.append(quotientSeries)
  
      return results
docs: Takes a dividend metric and a divisor metric and draws the division result.
      A constant may *not* be passed. To divide by a constant, use the scale()
      function (which is essentially a multiplication operation) and use the
      inverse of the dividend. (Division by 8 = multiplication by 1/8 or 0.125)
  
      Example::
  
          &target=divideSeries(Series.dividends,Series.divisors)