def get(self, id): nickname = "*****@*****.**" wk = Workspace.get_by_id(int(id)) if not wk: self.response.out.write("No such workspace") return user = users.get_current_user() if user: nickname = user.nickname() if wk.user.google_id != user.user_id() and not wk.demo: self.response.out.write("Not your workspace, %s" % nickname) return if not user and not wk.demo: self.redirect(users.create_login_url(self.request.uri)) else: path = 'templates/workspace.html' template = Template(file=path) template.user = nickname template.logout_url = users.create_logout_url("/") template.wk = Workspace.get_by_id(int(id)) template.id = id template.indent_strings = workspace.indent_strings template.indent_styles = workspace.indent_styles template.font_sizes = workspace.font_sizes template.font_faces = workspace.font_faces template.encodings = workspace.encodings template.sample_stylesheets = css.sample_stylesheets self.response.out.write(template)
def write(self): t = Template(file="templates/login.tmpl") t.loggedin = self.isLoggedIn() if t.loggedin: t.user = self._sess["login"] else: t.reason = self._reason return t
def get(self): user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) else: user_record = User.all().filter("google_id =", user.user_id()).get() if user_record: template = Template(file="templates/documents.html") template.logout_url = users.create_logout_url("/") template.user = user template.user_record = user_record self.response.out.write(template) else: template = Template(file="templates/create_account.html") template.user = user template.logout_url = users.create_logout_url("/") self.response.out.write(template)
def get(self): user = users.get_current_user() if not user: self.response.out.write("Sorry you got logged out somehow") else: template = Template(file="templates/create_account_google.html") template.user = user template.google_callback = self.request.get("callback") self.response.out.write(template)
def systemd_service_install(): for name,user,group in [("strato","strato-ddns-updater","strato-ddns-updater"), ("openafs","root","root") # has to be run as root in order to be able to create dummy interfaces ]: systemd_unit_name = "%s-ddns-updater" % (name,) # @TODO: adjust to deal with setuptools options systemd_service_file_path = "/lib/systemd/system/%s-ddns-updater.service" % (name,) config_file_dir_path = "/usr/local/%s-ddns-updater/etc/" % (name,) config_file_name = "%s-ddns-updater.conf" % (name,) config_file_path = os.path.join(config_file_dir_path, config_file_name) log_file_dir_path = "/var/log/%s-ddns-updater" % (name,) log_file_path = os.path.join(log_file_dir_path, ddns_updater_globals.log_file_name) sp.call([systemctl, "stop", systemd_unit_name]) # might fail if service doesn't exist from Cheetah.Template import Template t = Template(file="ddns-updater.service.tmpl") t.systemd_unit_name = systemd_unit_name t.app_name = ddns_updater_globals.app_name t.user = user t.group = group t.mode = name template_helper.write_template_file(str(t), systemd_service_file_path) logger.info("created systemd unit '%s'" % (systemd_service_file_path,)) # pwd.getpwnam doesn't return a decent value if the user doesn't exist, but raises KeyError -> in order to express the condition in one line use a list aggreator if not user in [i.pw_name for i in pwd.getpwall()]: sp.check_call([adduser, "--system", user]) if not group in [i.gr_name for i in grp.getgrall()]: sp.check_call([addgroup, "--system", group]) if not os.path.exists(log_file_dir_path): os.makedirs(log_file_dir_path) os.chown(log_file_dir_path, pwd.getpwnam(user).pw_uid, grp.getgrnam(group).gr_gid) if os.path.exists(log_file_path): os.chown(log_file_path, pwd.getpwnam(user).pw_uid, grp.getgrnam(group).gr_gid) sp.check_call([systemctl, "daemon-reload"]) sp.check_call([systemctl, "start", systemd_unit_name])
def get(self): template = Template(file="templates/index.html") template.user = users.get_current_user() template.login_url = users.create_login_url(self.request.uri) template.logout_url = users.create_logout_url("/") self.response.out.write(template)