docs: def sync_week_metric(self, unique_identifier, metric, start_date, end_date):
          """
          Uses the count for each day in the date range to recalculate the counters for the weeks for
          the ``metric`` for ``unique_identifier``. Useful for updating the counters for week and month
          after using set_metric_by_day.
  
          The redis backend supports lists for both ``unique_identifier`` and ``metric`` allowing for the setting of 
          multiple metrics for multiple unique_identifiers efficiently. Not all backends may support this.
  
          :param unique_identifier: Unique string indetifying the object this metric is for
          :param metric: A unique name for the metric you want to track
          :param start_date: Date syncing starts
          :param end_date: Date syncing end
          """
          metric = [metric] if isinstance(metric, basestring) else metric
          unique_identifier = [unique_identifier] if not isinstance(unique_identifier, (types.ListType, types.TupleType, types.GeneratorType,)) else unique_identifier
          closest_monday_from_date = self._get_closest_week(start_date)
          num_weeks = self._num_weeks(start_date, end_date)
          metric_key_date_range = self._get_weekly_date_range(closest_monday_from_date, datetime.timedelta(weeks=num_weeks))
  
          week_date_generator = (closest_monday_from_date + datetime.timedelta(days=i) for i in itertools.count(step=7))
          #generate a list of mondays in between the start date and the end date
          weeks_to_update = list(itertools.islice(week_date_generator, num_weeks))
          for uid in unique_identifier:
              for single_metric in metric:
                  for week in weeks_to_update:
                      _, series_results = self.get_metric_by_day(uid, single_metric, from_date=week, limit=7)
                      week_counter = sum([value for key, value in series_results.items()])
  
                      hash_key_weekly = self._get_weekly_metric_key(uid, week)
                      weekly_metric_name = self._get_weekly_metric_name(single_metric, week)
                      with self._analytics_backend.map() as conn:
                          conn.hset(hash_key_weekly, weekly_metric_name, week_counter)