def pull_file(self, source, target):
        if not source or not target:
            raise ValueError
        try:
            subprocess.check_call(self.command + ["pull", source, target])
        except subprocess.CalledProcessError as e:
            self.log.warning(e)
            self.log.warning("Failed to copy \"%s:%s\" to %s",
                             self.name, source, target)
            raise ValueError
        else:
            self.log.debug("Copied \"%s:%s\" to \"%s\"",
                           self.name, source, target)
Copy a file from the source path on the device to the target path
dataset/ETHPy150Open seandroid-analytics/seal/sealib/device.py/Device.pull_file