K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / lib / python2.7 / dist-packages / landscape /
server ip : 104.21.89.46

your ip : 172.70.80.202

H O M E


Filename/usr/lib/python2.7/dist-packages/landscape/sysvconfig.py
Size2.03 kb
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 09:56
Last modified20-Feb-2014 23:01
Last accessed06-Jul-2025 10:49
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
"""Programmatically manage the Landscape client SysV-style init script."""

import os


class ProcessError(Exception):
""" Error running a process with os.system. """


class SysVConfig(object):
"""Configure and drive the Landscape client init script.

@param filename: Path to the file holding init scripts env variables.
"""

def __init__(self, filename="/etc/default/landscape-client"):
self._filename = filename

def set_start_on_boot(self, flag):
"""Make the init script decide to start the client when it's run."""
current = self._parse_file()
current["RUN"] = flag and 1 or 0
self._write_file(current)

def restart_landscape(self):
"""Restart the Landscape client service."""
if os.system("/etc/init.d/landscape-client restart"):
raise ProcessError("Could not restart client")

def stop_landscape(self):
"""Stop the Landscape client service."""
if os.system("/etc/init.d/landscape-client stop"):
raise ProcessError("Could not stop client")

def is_configured_to_run(self):
"""
Return a boolean representing whether the init script will decide to
actually start the client when it is run. This method should match
the semantics of the checks in debian/landscape-client.init.
"""
state = self._parse_file()
run_value = state.get("RUN", "0")
return (not run_value[:1].isspace()) and run_value != "0"

def _parse_file(self):
values = {}
# Only attempt to parse the file if it exists.
if os.path.isfile(self._filename):
for line in open(self._filename, "r"):
line = line.strip()
if "=" in line:
key, value = line.split("=")
values[key] = value
return values

def _write_file(self, values):
file = open(self._filename, "w")
for key in sorted(values.keys()):
file.write("%s=%s\n" % (key, str(values[key])))
file.close()