[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha5-225-g8e201ec

Jelmer Vernooij jelmer at samba.org
Fri Aug 1 19:37:45 GMT 2008


The branch, v4-0-test has been updated
       via  8e201ecf3e86c3c8865c7276fad8dad07106efaf (commit)
       via  be75b2a36ee49f66ada3ec3ababa82d74085d559 (commit)
       via  2a39aae0cef310a79427feb1b85f6794ea36849a (commit)
      from  66b76b018d6048cec63a75b24ec4c099f6a2eb8c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 8e201ecf3e86c3c8865c7276fad8dad07106efaf
Merge: be75b2a36ee49f66ada3ec3ababa82d74085d559 66b76b018d6048cec63a75b24ec4c099f6a2eb8c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Aug 1 21:36:49 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into manpage

commit be75b2a36ee49f66ada3ec3ababa82d74085d559
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Aug 1 21:12:37 2008 +0200

    Add helper object Hostconfig to make it easier to get to e.g. the
    SAM database.

commit 2a39aae0cef310a79427feb1b85f6794ea36849a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Aug 1 21:00:09 2008 +0200

    Use new style python classes.

-----------------------------------------------------------------------

Summary of changes:
 source/scripting/python/samba/getopt.py            |    4 ++++
 .../{examples/netbios.py => samba/hostconfig.py}   |   19 ++++++++++++-------
 source/scripting/python/samba/provision.py         |    8 +++++---
 source/scripting/python/samba/samba3.py            |   14 ++++++++------
 source/scripting/python/samba/samr.py              |    8 +++++++-
 source/scripting/python/samba/tests/dcerpc/bare.py |    1 +
 .../python/samba/tests/dcerpc/registry.py          |    1 +
 .../scripting/python/samba/tests/dcerpc/rpcecho.py |    2 ++
 source/scripting/python/samba/tests/provision.py   |    2 +-
 source/scripting/python/samba/tests/samba3.py      |    1 +
 source/scripting/python/subunit/__init__.py        |    2 +-
 source/setup/newuser                               |    5 ++---
 12 files changed, 45 insertions(+), 22 deletions(-)
 copy source/scripting/python/{examples/netbios.py => samba/hostconfig.py} (64%)


Changeset truncated at 500 lines:

diff --git a/source/scripting/python/samba/getopt.py b/source/scripting/python/samba/getopt.py
index 9ecb66e..c12245f 100644
--- a/source/scripting/python/samba/getopt.py
+++ b/source/scripting/python/samba/getopt.py
@@ -21,6 +21,7 @@
 
 import optparse
 from credentials import Credentials, AUTO_USE_KERBEROS, DONT_USE_KERBEROS, MUST_USE_KERBEROS
+from hostconfig import Hostconfig
 
 __docformat__ = "restructuredText"
 
@@ -52,6 +53,9 @@ class SambaOptions(optparse.OptionGroup):
             lp.load_default()
         return lp
 
+    def get_hostconfig(self):
+        return Hostconfig(self.get_loadparm())
+
 
 class VersionOptions(optparse.OptionGroup):
     """Command line option for printing Samba version."""
diff --git a/source/scripting/python/examples/netbios.py b/source/scripting/python/samba/hostconfig.py
similarity index 64%
copy from source/scripting/python/examples/netbios.py
copy to source/scripting/python/samba/hostconfig.py
index 3671076..313e342 100644
--- a/source/scripting/python/examples/netbios.py
+++ b/source/scripting/python/samba/hostconfig.py
@@ -17,12 +17,17 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-from samba.netbios import Node
+from samdb import SamDB
 
-n = Node()
-(reply_from, names, addresses) = n.query_name("GANIEDA", "192.168.4.0",
-                                              timeout=4)
+class Hostconfig(object):
+    """Aggregate object that contains all information about the configuration 
+    of a Samba host."""
+
+    def __init__(self, lp):       
+        self.lp = lp
+
+    def get_samdb(self, session_info, credentials):
+        return SamDB(url=self.lp.get("sam database"), 
+                     session_info=session_info, credentials=credentials, 
+                     lp=self.lp)
 
-print "Received reply from %s:" % (reply_from, )
-print "Names: %r" % (names, )
-print "Addresses: %r" % (addresses, )
diff --git a/source/scripting/python/samba/provision.py b/source/scripting/python/samba/provision.py
index 6dd9f3b..4f7fbfc 100644
--- a/source/scripting/python/samba/provision.py
+++ b/source/scripting/python/samba/provision.py
@@ -53,7 +53,7 @@ class InvalidNetbiosName(Exception):
         super(InvalidNetbiosName, self).__init__("The name '%r' is not a valid NetBIOS name" % name)
 
 
-class ProvisionPaths:
+class ProvisionPaths(object):
     def __init__(self):
         self.shareconf = None
         self.hklm = None
@@ -77,7 +77,8 @@ class ProvisionPaths:
         self.fedoradsinf = None
         self.fedoradspartitions = None
  
-class ProvisionNames:
+
+class ProvisionNames(object):
     def __init__(self):
         self.rootdn = None
         self.domaindn = None
@@ -92,7 +93,8 @@ class ProvisionNames:
         self.sitename = None
         self.smbconf = None
     
-class ProvisionResult:
+
+class ProvisionResult(object):
     def __init__(self):
         self.paths = None
         self.domaindn = None
diff --git a/source/scripting/python/samba/samba3.py b/source/scripting/python/samba/samba3.py
index c1340b7..0e0c29d 100644
--- a/source/scripting/python/samba/samba3.py
+++ b/source/scripting/python/samba/samba3.py
@@ -308,7 +308,7 @@ class ShareInfoDatabase(TdbDatabase):
         return secdesc
 
 
-class Shares:
+class Shares(object):
     """Container for share objects."""
     def __init__(self, lp, shareinfo):
         self.lp = lp
@@ -371,7 +371,7 @@ def decode_acb(text):
     return ret
 
 
-class SAMUser:
+class SAMUser(object):
     """Samba 3 SAM User.
     
     :note: Unknown or unset fields are set to None.
@@ -421,7 +421,8 @@ class SAMUser:
             return False
         return self.__dict__ == other.__dict__
 
-class SmbpasswdFile:
+
+class SmbpasswdFile(object):
     """Samba 3 smbpasswd file reader."""
     def __init__(self, file):
         self.users = {}
@@ -482,7 +483,7 @@ TDBSAM_FORMAT_STRING_V2 = "dddddddBBBBBBBBBBBBddBBBwwdBwwd"
 TDBSAM_USER_PREFIX = "USER_"
 
 
-class LdapSam:
+class LdapSam(object):
     """Samba 3 LDAP passdb backend reader."""
     def __init__(self, url):
         self.ldap_url = ldap_url
@@ -605,7 +606,7 @@ def shellsplit(text):
     return ret
 
 
-class WinsDatabase:
+class WinsDatabase(object):
     """Samba 3 WINS database reader."""
     def __init__(self, file):
         self.entries = {}
@@ -643,7 +644,8 @@ class WinsDatabase:
     def close(self): # for consistency
         pass
 
-class Samba3:
+
+class Samba3(object):
     """Samba 3 configuration and state data reader."""
     def __init__(self, libdir, smbconfpath):
         """Open the configuration and data for a Samba 3 installation.
diff --git a/source/scripting/python/samba/samr.py b/source/scripting/python/samba/samr.py
index 314f78b..62a7c6e 100644
--- a/source/scripting/python/samba/samr.py
+++ b/source/scripting/python/samba/samr.py
@@ -97,7 +97,8 @@ def call_fn(fn, pipe, args):
 
     return result;
    
-class SamrHandle:
+
+class SamrHandle(object):
 
     def __init__(self, pipe, handle):
 
@@ -137,6 +138,7 @@ class SamrHandle:
 
         call_fn(dcerpc.dcerpc_samr_SetSecurity, self.pipe, r)
         
+
 class ConnectHandle(SamrHandle):
 
     def EnumDomains(self):
@@ -212,6 +214,7 @@ class ConnectHandle(SamrHandle):
 
         call_fn(dcerpc.dcerpc_samr_SetBootKeyInformation, self.pipe, r)
 
+
 class DomainHandle(SamrHandle):
 
     def QueryDomainInfo(self, level = 2):
@@ -517,6 +520,7 @@ class DomainHandle(SamrHandle):
 
         call_fn(dcerpc.dcerpc_samr_TestPrivateFunctionsDomain, self.pipe, r)
 
+
 class UserHandle(SamrHandle):
 
     def DeleteUser(self):
@@ -576,6 +580,7 @@ class UserHandle(SamrHandle):
 
         call_fn(dcerpc.dcerpc_samr_TestPrivateFunctionsUser, self.pipe, r)
             
+
 class GroupHandle(SamrHandle):
 
     def QueryGroupInfo(self, level):
@@ -608,6 +613,7 @@ class GroupHandle(SamrHandle):
                  dcerpc.uint32_array_getitem(r.data_out.rids.unknown, x))
                 for x in range(r.data_out.rids.count)]
     
+
 class AliasHandle(SamrHandle):
 
     def DeleteDomAlias(self):
diff --git a/source/scripting/python/samba/tests/dcerpc/bare.py b/source/scripting/python/samba/tests/dcerpc/bare.py
index fae699a..cd939b8 100644
--- a/source/scripting/python/samba/tests/dcerpc/bare.py
+++ b/source/scripting/python/samba/tests/dcerpc/bare.py
@@ -22,6 +22,7 @@ from samba.dcerpc import ClientConnection
 from unittest import TestCase
 from samba.tests import cmdline_loadparm
 
+
 class BareTestCase(TestCase):
     def test_bare(self):
         # Connect to the echo pipe
diff --git a/source/scripting/python/samba/tests/dcerpc/registry.py b/source/scripting/python/samba/tests/dcerpc/registry.py
index 81133ff..526b234 100644
--- a/source/scripting/python/samba/tests/dcerpc/registry.py
+++ b/source/scripting/python/samba/tests/dcerpc/registry.py
@@ -21,6 +21,7 @@ from samba.dcerpc import winreg
 import unittest
 from samba.tests import RpcInterfaceTestCase
 
+
 class WinregTests(RpcInterfaceTestCase):
     def setUp(self):
         self.conn = winreg.winreg("ncalrpc:", self.get_loadparm(), 
diff --git a/source/scripting/python/samba/tests/dcerpc/rpcecho.py b/source/scripting/python/samba/tests/dcerpc/rpcecho.py
index 96bb392..12638e2 100644
--- a/source/scripting/python/samba/tests/dcerpc/rpcecho.py
+++ b/source/scripting/python/samba/tests/dcerpc/rpcecho.py
@@ -22,6 +22,7 @@ from samba.ndr import ndr_pack, ndr_unpack
 import unittest
 from samba.tests import RpcInterfaceTestCase
 
+
 class RpcEchoTests(RpcInterfaceTestCase):
     def setUp(self):
         self.conn = echo.rpcecho("ncalrpc:", self.get_loadparm())
@@ -56,6 +57,7 @@ class RpcEchoTests(RpcInterfaceTestCase):
     def test_server_name(self):
         self.assertEquals(None, self.conn.server_name)
 
+
 class NdrEchoTests(unittest.TestCase):
     def test_info1_push(self):
         x = echo.info1()
diff --git a/source/scripting/python/samba/tests/provision.py b/source/scripting/python/samba/tests/provision.py
index 76c1014..352357f 100644
--- a/source/scripting/python/samba/tests/provision.py
+++ b/source/scripting/python/samba/tests/provision.py
@@ -87,7 +87,7 @@ class FindNssTests(unittest.TestCase):
         self.assertEquals("ha", findnss(x, ["bloe", "bla"]))
 
 
-class Disabled:
+class Disabled(object):
     def test_setup_templatesdb(self):
         raise NotImplementedError(self.test_setup_templatesdb)
 
diff --git a/source/scripting/python/samba/tests/samba3.py b/source/scripting/python/samba/tests/samba3.py
index 175aa90..1755cbd 100644
--- a/source/scripting/python/samba/tests/samba3.py
+++ b/source/scripting/python/samba/tests/samba3.py
@@ -153,6 +153,7 @@ class WinsDatabaseTestCase(unittest.TestCase):
     def tearDown(self):
         self.winsdb.close()
 
+
 class SmbpasswdTestCase(unittest.TestCase):
     def setUp(self):
         self.samdb = SmbpasswdFile(os.path.join(DATADIR, "smbpasswd"))
diff --git a/source/scripting/python/subunit/__init__.py b/source/scripting/python/subunit/__init__.py
index ac3d0c3..406cd87 100644
--- a/source/scripting/python/subunit/__init__.py
+++ b/source/scripting/python/subunit/__init__.py
@@ -376,7 +376,7 @@ def run_isolated(klass, self, result):
     return result
 
 
-class SubunitTestRunner:
+class SubunitTestRunner(object):
     def __init__(self, stream=sys.stdout):
         self.stream = stream
 
diff --git a/source/setup/newuser b/source/setup/newuser
index e6ab4ed..5b677af 100755
--- a/source/setup/newuser
+++ b/source/setup/newuser
@@ -15,7 +15,6 @@ import samba.getopt as options
 import optparse
 from getpass import getpass
 from samba.auth import system_session
-from samba.samdb import SamDB
 
 parser = optparse.OptionParser("newuser [options] <username> [<password>]")
 sambaopts = options.SambaOptions(parser)
@@ -44,6 +43,6 @@ if opts.unixname is None:
 lp = sambaopts.get_loadparm()
 creds = credopts.get_credentials(lp)
 
-samdb = SamDB(url=lp.get("sam database"), session_info=system_session(), 
-              credentials=creds, lp=lp)
+samdb = sambaopts.get_hostconfig().get_samdb(session_info=system_session(), 
+		                                     credentials=creds)
 samdb.newuser(username, opts.unixname, password)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list