def _parse_image_name(self, image, retry=True):
try:<EOL><INDENT>job_id, collection, job_name = image.split('<STR_LIT:U+002C>')<EOL><DEDENT>except:<EOL><INDENT>if retry:<EOL><INDENT>return self._parse_image_name("<STR_LIT>" %(image, self.job),<EOL>retry=False)<EOL><DEDENT>bot.exit('''<STR_LIT>''')<EOL><DEDENT>return job_id, collection, job_name<EOL>
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.