def get_links_from_string(self, contents):
        links = {
            'remote': {},
            'issue': {},
        }

        for line in contents.split('\n'):
            if not line.startswith('*'):
                continue
            line = line[1:].strip()
            try:
                left, right = line.split(': ')
            except __HOLE__:
                raise exceptions.IssueValidationError(
                    u"Remote links must have a description; format your "
                    u"link to {url} like '* Your Title: {url}' "
                    u"to continue.".format(
                        url=line.strip()
                    )
                )
            left = left.strip()
            right = right.strip()
            if self.TICKET_MATCHER.match(right):
                right = right.upper()
                links['issue'][right] = {
                    'status': left.lower()
                }
            else:
                links['remote'][right] = {}
                if left:
                    links['remote'][right]['description'] = left

        return links
dataset/ETHPy150Open coddingtonbear/jirafs/jirafs/jiralinkmanager.py/JiraLinkManager.get_links_from_string