<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def urls(self, key, value):
 """Populate the ``url`` key. Also populates the ``ids`` key through side effects. """

    description = force_single_element(value.get('y'))
    url = value.get('u')

    linkedin_match = LINKEDIN_URL.match(url)
    twitter_match = TWITTER_URL.match(url)
    wikipedia_match = WIKIPEDIA_URL.match(url)
    if linkedin_match:
        self.setdefault('ids', []).append(
            {
                'schema': 'LINKEDIN',
                'value': unquote_url(linkedin_match.group('page')),
            }
        )
    elif twitter_match:
        self.setdefault('ids', []).append(
            {
                'schema': 'TWITTER',
                'value': twitter_match.group('handle'),
            }
        )
    elif wikipedia_match:
        lang = wikipedia_match.group('lang')
        page = unquote_url(wikipedia_match.group('page'))
        if lang != 'en':
            page = ':'.join([lang, page])
        self.setdefault('ids', []).append(
            {
                'schema': 'WIKIPEDIA',
                'value': page,
            }
        )
    else:
        return {
            'description': description,
            'value': url,
        }