def test_urljoin(): """Tests URL parts are properly joined with a base.""" base = 'https://www.evernote.com/' assert urljoin(base) == base assert urljoin(base, '/foo/bar', 'baz/blah') == base + 'foo/bar/baz/blah' assert urljoin(base, '/foo/', '/bar/', '/baz/') == base + 'foo/bar/baz/' assert urljoin(base, '/foo//', '//bar/') == base + 'foo/bar/' assert urljoin(base, '/foo//', '//bar/?q=a') == base + 'foo/bar/?q=a' assert urljoin(base, 'foo//', '//bar/?q=a') == base + 'foo/bar/?q=a' assert urljoin(base, 'foo//////') == base + 'foo/' assert urljoin(base, 'foo', 'bar/baz', 'blah') == base + 'foo/bar/baz/blah' assert urljoin(base, 'foo/', 'bar', 'baz/') == base + 'foo/bar/baz/' assert urljoin('', '', '/////foo') == '/foo'
def test_urljoin(): """Tests URL parts are properly joined with a base.""" base = "https://www.evernote.com/" assert urljoin(base) == base assert urljoin(base, "/foo/bar", "baz/blah") == base + "foo/bar/baz/blah" assert urljoin(base, "/foo/", "/bar/", "/baz/") == base + "foo/bar/baz/" assert urljoin(base, "/foo//", "//bar/") == base + "foo/bar/" assert urljoin(base, "/foo//", "//bar/?q=a") == base + "foo/bar/?q=a" assert urljoin(base, "foo//", "//bar/?q=a") == base + "foo/bar/?q=a" assert urljoin(base, "foo//////") == base + "foo/" assert urljoin(base, "foo", "bar/baz", "blah") == base + "foo/bar/baz/blah" assert urljoin(base, "foo/", "bar", "baz/") == base + "foo/bar/baz/" assert urljoin("", "", "/////foo") == "/foo"
def get_url(self): if self.exported_revision: relative_path = "offline_tm/%s/%s" % (self.context.language.code, self.get_filename( self.exported_revision)) return urljoin(settings.MEDIA_URL, relative_path) return None
def get_url(self): if self.exported_revision: relative_path = "offline_tm/%s/%s" % ( self.context.language.code, self.get_filename(self.exported_revision) ) return urljoin(settings.MEDIA_URL, relative_path) return None
def tp_inited_async(instance, response_url, **kwargs): ctx = {"tp": instance, "url": urljoin(response_url, instance.get_absolute_url())} message = render_to_string( 'projects/admin/email/translation_project_created.txt', ctx) subject = _(u"Translation project (%s) created" % instance) recipients = get_recipients(instance.project) send_mail(subject, message, from_email=None, recipient_list=[], fail_silently=True, bcc=recipients)
def sso_login(request): """Redirects users to the Evernote SSO page.""" redirect_to = request.REQUEST.get(auth.REDIRECT_FIELD_NAME, reverse('pootle-home')) if (request.user.is_authenticated() and hasattr(request.user, 'evernote_account')): return redirect_after_login(request) return_path = reverse('en-auth-sso-callback', args=[redirect_to]) if 'create' in request.GET: return_path = '{0}?create'.format(return_path) sso_url = urljoin(settings.EN_SSO_BASE, settings.EN_SSO_PATH, settings.EN_SSO_SERVER_ALIAS, urlquote(return_path)) return redirect(sso_url)
def sso_callback(request, redirect_to): """Callback function run after a user has successfully signed on with Evernote. This runs the authentication mechanisms and creates any necessary accounts. """ redirect_to = urljoin('', '', redirect_to) create_account = 'create' in request.GET user = None try: user = auth.authenticate(request=request, create_account=create_account) if user is not None: auth.login(request, user) return redirect_after_login(request, redirect_to) except EvernoteBackend.CookieExpired: redirect_url = '?'.join([ reverse('en-auth-sso-login'), urlencode({auth.REDIRECT_FIELD_NAME: redirect_to}), ]) return redirect(redirect_url) except EvernoteBackend.AlreadyLinked: messages.error( request, _("Cannot link: your Evernote account is already " "linked with another Pootle account.")) return redirect(redirect_to) # No user-account exists, offer to link it redirect_url = '?'.join([ reverse('en-auth-account-link'), urlencode({auth.REDIRECT_FIELD_NAME: redirect_to}), ]) return redirect(redirect_url)
def sso_callback(request, redirect_to): """Callback function run after a user has successfully signed on with Evernote. This runs the authentication mechanisms and creates any necessary accounts. """ redirect_to = urljoin('', '', redirect_to) create_account = 'create' in request.GET user = None try: user = auth.authenticate(request=request, create_account=create_account) if user is not None: auth.login(request, user) return redirect_after_login(request, redirect_to) except EvernoteBackend.CookieExpired: redirect_url = '?'.join([ reverse('en-auth-sso-login'), urlencode({auth.REDIRECT_FIELD_NAME: redirect_to}), ]) return redirect(redirect_url) except EvernoteBackend.AlreadyLinked: messages.error(request, _("Cannot link: your Evernote account is already " "linked with another Pootle account.")) return redirect(redirect_to) # No user-account exists, offer to link it redirect_url = '?'.join([ reverse('en-auth-account-link'), urlencode({auth.REDIRECT_FIELD_NAME: redirect_to}), ]) return redirect(redirect_url)