summaryrefslogtreecommitdiff
path: root/source4/scripting/python
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2012-03-04 01:05:23 +0100
committerJelmer Vernooij <jelmer@samba.org>2012-03-04 18:02:06 +0100
commit122374e9996a62f6d7d9769495e058f67850a92a (patch)
tree5ccd6bef0bebf2ce470c251b0a9a1f2adbd174d7 /source4/scripting/python
parent4a8dfa48dd7e33a57f063821f9b9b39b2a39fe80 (diff)
downloadsamba-122374e9996a62f6d7d9769495e058f67850a92a.tar.gz
samba-122374e9996a62f6d7d9769495e058f67850a92a.tar.bz2
samba-122374e9996a62f6d7d9769495e058f67850a92a.zip
kcc: Improve formatting of Python code to be more consistent with our other code.
Diffstat (limited to 'source4/scripting/python')
-rw-r--r--source4/scripting/python/samba/kcc_utils.py150
1 files changed, 67 insertions, 83 deletions
diff --git a/source4/scripting/python/samba/kcc_utils.py b/source4/scripting/python/samba/kcc_utils.py
index 93096e9689..a5cda634ba 100644
--- a/source4/scripting/python/samba/kcc_utils.py
+++ b/source4/scripting/python/samba/kcc_utils.py
@@ -22,12 +22,14 @@ import ldb
import uuid
import time
-from samba import (dsdb, unix2nttime)
-from samba.dcerpc import (drsblobs, \
- drsuapi, \
- misc)
+from samba import dsdb, unix2nttime
+from samba.dcerpc import (
+ drsblobs,
+ drsuapi,
+ misc,
+ )
from samba.common import dsdb_Dn
-from samba.ndr import (ndr_unpack, ndr_pack)
+from samba.ndr import (ndr_unpack, ndr_pack)
class NCType(object):
@@ -47,9 +49,9 @@ class NamingContext(object):
:param nc_dnstr: NC dn string
"""
self.nc_dnstr = nc_dnstr
- self.nc_guid = None
- self.nc_sid = None
- self.nc_type = NCType.unknown
+ self.nc_guid = None
+ self.nc_sid = None
+ self.nc_type = NCType.unknown
def __str__(self):
'''Debug dump string output of class'''
@@ -83,7 +85,6 @@ class NamingContext(object):
self.nc_sid = msg["objectSid"][0]
assert self.nc_guid is not None
- return
def is_schema(self):
'''Return True if NC is schema'''
@@ -415,7 +416,6 @@ class NCReplica(NamingContext):
# Possibly no fSMORoleOwner
if "fSMORoleOwner" in msg:
self.rep_fsmo_role_owner = msg["fSMORoleOwner"]
- return
def is_fsmo_role_owner(self, dsa_dnstr):
if self.rep_fsmo_role_owner is not None and \
@@ -423,6 +423,7 @@ class NCReplica(NamingContext):
return True
return False
+
class DirectoryServiceAgent(object):
def __init__(self, dsa_dnstr):
@@ -626,7 +627,7 @@ class DirectoryServiceAgent(object):
for value in res[0][k]:
# Turn dn into a dsdb_Dn so we can use
# its methods to parse a binary DN
- dsdn = dsdb_Dn(samdb, value)
+ dsdn = dsdb_Dn(samdb, value)
flags = dsdn.get_binary_integer()
dnstr = str(dsdn.dn)
@@ -712,8 +713,6 @@ class DirectoryServiceAgent(object):
for dnstr in delconn:
del self.connect_table[dnstr]
- return
-
def add_connection(self, dnstr, connect):
assert dnstr not in self.connect_table.keys()
self.connect_table[dnstr] = connect
@@ -768,12 +767,12 @@ class DirectoryServiceAgent(object):
"""
dnstr = "CN=%s," % str(uuid.uuid4()) + self.dsa_dnstr
- connect = NTDSConnection(dnstr)
+ connect = NTDSConnection(dnstr)
connect.to_be_added = True
- connect.enabled = True
- connect.from_dnstr = from_dnstr
- connect.options = options
- connect.flags = flags
+ connect.enabled = True
+ connect.from_dnstr = from_dnstr
+ connect.options = options
+ connect.flags = flags
if transport is not None:
connect.transport_dnstr = transport.dnstr
@@ -814,11 +813,11 @@ class NTDSConnection(object):
"""
def __init__(self, dnstr):
self.dnstr = dnstr
- self.guid = None
+ self.guid = None
self.enabled = False
self.whenCreated = 0
- self.to_be_added = False # new connection needs to be added
- self.to_be_deleted = False # old connection needs to be deleted
+ self.to_be_added = False # new connection needs to be added
+ self.to_be_deleted = False # old connection needs to be deleted
self.to_be_modified = False
self.options = 0
self.system_flags = 0
@@ -936,12 +935,11 @@ class NTDSConnection(object):
if "objectGUID" in res[0]:
self.transport_dnstr = tdnstr
- self.transport_guid = \
+ self.transport_guid = \
misc.GUID(samdb.schema_format_value("objectGUID",
msg["objectGUID"][0]))
assert self.transport_dnstr is not None
assert self.transport_guid is not None
- return
def commit_deleted(self, samdb, ro=False):
"""Local helper routine for commit_connections() which
@@ -961,8 +959,6 @@ class NTDSConnection(object):
raise Exception("Could not delete nTDSConnection for (%s) - (%s)" % \
(self.dnstr, estr))
- return
-
def commit_added(self, samdb, ro=False):
"""Local helper routine for commit_connections() which
handles committed connections that are to be added to the
@@ -1030,7 +1026,6 @@ class NTDSConnection(object):
except ldb.LdbError, (enum, estr):
raise Exception("Could not add nTDSConnection for (%s) - (%s)" % \
(self.dnstr, estr))
- return
def commit_modified(self, samdb, ro=False):
"""Local helper routine for commit_connections() which
@@ -1057,7 +1052,7 @@ class NTDSConnection(object):
raise Exception("Unable to search for (%s) - (%s)" % \
(self.dnstr, estr))
if found == False:
- raise Exception("nTDSConnection for (%s) doesn't exist!" % \
+ raise Exception("nTDSConnection for (%s) doesn't exist!" %
self.dnstr)
if self.enabled:
@@ -1070,53 +1065,47 @@ class NTDSConnection(object):
m.dn = ldb.Dn(samdb, self.dnstr)
m["enabledConnection"] = \
- ldb.MessageElement(enablestr, ldb.FLAG_MOD_REPLACE, \
+ ldb.MessageElement(enablestr, ldb.FLAG_MOD_REPLACE,
"enabledConnection")
m["fromServer"] = \
- ldb.MessageElement(self.from_dnstr, ldb.FLAG_MOD_REPLACE, \
+ ldb.MessageElement(self.from_dnstr, ldb.FLAG_MOD_REPLACE,
"fromServer")
m["options"] = \
- ldb.MessageElement(str(self.options), ldb.FLAG_MOD_REPLACE, \
+ ldb.MessageElement(str(self.options), ldb.FLAG_MOD_REPLACE,
"options")
m["systemFlags"] = \
- ldb.MessageElement(str(self.system_flags), ldb.FLAG_MOD_REPLACE, \
+ ldb.MessageElement(str(self.system_flags), ldb.FLAG_MOD_REPLACE,
"systemFlags")
if self.transport_dnstr is not None:
m["transportType"] = \
- ldb.MessageElement(str(self.transport_dnstr), \
+ ldb.MessageElement(str(self.transport_dnstr),
ldb.FLAG_MOD_REPLACE, "transportType")
else:
m["transportType"] = \
- ldb.MessageElement([], \
- ldb.FLAG_MOD_DELETE, "transportType")
+ ldb.MessageElement([], ldb.FLAG_MOD_DELETE, "transportType")
if self.schedule is not None:
m["schedule"] = \
- ldb.MessageElement(ndr_pack(self.schedule), \
+ ldb.MessageElement(ndr_pack(self.schedule),
ldb.FLAG_MOD_REPLACE, "schedule")
else:
m["schedule"] = \
- ldb.MessageElement([], \
- ldb.FLAG_MOD_DELETE, "schedule")
+ ldb.MessageElement([], ldb.FLAG_MOD_DELETE, "schedule")
try:
samdb.modify(m)
except ldb.LdbError, (enum, estr):
- raise Exception("Could not modify nTDSConnection for (%s) - (%s)" % \
+ raise Exception("Could not modify nTDSConnection for (%s) - (%s)" %
(self.dnstr, estr))
- return
def set_modified(self, truefalse):
self.to_be_modified = truefalse
- return
def set_added(self, truefalse):
self.to_be_added = truefalse
- return
def set_deleted(self, truefalse):
self.to_be_deleted = truefalse
- return
def is_schedule_minimum_once_per_week(self):
"""Returns True if our schedule includes at least one
@@ -1142,9 +1131,9 @@ class NTDSConnection(object):
elif sched is None:
return True
- if self.schedule.size != sched.size or \
- self.schedule.bandwidth != sched.bandwidth or \
- self.schedule.numberOfSchedules != sched.numberOfSchedules:
+ if (self.schedule.size != sched.size or
+ self.schedule.bandwidth != sched.bandwidth or
+ self.schedule.numberOfSchedules != sched.numberOfSchedules):
return False
for i, header in enumerate(self.schedule.headerArray):
@@ -1307,7 +1296,7 @@ class Partition(NamingContext):
continue
for value in msg[k]:
- dsdn = dsdb_Dn(samdb, value)
+ dsdn = dsdb_Dn(samdb, value)
dnstr = str(dsdn.dn)
if k == "nCName":
@@ -1406,11 +1395,11 @@ class Site(object):
naming context. Contains all DSAs that exist within the site
"""
def __init__(self, site_dnstr):
- self.site_dnstr = site_dnstr
- self.site_options = 0
+ self.site_dnstr = site_dnstr
+ self.site_options = 0
self.site_topo_generator = None
- self.site_topo_failover = 0 # appears to be in minutes
- self.dsa_table = {}
+ self.site_topo_failover = 0 # appears to be in minutes
+ self.dsa_table = {}
def load_site(self, samdb):
"""Loads the NTDS Site Settions options attribute for the site
@@ -1502,7 +1491,7 @@ class Site(object):
break
if c_rep is None:
- raise Exception("Unable to find config NC replica for (%s)" % \
+ raise Exception("Unable to find config NC replica for (%s)" %
mydsa.dsa_dnstr)
# Load repsFrom if not already loaded so we can get the current
@@ -1525,10 +1514,10 @@ class Site(object):
# in the site by guid in ascending order". Place sorted list
# in D_sort[]
D_sort = []
- d_dsa = None
+ d_dsa = None
unixnow = int(time.time()) # seconds since 1970
- ntnow = unix2nttime(unixnow) # double word number of 100 nanosecond
+ ntnow = unix2nttime(unixnow) # double word number of 100 nanosecond
# intervals since 1600s
for dsa in self.dsa_table.values():
@@ -1583,15 +1572,14 @@ class Site(object):
# last_success appears to be a double word containing
# number of 100 nanosecond intervals since the 1600s
if d_dsa.dsa_ivid != c_rep.source_dsa_invocation_id:
- i_idx = j_idx
+ i_idx = j_idx
t_time = 0
elif ntnow < (c_rep.last_success - f):
- i_idx = 0
+ i_idx = 0
t_time = 0
-
else:
- i_idx = j_idx
+ i_idx = j_idx
t_time = c_rep.last_success
# Otherwise (Nominate local DC as ISTG):
@@ -1599,7 +1587,7 @@ class Site(object):
# object for the local DC.
# Let t = the current time.
else:
- i_idx = D_sort.index(mydsa)
+ i_idx = D_sort.index(mydsa)
t_time = ntnow
# Compute a function that maintains the current ISTG if
@@ -1641,14 +1629,15 @@ class Site(object):
m.dn = ldb.Dn(samdb, ssdn)
m["interSiteTopologyGenerator"] = \
- ldb.MessageElement(mydsa.dsa_dnstr, ldb.FLAG_MOD_REPLACE, \
+ ldb.MessageElement(mydsa.dsa_dnstr, ldb.FLAG_MOD_REPLACE,
"interSiteTopologyGenerator")
try:
samdb.modify(m)
except ldb.LdbError, estr:
- raise Exception("Could not set interSiteTopologyGenerator for (%s) - (%s)" %
- (ssdn, estr))
+ raise Exception(
+ "Could not set interSiteTopologyGenerator for (%s) - (%s)" %
+ (ssdn, estr))
return True
def is_intrasite_topology_disabled(self):
@@ -1791,13 +1780,11 @@ class GraphNode(object):
return
# Generate a new dnstr for this nTDSConnection
- opt = dsdb.NTDSCONN_OPT_IS_GENERATED
+ opt = dsdb.NTDSCONN_OPT_IS_GENERATED
flags = dsdb.SYSTEM_FLAG_CONFIG_ALLOW_RENAME + \
dsdb.SYSTEM_FLAG_CONFIG_ALLOW_MOVE
dsa.create_connection(opt, flags, None, edge_dnstr, None)
- return
-
def has_sufficient_edges(self):
'''Return True if we have met the maximum "from edges" criteria'''
@@ -1806,7 +1793,6 @@ class GraphNode(object):
return False
-
class Transport(object):
"""Class defines a Inter-site transport found under Sites
"""
@@ -1865,11 +1851,11 @@ class Transport(object):
if "bridgeheadServerListBL" in msg:
for value in msg["bridgeheadServerListBL"]:
- dsdn = dsdb_Dn(samdb, value)
+ dsdn = dsdb_Dn(samdb, value)
dnstr = str(dsdn.dn)
if dnstr not in self.bridgehead_list:
self.bridgehead_list.append(dnstr)
- return
+
class RepsFromTo(object):
"""Class encapsulation of the NDR repsFromToBlob.
@@ -2002,7 +1988,6 @@ class RepsFromTo(object):
raise AttributeError, "Unknown attribute %s" % item
self.__dict__['update_flags'] |= drsuapi.DRSUAPI_DRS_UPDATE_ADDRESS
- return
def __getattr__(self, item):
"""Overload of RepsFromTo attribute retrieval.
@@ -2047,18 +2032,19 @@ class RepsFromTo(object):
def set_unmodified(self):
self.__dict__['update_flags'] = 0x0
+
class SiteLink(object):
"""Class defines a site link found under sites
"""
def __init__(self, dnstr):
- self.dnstr = dnstr
- self.options = 0
+ self.dnstr = dnstr
+ self.options = 0
self.system_flags = 0
- self.cost = 0
- self.schedule = None
- self.interval = None
- self.site_list = []
+ self.cost = 0
+ self.schedule = None
+ self.interval = None
+ self.site_list = []
def __str__(self):
'''Debug dump string output of Transport object'''
@@ -2124,33 +2110,32 @@ class SiteLink(object):
if "siteList" in msg:
for value in msg["siteList"]:
- dsdn = dsdb_Dn(samdb, value)
+ dsdn = dsdb_Dn(samdb, value)
dnstr = str(dsdn.dn)
if dnstr not in self.site_list:
self.site_list.append(dnstr)
- return
def is_sitelink(self, site1_dnstr, site2_dnstr):
"""Given a siteLink object, determine if it is a link
between the two input site DNs
"""
- if site1_dnstr in self.site_list and \
- site2_dnstr in self.site_list:
+ if site1_dnstr in self.site_list and site2_dnstr in self.site_list:
return True
return False
-class VertexColor():
+
+class VertexColor(object):
(unknown, white, black, red) = range(0, 4)
+
class Vertex(object):
"""Class encapsulation of a Site Vertex in the
intersite topology replication algorithm
"""
def __init__(self, site, part):
- self.site = site
- self.part = part
+ self.site = site
+ self.part = part
self.color = VertexColor.unknown
- return
def color_vertex(self):
"""Color each vertex to indicate which kind of NC
@@ -2179,7 +2164,6 @@ class Vertex(object):
break
else:
self.color = VertexColor.black
- return
def is_red(self):
assert(self.color != VertexColor.unknown)