コード例 #1
0
    def _configure_webdev_ftp(self, enable_webdev_user):
        my_node_url = as_node_url(self)
        inittab = InittabManager()
        assert inittab.has_key("MPX_FTPD"), (
            "inittab must contain an MPX_FTPD group, run " +
            "moab/linux/broadway.moab.linux.install from it's local directory."
        )
        daemon_name = 'ftpd'
        group = inittab["MPX_FTPD"]
        nodes = group.subset("REQUIRED_BY")
        has_my_node = nodes.has_item(my_node_url)
        docommit = 0
        if enable_webdev_user:
            if not has_my_node:
                nodes.add_item(my_node_url)
                docommit = 1
        else:
            if has_my_node:
                nodes.remove_item(my_node_url)
                docommit = 1
        is_already_enabled = group.is_daemon_enabled(daemon_name)

        if nodes.num_items() > 0:
            # There are nodes requiring MPX_FTPD.  Enable it, if it wasn't
            # already.
            if not is_already_enabled:
                group.enable_daemon(daemon_name)
                docommit = 1
        else:
            # No nodes require MPX_FTPD.  Disable it, if it wasn't already.
            if is_already_enabled:
                group.disable_daemon(daemon_name)
                docommit = 1
        if docommit:
            inittab.commit()
        return
コード例 #2
0
ファイル: webdev.py プロジェクト: mcruse/monotone
 def _configure_webdev_ftp(self, enable_webdev_user):
     my_node_url = as_node_url(self)
     inittab = InittabManager()
     assert inittab.has_key("MPX_FTPD"), (
         "inittab must contain an MPX_FTPD group, run " +
         "moab/linux/broadway.moab.linux.install from it's local directory."
         )
     daemon_name = 'ftpd'
     group = inittab["MPX_FTPD"]
     nodes = group.subset("REQUIRED_BY")
     has_my_node = nodes.has_item(my_node_url)
     docommit = 0
     if enable_webdev_user:
         if not has_my_node:
             nodes.add_item(my_node_url)
             docommit = 1
     else:
         if has_my_node:
             nodes.remove_item(my_node_url)
             docommit = 1
     is_already_enabled = group.is_daemon_enabled(daemon_name)
     
     if nodes.num_items() > 0:
         # There are nodes requiring MPX_FTPD.  Enable it, if it wasn't
         # already.
         if not is_already_enabled:
             group.enable_daemon(daemon_name)
             docommit = 1
     else:
         # No nodes require MPX_FTPD.  Disable it, if it wasn't already.
         if is_already_enabled:
             group.disable_daemon(daemon_name)
             docommit = 1
     if docommit:
         inittab.commit()
     return