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
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
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
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