feat: try unicoding in user model

This commit is contained in:
Nico Rikken
2019-07-16 13:07:18 +02:00
parent d050242d0f
commit 1915ecd0c2
3 changed files with 8 additions and 2 deletions

View File

@@ -55,9 +55,11 @@ class HomeHandler(BaseHandler):
async def get(self): async def get(self):
user = self.current_user user = self.current_user
user_unicode = codecs.unicode_escape_encode(self.current_user.name)[0].decode() user_unicode = codecs.unicode_escape_encode(self.current_user.name)[0].decode()
user_unicode_1 = self.current_user.unicode_escaped_name
self.log.info("user: %s", user) self.log.info("user: %s", user)
self.log.info("user.name: %s", user.name) self.log.info("user.name: %s", user.name)
self.log.info("user_unicode: %s", user_unicode) self.log.info("user_unicode: %s", user_unicode)
self.log.info("user_unicode_1: %s", user_unicode_1)
if user.running: if user.running:
# trigger poll_and_notify event in case of a server that died # trigger poll_and_notify event in case of a server that died
await user.spawner.poll_and_notify() await user.spawner.poll_and_notify()
@@ -74,6 +76,7 @@ class HomeHandler(BaseHandler):
'home.html', 'home.html',
user=user, user=user,
user_unicode=user_unicode, user_unicode=user_unicode,
user_unicode_1=user_unicode_1,
url=url, url=url,
allow_named_servers=self.allow_named_servers, allow_named_servers=self.allow_named_servers,
named_server_limit_per_user=self.named_server_limit_per_user, named_server_limit_per_user=self.named_server_limit_per_user,

View File

@@ -1,5 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
import codecs
import warnings import warnings
from collections import defaultdict from collections import defaultdict
from datetime import datetime from datetime import datetime
@@ -353,10 +354,11 @@ class User:
@property @property
def unicode_escaped_name(self): def unicode_escaped_name(self):
"""My name, escaped for use in javascript inserts, etc.""" """My name, escaped for use in javascript inserts, etc."""
unicoded = self.name.decode('unicode_escape') #unicoded = self.name.decode('unicode_escape')
unicoded = codecs.unicode_escape_encode(self.name)[0].decode()
self.log.info(f'unicode escaping: name={ self.name }, escaped={ unicoded }') self.log.info(f'unicode escaping: name={ self.name }, escaped={ unicoded }')
print("in unicode_escaped_name") print("in unicode_escaped_name")
return self.name # return normal name for now return unicoded # return normal name for now
@property @property
def proxy_spec(self): def proxy_spec(self):

View File

@@ -65,6 +65,7 @@
{% if user %} {% if user %}
user: "{{user.name}}", user: "{{user.name}}",
user_unicode: "{{user_unicode}}", user_unicode: "{{user_unicode}}",
user_unicode_1: "{{user_unicode_1}}",
{% endif %} {% endif %}
{% if admin_access %} {% if admin_access %}
admin_access: true, admin_access: true,