def _parse_image_name(self, image, retry=True):
        '''starting with an image string in either of the following formats:
           job_id|collection
           job_id|collection|job_name
 
           Parse the job_name, job_id, and collection uri from it. If the user
           provides the first option, we use the job_name set by the client
           (default is build).
 
           Parameters
           ==========
           image: the string to parse, with values separated by |
           retry: the client can call itself recursively once, providing the
                  default job_name if the user doesn't.
        '''
        try:
            job_id, collection, job_name = image.split(',')
        except:
            # Retry and add job_name
            if retry:
                return self._parse_image_name("%s,%s" %(image, self.job),
                                              retry=False)

            # Or fail
            bot.exit('''Malformed image string! Please provide:
                        job_id,collection           (or)
                        job_id,collection,job_name''')

        return job_id, collection, job_name
starting with an image string in either of the following formats:
           job_id|collection
           job_id|collection|job_name
 
           Parse the job_name, job_id, and collection uri from it. If the user
           provides the first option, we use the job_name set by the client
           (default is build).
 
           Parameters
           ==========
           image: the string to parse, with values separated by |
           retry: the client can call itself recursively once, providing the
                  default job_name if the user doesn't.