                              choices=("Masked", "Adjust"), # case sensitive because this is used to load a plugin.
                              default="Masked",
                              help="Converter to use.")
  
          parser.add_argument('-b', '--blur-size',
                              type=int,
                              default=2,
                              help="Blur size. (Masked converter only)")
  
 
</s> remove             for idx, face in faces:
                image = converter.patch_image(image, face)
 </s> add             skip = False
            try:
                if self.frame_ranges is not None:
                    # grab the index with last number regex
                    idx = int(self.imageidxre.findall(filename)[0])
                    # only skip if the current index is not between any of the frame ranges.
                    skip = not any(map(lambda b: b[0]<=idx<=b[1], self.frame_ranges))
            except:
                # if we error, dont skip
                skip = False

            if not skip: # process as normal
                for idx, face in faces:
                    image = converter.patch_image(image, face) </s> remove 
 </s> add import re
        parser.add_argument('-fr', '--frame-ranges',
                            nargs="+",
                            type=str,
                            help="""frame ranges to apply transfer to. eg for frames 10 to 50 and 90 to 100 use --frame-ranges 10-50 90-100.
                            Files must have the framenumber as the last number in the name!"""
                            )

        parser.add_argument('-d', '--discard-frames',
                            action="store_true",
                            dest="discard_frames",
                            default=False,
                            help="when use with --frame-ranges discards frames that are not processed instead of writing them out unchanged."
                            )

                              choices=("Masked", "Adjust"), # case sensitive because this is used to load a plugin.
                              default="Masked",
                              help="Converter to use.")
  
        parser.add_argument('-fr', '--frame-ranges',
                            nargs="+",
                            type=str,
                            help="""frame ranges to apply transfer to. eg for frames 10 to 50 and 90 to 100 use --frame-ranges 10-50 90-100.
                            Files must have the framenumber as the last number in the name!"""
                            )

        parser.add_argument('-d', '--discard-frames',
                            action="store_true",
                            dest="discard_frames",
                            default=False,
                            help="when use with --frame-ranges discards frames that are not processed instead of writing them out unchanged."
                            )

          parser.add_argument('-b', '--blur-size',
                              type=int,
                              default=2,
                              help="Blur size. (Masked converter only)")
  
keep keep keep add keep keep keep keep keep
 frame-range option for convert (#90)

* extended arguments for convert re https://github.com/deepfakes/faceswap/issues/85

* forgot to change helptext for extended arguments.

* Added -fr --frame-range argument to convert

accepts a list of frame ranges like `-fr 40-50 90-100`

still writes out frames that havent been converted.

* added --discard-frames argument

--discard-frames discards frames not included in --frame-range instead
of writing them out unchanged. 
scripts/convert.py