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

Reply via email to