From eb5a8e29cf362ea382da7bb9dd8c9eb175b9ebe3 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 28 Nov 2010 14:09:30 +0100 Subject: s4-python: Some reformatting for the purpose of pydoctor. --- source4/scripting/python/samba/ndr.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'source4/scripting/python/samba/ndr.py') diff --git a/source4/scripting/python/samba/ndr.py b/source4/scripting/python/samba/ndr.py index 3397e1da14..112668523f 100644 --- a/source4/scripting/python/samba/ndr.py +++ b/source4/scripting/python/samba/ndr.py @@ -1,31 +1,49 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- # Unix SMB/CIFS implementation. # Copyright © Jelmer Vernooij 2008 -# +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program. If not, see . # + +"""Network Data Representation (NDR) marshalling and unmarshalling.""" + + def ndr_pack(object): - return object.__ndr_pack__() + """Pack a NDR object. + + :param object: Object to pack + :return: String object with marshalled object. + """ + ndr_pack = getattr(object, "__ndr_pack__", None) + if ndr_pack is None: + raise TypeError("%r is not a NDR object" % object) + return ndr_pack() def ndr_unpack(cls, data): + """NDR unpack an object. + + :param cls: Class of the object to unpack + :param data: Buffer to unpack + :return: Unpacked object + """ object = cls() object.__ndr_unpack__(data) return object + def ndr_print(object): return object.__ndr_print__() -- cgit