def init_album(handler): #handler.response.out.write('test') is_admin = "false" if users.is_current_user_admin(): is_admin = "true" user_url = "" user_name = "" if users.get_current_user(): user_url = users.create_logout_url("/") user_name = users.get_current_user().nickname() else: user_url = users.create_login_url("/") language_json = "" language_list = get_languagelist() for language in language_list: if language_json: language_json = language_json + ',"' + language + '"' else: language_json = '"' + language + '"' language_json = "[" + language_json + "]" config = AlbumConfig.get_object() handler.response.out.write('{"key":"' + config.key().__str__() + '","template":"' + config.template + '","is_admin":"' + is_admin + '","user_url":"' + user_url + '","user_name":"' + user_name + '","language_list":' + language_json + '}')
def get_languagelist(): path = os.path.join(os.path.dirname(__file__),'templates', AlbumConfig.get_object().template,'lng') dir_list = os.listdir(path) language_list = [] for dir_name in dir_list: if not os.path.isdir(os.path.join(path,dir_name)): language_list.append(dir_name[:-3]) return language_list
def get(self): config = AlbumConfig.get_object() language_list = get_languagelist() cookie_lng = self.request.cookies.get(config.key().__str__() + '_lng') accept_lng = self.request.accept_language cookie_flag = ""; accept_flag = ""; for lng in language_list: if accept_lng: if lng in accept_lng: accept_flag = lng; if cookie_lng: if lng in cookie_lng: cookie_flag = lng; select_lng = "en-us" if cookie_flag: select_lng = cookie_flag elif accept_flag: select_lng = accept_flag max_age = 60 * 60 * 24 * 30 expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT") self.response.headers.add_header("Set-Cookie", config.key().__str__() + "_lng=" + select_lng + "; expires=" + expires + "; max_age=" + str(max_age)) self.response.out.write( \ """ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>""" + config.title + """</title> <script type="text/javascript" language="JavaScript" src="static/jquery-1.5.min.js"></script> <script type="text/javascript" language="JavaScript" src="static/jquery.cookie.js"></script> <script type="text/javascript" language="JavaScript" src="static/jquery.xLazyLoader.js"></script> <script type="text/javascript" language="JavaScript" src="static/jquery.ba-hashchange.min.js"></script> <script type="text/javascript" language="JavaScript" src="static/core.js"></script> <script type="text/javascript" language="JavaScript" src="templates/""" + config.template + """/template_main.js"></script> <script type="text/javascript" language="JavaScript" src="templates/""" + config.template + """/lng/""" + select_lng + """.js"></script> <link type="text/css" rel="stylesheet" href="templates/""" + config.template + """/css/template.css" /> </head> <body> </body> </html> """ )