                          unit_scale=True,
                          unit_divisor=1024)
              while True:
                  buffer = response.read(self.chunk_size)
                  if not buffer:
                      break
 
</s> remove             item = save_queue.get()
 </s> add             item = self.save_queue.get()
            logger.trace(item) </s> remove             if save_queue.shutdown.is_set():
 </s> add             if self.save_queue.shutdown.is_set(): </s> remove         save_queue = queue_manager.get_queue("extract_out")
 </s> add  </s> remove         length = int(response.getheader("content-length"))
        with open(self._model_zip_path, "wb") as out_file:
 </s> add         length = int(response.getheader("content-length")) + downloaded_size
        if length == downloaded_size:
            logger.info("Zip already exists. Skipping download")
            return
        write_type = "wb" if downloaded_size == 0 else "ab"
        with open(self._model_zip_path, write_type) as out_file: </s> remove     @staticmethod
    def save_faces():
 </s> add     def save_faces(self):
            if downloaded_size != 0:
                pbar.update(downloaded_size)
                          unit_scale=True,
                          unit_divisor=1024)
            if downloaded_size != 0:
                pbar.update(downloaded_size)
              while True:
                  buffer = response.read(self.chunk_size)
                  if not buffer:
                      break
keep add 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