Exemple #1
0
 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)
Exemple #2
0
 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
Exemple #3
0
 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)
Exemple #4
0
 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])
Exemple #6
0
 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)