URL: https://github.com/freeipa/freeipa/pull/265 Author: tiran Title: #265: Add main guards to a couple of Python scripts Action: opened
PR body: """ Signed-off-by: Christian Heimes <chei...@redhat.com> """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/265/head:pr265 git checkout pr265
From fd538aa9fc3a8e5da59231f8e1b46c4e5b9bf82f Mon Sep 17 00:00:00 2001 From: Christian Heimes <chei...@redhat.com> Date: Thu, 17 Nov 2016 17:48:06 +0100 Subject: [PATCH] Add main guards to a couple of Python scripts Signed-off-by: Christian Heimes <chei...@redhat.com> --- daemons/ipa-otpd/test.py | 36 ++++++++++++++++++------------- doc/examples/python-api.py | 43 +++++++++++++++++++++----------------- install/share/copy-schema-to-ca.py | 3 ++- ipatests/pytest.ini | 12 ----------- 4 files changed, 47 insertions(+), 47 deletions(-) diff --git a/daemons/ipa-otpd/test.py b/daemons/ipa-otpd/test.py index 0ccd8b0..ea55f9b 100644 --- a/daemons/ipa-otpd/test.py +++ b/daemons/ipa-otpd/test.py @@ -41,22 +41,28 @@ ATTRIBUTE NAS-Identifier 32 string """ -dct = Dictionary(StringIO(DICTIONARY)) -proc = subprocess.Popen(["./ipa-otpd", sys.argv[1]], - stdin=subprocess.PIPE, stdout=subprocess.PIPE) +def main(): + dct = Dictionary(StringIO(DICTIONARY)) -pkt = packet.AuthPacket(secret="", dict=dct) -pkt["User-Name"] = sys.argv[2] -pkt["User-Password"] = pkt.PwCrypt(sys.argv[3]) -pkt["NAS-Identifier"] = "localhost" -proc.stdin.write(pkt.RequestPacket()) + proc = subprocess.Popen(["./ipa-otpd", sys.argv[1]], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE) -rsp = packet.Packet(secret="", dict=dict) -buf = proc.stdout.read(4) -buf += proc.stdout.read(struct.unpack("!BBH", buf)[2] - 4) -rsp.DecodePacket(buf) -pkt.VerifyReply(rsp) + pkt = packet.AuthPacket(secret="", dict=dct) + pkt["User-Name"] = sys.argv[2] + pkt["User-Password"] = pkt.PwCrypt(sys.argv[3]) + pkt["NAS-Identifier"] = "localhost" + proc.stdin.write(pkt.RequestPacket()) -proc.terminate() #pylint: disable=E1101 -proc.wait() + rsp = packet.Packet(secret="", dict=dict) + buf = proc.stdout.read(4) + buf += proc.stdout.read(struct.unpack("!BBH", buf)[2] - 4) + rsp.DecodePacket(buf) + pkt.VerifyReply(rsp) + + proc.terminate() # pylint: disable=E1101 + proc.wait() + +if __name__ == '__main__': + main() diff --git a/doc/examples/python-api.py b/doc/examples/python-api.py index 0a6eb60..b7fca79 100755 --- a/doc/examples/python-api.py +++ b/doc/examples/python-api.py @@ -22,27 +22,32 @@ from __future__ import print_function from ipalib import api -# 1. Initialize ipalib -# -# Run ./python-api.py --help to see the global options. Some useful options: -# -# -v Produce more verbose output -# -d Produce full debugging output -# -e in_server=True Force running in server mode -# -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server -api.bootstrap_with_global_options(context='example') -api.finalize() +def example(): + # 1. Initialize ipalib + # + # Run ./python-api.py --help to see the global options. Some useful options: + # + # -v Produce more verbose output + # -d Produce full debugging output + # -e in_server=True Force running in server mode + # -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server + + api.bootstrap_with_global_options(context='example') + api.finalize() + + # You will need to create a connection. If you're in_server, call + # Backend.ldap.connect(), otherwise Backend.rpcclient.connect(). -# You will need to create a connection. If you're in_server, call -# Backend.ldap.connect(), otherwise Backend.rpcclient.connect(). + if api.env.in_server: + api.Backend.ldap2.connect() + else: + api.Backend.rpcclient.connect() -if api.env.in_server: - api.Backend.ldap2.connect() -else: - api.Backend.rpcclient.connect() + # Now that you're connected, you can make calls to api.Command.whatever(): + print('The admin user:') + print(api.Command.user_show(u'admin')) -# Now that you're connected, you can make calls to api.Command.whatever(): -print('The admin user:') -print(api.Command.user_show(u'admin')) +if __name__ == '__main__': + example() diff --git a/install/share/copy-schema-to-ca.py b/install/share/copy-schema-to-ca.py index a6d09ec..9edc0cd 100755 --- a/install/share/copy-schema-to-ca.py +++ b/install/share/copy-schema-to-ca.py @@ -121,4 +121,5 @@ def main(): root_logger.info('Schema updated successfully') -main() +if __name__ == '__main__': + main() diff --git a/ipatests/pytest.ini b/ipatests/pytest.ini index 326a8d6..c14eb5d 100644 --- a/ipatests/pytest.ini +++ b/ipatests/pytest.ini @@ -15,18 +15,6 @@ addopts = --doctest-modules -p ipatests.pytest_plugins.additional_config # Ignore files for doc tests. # TODO: ideally, these should all use __name__=='__main__' guards - --ignore=ipasetup.py - --ignore=setup.py - --ignore=ipaclient/setup.py - --ignore=ipalib/setup.py - --ignore=ipaplatform/setup.py - --ignore=ipapython/setup.py - --ignore=ipaserver/setup.py - --ignore=ipatests/setup.py - --ignore=checks/check-ra.py - --ignore=daemons/ipa-otpd/test.py - --ignore=doc/examples/python-api.py - --ignore=install/share/copy-schema-to-ca.py --ignore=install/share/wsgi.py markers = tier0: basic unit tests and critical functionality
-- Manage your subscription for the Freeipa-devel mailing list: https://www.redhat.com/mailman/listinfo/freeipa-devel Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code