<commit_before># -*- coding: utf-8 -*-

'''Generates the main page.'''

import re

from google.appengine.ext import webapp

import vkfeed.util


class MainPage(webapp.RequestHandler):
    '''Generates the main page.'''


    def get(self):
        '''Processes a GET request.'''

        self.response.out.write(vkfeed.util.render_template('main.html', {
            'show_like_buttons': True }))


    def post(self):
        '''Processes a POST request.'''

        profile_url = self.request.get('profile_url', '')

        match = re.match(r'''^
            \s*
            (?:https?://(?:www\.)?(?:vk\.com|vkontakte\.ru)/)?
            (?P<profile_id>[a-zA-Z][a-zA-Z0-9._-]+[a-zA-Z0-9])/?
            \s*
        $''', profile_url, re.IGNORECASE | re.VERBOSE)

        if match:
            self.redirect('/feed/' + match.group('profile_id') + '/wall')
        else:
            self.response.out.write(vkfeed.util.render_template('main.html', {
                'post_error': u'''
                    Неверно указан URL профиля.
                    Адрес должен быть вида http://vkontakte.ru/имя_профиля.
                    Имя профиля должно удовлетворять требованиям, предъявляемым администрацией ВКонтакте.
                ''',
                'show_like_buttons': True,
            }))
<commit_msg>More permissive profile name rules<commit_after># -*- coding: utf-8 -*-

'''Generates the main page.'''

import re

from google.appengine.ext import webapp

import vkfeed.util


class MainPage(webapp.RequestHandler):
    '''Generates the main page.'''


    def get(self):
        '''Processes a GET request.'''

        self.response.out.write(vkfeed.util.render_template('main.html', {
            'show_like_buttons': True }))


    def post(self):
        '''Processes a POST request.'''

        profile_url = self.request.get('profile_url', '')

        match = re.match(r'''^
            \s*
            (?:https?://(?:www\.)?(?:vk\.com|vkontakte\.ru)/)?
            (?P<profile_id>[a-zA-Z0-9._-]+)/?
            \s*
        $''', profile_url, re.IGNORECASE | re.VERBOSE)

        if match:
            self.redirect('/feed/' + match.group('profile_id') + '/wall')
        else:
            self.response.out.write(vkfeed.util.render_template('main.html', {
                'post_error': u'''
                    Неверно указан URL профиля.
                    Адрес должен быть вида http://vkontakte.ru/имя_профиля.
                    Имя профиля должно удовлетворять требованиям, предъявляемым администрацией ВКонтакте.
                ''',
                'show_like_buttons': True,
            }))

{'fraction_non_alphanumeric': 0.1562261268143621, 'fraction_numerical': 0.0030557677616501145, 'mean_word_length': 1.929530201342282, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3670004', 'n_tokens_mistral': 895, 'n_tokens_neox': 879, 'n_words': 154}