1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

37 Commits

Author SHA1 Message Date
Andrew Bartlett
a7633deb89 py3: Remove #define IsPy3BytesOrString(pystr)
This was

  (PyUnicode_Check(pystr) || PyBytes_Check(pystr))

This allows us to end the use of Python 2/3 compatability macros.

The one caller will be simplified in the next commit

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <nopower@samba.org>
2020-03-23 19:12:43 +00:00
Andrew Bartlett
675ab9d6ae py3: Remove #define IsPy3Bytes PyBytes_Check
This allows us to end the use of Python 2/3 compatability macros.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
2020-03-23 19:12:43 +00:00
Andrew Bartlett
5c1867ba45 py3: Remove #define PyInt_FromLong PyLong_FromLong
This allows us to end the use of Python 2/3 compatability macros.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power
2020-03-23 19:12:43 +00:00
Andrew Bartlett
4764e8b4c7 py3: Remove #define PyInt_AsLong PyLong_AsLong
This allows us to end the use of Python 2/3 compatability macros.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
2020-03-23 19:12:43 +00:00
Andrew Bartlett
cc79726d95 py3: Remove #define PyInt_Type PyLong_Type
This allows us to end the use of Python 2/3 compatability macros.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
2020-03-23 19:12:43 +00:00
Andrew Bartlett
3aea3b1538 py3: Remove #define PyInt_Check PyLong_Check
This will allow us to remove some unused code in the PIDL-generated
python bindings.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
2020-03-23 19:12:43 +00:00
Andrew Bartlett
f32779b198 py3: Remove PyStr_AsUTF8AndSize() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
7566268f38 py3: Remove PyStr_AsUTF8() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
f178daa854 py3: Remove PyStr_AsString() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
d9d9463fd3 py3: Remove PyStr_FromFormatV() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
75d87b29f1 py3: Remove PyStr_FromFormat() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
3fa00d4350 py3: Remove PyStr_FromStringAndSize() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
34f9a089d8 py3: Remove PyStr_FromString() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
f498c81966 py3: Remove PyStr_Check() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:27 +00:00
Andrew Bartlett
559dd2d25a py3: Remove PyStr_Type() compatability macro
We no longer need Samba to be py2/py3 compatible so we choose to return to the standard
function names.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
2019-06-24 17:24:26 +00:00
Andrew Bartlett
0d4738ee3b py3: Remove unused PyInt_AsSsize_t macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Jun  6 13:26:05 UTC 2019 on sn-devel-184
2019-06-06 13:26:05 +00:00
Andrew Bartlett
88d62288dd py3: Remove unused PyInt_AsUnsignedLongLongMask macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
6e2e80a4d2 py3: Remove unused PyInt_AS_LONG macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
03cb50cf58 py3: Remove unused PyInt_FromSize_t macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
f352399152 py3: Remove unused PyInt_FromSsize_t macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
7bd3d0f79b py3: Remove unused PyInt_FromString macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
09fecb6775 py3: Remove unused PyInt_CheckExact macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
2dfcf652ac py3: Remove unused PY_DESC_PY3_STRING macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
5c15e68bb1 py3: Remove unused PyStr_AsUTF8String macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
a5b04db676 py3: Remove unused PyStr_Decode macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
1c92e7bdea py3: Remove unused PyStr_InternFromString macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
e6da3fcfbe py3: Remove unused PyStr_InternInPlace macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
e191788c06 py3: Remove unused PyStr_Format macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:25 +00:00
Andrew Bartlett
00718304e9 py3: Remove unused PyStr_Concat macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:24 +00:00
Andrew Bartlett
cff26b47ee py3: Remove unused PyStr_CheckExact macro from py3compat.h
Now that we are no longer developing new py2/py3 compatible code we can remove
any aspects of this header we do not use.  This will make the eventual removal
easier.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:24 +00:00
Andrew Bartlett
6a8c7adc5a py3: Remove unused IS_PY3 macro from py3compat.h
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:24 +00:00
Andrew Bartlett
0b81dca257 py3: Remove Python2 side of py3compat.h
This is unused as we do not support building python modules (etc) under py2.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2019-06-06 12:14:24 +00:00
Noel Power
253af8b854 python: Add new compat PYARG_STR_UNI format
In python2 PYARG_STR_UNI evaluates to et which allows str type
(e.g bytes) pass through unencoded and accepts unicode objects
encoded as utf8
In python3 PYARG_STR_UNI evaluates to es which allows str type
encoded as named/specified encoding

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2019-01-13 00:40:26 +01:00
Noel Power
aea433ee0c python: Add compatability helpers to determine if type is really bytes
py3compat has PyBytes_Check macro which evalates to PyString_Check in
python2. To help switch behaviour based on whether you are dealing
with the bytes type the following macros have been added.

IsPy3Bytes
IsPy3BytesOrString

IsPy3Bytes will evaluate to false in python2 and will return the
expected result in python3. IsPy3BytesOrString will test for string
type alone in python2 or bytes and string in python3.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-03-23 07:28:25 +01:00
Douglas Bagnall
c21d4bc0a1 py3compat: add strings describing bytes/unicode in both versions
What Python 3 calls "bytes", Python 2 calls "string";
What Python 3 calls "string", Python 2 calls "unicode".

This can cause confusion in e.g. help strings where the precise type
matters. These macros can be used to construct accurate messages for
both versions.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Thu Mar  1 04:36:15 CET 2018 on sn-devel-144
2018-03-01 04:36:15 +01:00
Petr Viktorin
40e409bf9e python3: Use "y#" instead of "s#" for binary data in PyArg_ParseTuple
The "s#" format code for PyArg_ParseTupleAndKeywords and Py_BuildValue
converts a char* and size to/from Python str (with utf-8 encoding under
Python 3).
In some cases, we want bytes (str on Python 2, bytes on 3) instead. The
code for this is "y#" in Python 3, but that is not available in 2.

Introduce a PYARG_BYTES_LEN macro that expands to "s#" or "y#", and use
that in:
- credentials.get_ntlm_response (for input and output)
- ndr_unpack argument in PIDL generated code

Signed-off-by: Petr Viktorin <pviktori@redhat.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2017-05-19 22:20:15 +02:00
Petr Viktorin
a39c4948a6 python: Add py3compat.h
This adds a shared header file with macros that enable compatibility
between Python 2 and 3.
The macros are the ones used in ldb/tdb, with some additions
that make sense when the header is shared among several modules.
See the module for a summary of contents.

Signed-off-by: Petr Viktorin <pviktori@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2016-12-01 05:54:21 +01:00