          logger.info("Downloading model: '%s'", self._model_name)
          attempts = 3
          for attempt in range(attempts):
              try:
                  response = urllib.request.urlopen(self._url_download, timeout=10)
                  logger.debug("header info: {%s}", response.info())
                  logger.debug("Return Code: %s", response.getcode())
                  self.write_zipfile(response)
                  break
              except (socket_error, socket_timeout,
 
</s> remove         logger.info("Downloading model: '%s'", self._model_name)
        attempts = 3
        for attempt in range(attempts):
 </s> add         logger.info("Downloading model: '%s' from: %s", self._model_name, self._url_download)
        for attempt in range(self.retries): </s> remove                 self.write_zipfile(response)
 </s> add                 self.write_zipfile(response, downloaded_size) </s> remove                 if attempt + 1 < attempts:
 </s> add                 if attempt + 1 < self.retries: </s> remove                                    str(err), attempt + 2, attempts)
 </s> add                                    str(err), attempt + 2, self.retries) </s> remove         load_queue = queue_manager.get_queue("detect")
 </s> add         load_queue = self.extractor.input_queue
                downloaded_size = self._url_partial_size
                req = urllib.request.Request(self._url_download)
                if downloaded_size != 0:
                    req.add_header("Range", "bytes={}-".format(downloaded_size))
                response = urllib.request.urlopen(req, timeout=10)
          logger.info("Downloading model: '%s'", self._model_name)
          attempts = 3
          for attempt in range(attempts):
              try:
                downloaded_size = self._url_partial_size
                req = urllib.request.Request(self._url_download)
                if downloaded_size != 0:
                    req.add_header("Range", "bytes={}-".format(downloaded_size))
                response = urllib.request.urlopen(req, timeout=10)
                  logger.debug("header info: {%s}", response.info())
                  logger.debug("Return Code: %s", response.getcode())
                  self.write_zipfile(response)
                  break
              except (socket_error, socket_timeout,
keep keep keep keep replace keep keep keep keep keep
 Face filter vgg face (#724)

* Implement extraction pipeline

* Face filter to vgg_face. Resume partial model downloads

* On-the-fly conversion to extraction pipeline

* Move git model ids from get_model to model definition 
lib/utils.py