Example #1
0
def _create_user(user_info):
    user, created = m.WikipediaUser.objects.get_or_create(username=user_info['name'])
    if created:
        logging.info("created user %s" % user.username)

    if user_info.get('registration', None) != None:
        user.registration = rfc3339_parse(user_info['registration'])
    user.gender = user_info.get('gender', None)
    user.edit_count = user_info.get('editcount', 0)

    if user_info['page'] not in user.wikipedia_pages.all():
        user.wikipedia_pages.add(user_info['page'])

    if user_info.get('emailable', None) == '':
        user.emailable = True

    for group_name in user_info.get('groups', []):
        group, created = m.WikipediaGroup.objects.get_or_create(name=group_name)
        if created:
            logging.info("created group %s" % group.name)

        user.groups.add(group)

    user.save()
    return user, created
Example #2
0
def _create_user(user_info):
    user, created = m.WikipediaUser.objects.get_or_create(
        username=user_info['name'])
    if created:
        logging.info("created user %s" % user.username)

    if user_info.get('registration', None) != None:
        user.registration = rfc3339_parse(user_info['registration'])
    user.gender = user_info.get('gender', None)
    user.edit_count = user_info.get('editcount', 0)

    if user_info['page'] not in user.wikipedia_pages.all():
        user.wikipedia_pages.add(user_info['page'])

    if user_info.get('emailable', None) == '':
        user.emailable = True

    for group_name in user_info.get('groups', []):
        group, created = m.WikipediaGroup.objects.get_or_create(
            name=group_name)
        if created:
            logging.info("created group %s" % group.name)

        user.groups.add(group)

    user.save()
    return user, created
Example #3
0
    def new_from_wikipedia(klass, url):
        # if we have a page for a given url already we can return it
        wikipedia_pages = WikipediaPage.objects.filter(url=url)
        if wikipedia_pages.count() > 0:
            return wikipedia_pages[0], False

        title_escaped = wikipedia.url_to_title(url)
        info = wikipedia.info(title_escaped)

        wikipedia_page = WikipediaPage.objects.create(title=info['title'],
            url=url, last_modified=rfc3339_parse(info['touched']))

        for cat in wikipedia.categories(wikipedia_page.title):
            title = cat['title'][9:]
            if not title:
                continue
            category, created = WikipediaCategory.objects.get_or_create(title=title)
            wikipedia_page.categories.add(category)
        wikipedia_page.save()
        return wikipedia_page, True
Example #4
0
    def new_from_wikipedia(klass, url):
        # if we have a page for a given url already we can return it
        wikipedia_pages = WikipediaPage.objects.filter(url=url)
        if wikipedia_pages.count() > 0:
            return wikipedia_pages[0], False

        title_escaped = wikipedia.url_to_title(url)
        info = wikipedia.info(title_escaped)

        wikipedia_page = WikipediaPage.objects.create(
            title=info['title'],
            url=url,
            last_modified=rfc3339_parse(info['touched']))

        for cat in wikipedia.categories(wikipedia_page.title):
            title = cat['title'][9:]
            if not title:
                continue
            category, created = WikipediaCategory.objects.get_or_create(
                title=title)
            wikipedia_page.categories.add(category)
        wikipedia_page.save()
        return wikipedia_page, True