def increment_and_get_counter(self, path, value):
    if self.needs_connection or not self.handle.connected:
      self.reestablish_connection()

    def clear_counter_from_cache():
      """ Deletes a counter from the cache due to an exception being raised.
      """
      if path in self.__counter_cache:
        del self.__counter_cache[path]

    try: 
      counter = None
      if path in self.__counter_cache:
        counter = self.__counter_cache[path]
      else:
        counter = self.handle.Counter(path)
        self.__counter_cache[path] = counter

      counter.__add__(value) 
      new_value = counter.value
      return new_value - value, new_value
    except kazoo.exceptions.ZookeeperError as zoo_exception:
      logging.exception(zoo_exception)
      clear_counter_from_cache()
      raise ZKTransactionException("Couldn't increment path {0} by value {1}" \
        .format(path, value))
    except kazoo.exceptions.KazooException as kazoo_exception:
      logging.exception(kazoo_exception)
      clear_counter_from_cache()
      raise ZKTransactionException(
        "Couldn't increment path {0} with value {1}" \
        .format(path, value))
The full request URI including hostname and scheme. If your app
dataset/ETHPy150Open AppScale/appscale/AppDB/zkappscale/zktransaction.py/ZKTransaction.increment_and_get_counter--crossover with--dataset/ETHPy150Open adampresley/bottlepy-bootstrap/app/bottle.py/BaseRequest.url