예제 #1
0
파일: main.py 프로젝트: melpomene/youtify
    def get(self):
        current_user = users.get_current_user()
        youtify_user = get_current_youtify_user()
        if youtify_user is not None:
            youtify_user.device = str(random.random())
            youtify_user.save()

        if (current_user is not None) and (youtify_user is None):
            youtify_user = create_youtify_user()

        ON_PRODUCTION = os.environ['SERVER_SOFTWARE'].startswith('Google App Engine') # http://stackoverflow.com/questions/1916579/in-python-how-can-i-test-if-im-in-google-app-engine-sdk

        path = os.path.join(os.path.dirname(__file__), 'html', 'index.html')
        self.response.headers['Content-Type'] = 'text/html; charset=utf-8';
        self.response.out.write(template.render(path, {
            'user': current_user,
            'youtify_user': youtify_user,
            'accept_language_header': self.request.headers.get('Accept-Language', ''),
            'logged_in': int(current_user is not None),
            'login_url': users.create_login_url('/'),
            'logout_url': users.create_logout_url('/'),
            'toplist': toplist.get_or_create_toplist_json(),
            'ON_PRODUCTION': ON_PRODUCTION,
            'ON_DEV': ON_PRODUCTION is False,
			'url': self.request.url,
        }))
예제 #2
0
    def get(self):
        current_user = users.get_current_user()
        user = get_current_youtify_user()
        if (current_user is not None) and (user is None):
            user = create_youtify_user()

        logout_url = ''
        login_url = ''
        my_user_email = ''
        my_flattr_username = ''
        my_youtube_username = ''
        if (user is not None):
            my_user_email = user.google_user.email()
            logout_url = users.create_logout_url('/flattr_submit')
            if user.flattr_user_name:
                my_flattr_username = user.flattr_user_name
            if user.youtube_username:
                my_youtube_username = user.youtube_username
        else:
            login_url = users.create_login_url('/flattr_submit')

        path = os.path.join(os.path.dirname(__file__), 'html', 'flattr_submit.html')
        self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
        self.response.out.write(template.render(path, {
            'my_user_email': my_user_email,
            'my_flattr_username': my_flattr_username,
            'my_youtube_username': my_youtube_username,
            'logout_url': logout_url,
            'nr_of_submitted_vides':  SubmittedVideo.all().count(),
            'flattr_connect_url': '/flattrconnect?redirect_uri=%s' % urllib.quote(self.request.url),
            'flattr_disconnect_url': '/flattrdisconnect?redirect_uri=' + urllib.quote(self.request.url),
            'login_url': login_url,
        }))
예제 #3
0
 def get(self):
     current_user = users.get_current_user()
     user = get_current_youtify_user()
     if (current_user is not None) and (user is None):
         user = create_youtify_user()
     path = os.path.join(os.path.dirname(__file__), 'html', 'admin.html')
     self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
     self.response.out.write(template.render(path, {
         'my_user_name': user.google_user.nickname().split('@')[0],
         'my_user_email': user.google_user.email(),
         'my_user_id': user.key().id(),
         'logout_url': users.create_logout_url('/'),
         'languages': [lang for lang in get_languages() if lang['enabled_in_tool']],
     }))
예제 #4
0
파일: main.py 프로젝트: jensnockert/youtify
    def get(self):
        current_user = users.get_current_user()
        youtify_user = get_current_youtify_user()

        playlists = '[]';

        if youtify_user is not None:
            playlists = get_playlists_json_for_user(youtify_user)
            youtify_user.device = str(random.random())
            youtify_user.save()

        if (current_user is not None) and (youtify_user is None):
            youtify_user = create_youtify_user()

        ON_PRODUCTION = os.environ['SERVER_SOFTWARE'].startswith('Google App Engine') # http://stackoverflow.com/questions/1916579/in-python-how-can-i-test-if-im-in-google-app-engine-sdk
        
        # Find videotag and generate open graph meta tags
        match = re.compile(r'videos/(.*)').search(self.request.url)
        if match: 
            og_tag = '<meta property="og:video" content="http://www.youtube.com/v/' + match.groups()[0] + '?version=3&amp;autohide=1"/><meta property="og:video:type" content="application/x-shockwave-flash"/><meta property="og:video:width" content="396"/><meta property="og:video:height" content="297"/>'
        else:
            og_tag = ''

        lang = auto_detect_language(self.request)

        path = os.path.join(os.path.dirname(__file__), 'html', 'index.html')
        self.response.headers['Content-Type'] = 'text/html; charset=utf-8';
        self.response.out.write(template.render(path, {
            'user': current_user,
            'is_admin': int(users.is_current_user_admin()),
            'youtify_user': youtify_user,
            'playlistsFromServer': playlists,
            'autoDetectedLanguageByServer': lang,
            'autoDetectedTranslations': get_deployed_translations_json(lang),
            'accept_language_header': self.request.headers.get('Accept-Language', ''), # todo remove
            'logged_in': int(current_user is not None),
            'has_flattr_access_token': int(youtify_user is not None and youtify_user.flattr_access_token is not None),
            'flattr_user_name': youtify_user is not None and youtify_user.flattr_user_name,
            'login_url': users.create_login_url('/'),
            'logout_url': users.create_logout_url('/'),
            'toplist': get_or_create_toplist_json(),
            'flattr_toplist': flattr_toplist.get_or_create_toplist_json(),
            'ON_PRODUCTION': ON_PRODUCTION,
            'ON_DEV': ON_PRODUCTION is False,
            'USE_PRODUCTION_JAVASCRIPT': ON_PRODUCTION,
            'languages': [lang for lang in get_languages() if lang['enabled_on_site']],
            #'USE_PRODUCTION_JAVASCRIPT': True, # Uncomment to try out production settings. Remember to build production.js with localhost:8080/minimizer
			'url': self.request.url,
            'og_tag': og_tag,
        }))
예제 #5
0
    def get(self):
        current_user = users.get_current_user()
        user = get_current_youtify_user()
        if (current_user is not None) and (user is None):
            user = create_youtify_user()

        logout_url = ''
        login_url = ''
        my_user_email = ''
        my_flattr_username = ''
        my_youtube_username = ''
        if (user is not None):
            my_user_email = user.google_user2.email()
            logout_url = users.create_logout_url('/flattr_submit')
            if user.flattr_user_name:
                my_flattr_username = user.flattr_user_name
            if user.youtube_username:
                my_youtube_username = user.youtube_username
        else:
            login_url = users.create_login_url('/flattr_submit')

        path = os.path.join(os.path.dirname(__file__), 'html',
                            'flattr_submit.html')
        self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
        self.response.out.write(
            template.render(
                path, {
                    'my_user_email':
                    my_user_email,
                    'my_flattr_username':
                    my_flattr_username,
                    'my_youtube_username':
                    my_youtube_username,
                    'logout_url':
                    logout_url,
                    'nr_of_submitted_vides':
                    SubmittedVideo.all().count(),
                    'flattr_connect_url':
                    '/flattrconnect?redirect_uri=%s' %
                    urllib.quote(self.request.url),
                    'flattr_disconnect_url':
                    '/flattrdisconnect?redirect_uri=' +
                    urllib.quote(self.request.url),
                    'login_url':
                    login_url,
                }))