pycodestyle: Module level import not at top of file

Changes:
     - Added NOQA on python files import to skip CI
     - Fix import order reported by CI.

Tested:
     - CI will catch this if there is error

Change-Id: I39a11d3e815a08488671ed948f073828e19aee37
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/bin/generate_inventory b/bin/generate_inventory
index 3654682..0d90343 100755
--- a/bin/generate_inventory
+++ b/bin/generate_inventory
@@ -10,7 +10,7 @@
 
 lib_path = sys.path[0] + "/../lib"
 sys.path.insert(0, lib_path)
-from gen_print import *
+from gen_print import *    # NOQA
 
 # This list will be longer when more development codes are available.
 inventory_items = ['fru', 'core', 'fan', 'fan_wc', 'gpu']
diff --git a/bin/generate_testsuite_info.py b/bin/generate_testsuite_info.py
index 7cafd1e..4a2f115 100755
--- a/bin/generate_testsuite_info.py
+++ b/bin/generate_testsuite_info.py
@@ -10,9 +10,9 @@
 from robot.parsing.model import TestData
 sys.path.append(os.path.join(os.path.dirname(__file__), "../lib"))
 
-from gen_arg import *
-from gen_print import *
-from gen_valid import *
+from gen_arg import *     # NOQA
+from gen_print import *   # NOQA
+from gen_valid import *   # NOQA
 
 # Set exit_on_error for gen_valid functions.
 set_exit_on_error(True)
diff --git a/bin/obmc_ser_num b/bin/obmc_ser_num
index ba620c8..4057316 100755
--- a/bin/obmc_ser_num
+++ b/bin/obmc_ser_num
@@ -11,9 +11,9 @@
 save_path_0 = sys.path[0]
 del sys.path[0]
 
-from gen_arg import *
-from gen_print import *
-from gen_valid import *
+from gen_arg import *     # NOQA
+from gen_print import *   # NOQA
+from gen_valid import *   # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)
diff --git a/bin/print_ffdc_functions b/bin/print_ffdc_functions
index dd46bc6..7988195 100755
--- a/bin/print_ffdc_functions
+++ b/bin/print_ffdc_functions
@@ -9,10 +9,10 @@
 save_path_0 = sys.path[0]
 del sys.path[0]
 
-from gen_arg import *
-from gen_print import *
-from gen_valid import *
-from openbmc_ffdc_list import *
+from gen_arg import *               # NOQA
+from gen_print import *             # NOQA
+from gen_valid import *             # NOQA
+from openbmc_ffdc_list import *     # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)
diff --git a/bin/prop_call.py b/bin/prop_call.py
index 15cff57..e352d55 100755
--- a/bin/prop_call.py
+++ b/bin/prop_call.py
@@ -22,11 +22,11 @@
 save_path_0 = sys.path[0]
 del sys.path[0]
 
-from gen_arg import *
-from gen_print import *
-from gen_valid import *
-from gen_misc import *
-from gen_cmd import *
+from gen_arg import *      # NOQA
+from gen_print import *    # NOQA
+from gen_valid import *    # NOQA
+from gen_misc import *     # NOQA
+from gen_cmd import *      # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)
diff --git a/bin/validate_plug_ins.py b/bin/validate_plug_ins.py
index a202d2e..8e3ed1d 100755
--- a/bin/validate_plug_ins.py
+++ b/bin/validate_plug_ins.py
@@ -1,12 +1,12 @@
 #!/usr/bin/env python3
 
+import os
 import sys
 try:
     import __builtin__
 except ImportError:
     import builtins as __builtin__
 
-import os
 
 # python puts the program's directory path in sys.path[0].  In other words, the user ordinarily has no way
 # to override python's choice of a module from its own dir.  We want to have that ability in our environment.
@@ -17,9 +17,9 @@
 save_path_0 = sys.path[0]
 del sys.path[0]
 
-from gen_print import *
-from gen_arg import *
-from gen_plug_in import *
+from gen_print import *     # NOQA
+from gen_arg import *       # NOQA
+from gen_plug_in import *   # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)
diff --git a/bin/websocket_monitor.py b/bin/websocket_monitor.py
index 846ccd5..3425057 100755
--- a/bin/websocket_monitor.py
+++ b/bin/websocket_monitor.py
@@ -14,9 +14,9 @@
 save_path_0 = sys.path[0]
 del sys.path[0]
 
-from gen_print import *
-from gen_arg import *
-from gen_valid import *
+from gen_print import *   # NOQA
+from gen_arg import *     # NOQA
+from gen_valid import *   # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)
diff --git a/ffdc/collect_ffdc.py b/ffdc/collect_ffdc.py
index c1c9495..d709a96 100644
--- a/ffdc/collect_ffdc.py
+++ b/ffdc/collect_ffdc.py
@@ -18,7 +18,7 @@
     for found_dir in dirs:
         sys.path.append(os.path.join(root, found_dir))
 
-from ffdc_collector import ffdc_collector
+from ffdc_collector import ffdc_collector  # NOQA
 
 
 @click.command(context_settings=dict(help_option_names=['-h', '--help']))
diff --git a/ffdc/ffdc_collector.py b/ffdc/ffdc_collector.py
index 27b088c..91fe261 100644
--- a/ffdc/ffdc_collector.py
+++ b/ffdc/ffdc_collector.py
@@ -4,6 +4,8 @@
 See class prolog below for details.
 """
 
+from errno import EACCES, EPERM
+
 import os
 import re
 import sys
@@ -22,8 +24,8 @@
     for dir in dirs:
         sys.path.append(os.path.join(root, dir))
 
-from ssh_utility import SSHRemoteclient
-from telnet_utility import TelnetRemoteclient
+from ssh_utility import SSHRemoteclient         # NOQA
+from telnet_utility import TelnetRemoteclient   # NOQA
 
 r"""
 User define plugins python functions.
diff --git a/ffdc/plugins/scp_execution.py b/ffdc/plugins/scp_execution.py
index 0aca54c..3b4767a 100644
--- a/ffdc/plugins/scp_execution.py
+++ b/ffdc/plugins/scp_execution.py
@@ -16,7 +16,7 @@
         sys.path.append(os.path.join(root, found_dir))
 
 # ssh_utility is in ../lib
-from ssh_utility import SSHRemoteclient
+from ssh_utility import SSHRemoteclient  # NOQA
 
 
 def scp_remote_file(hostname,
diff --git a/ffdc/plugins/ssh_execution.py b/ffdc/plugins/ssh_execution.py
index 087d887..8623918 100644
--- a/ffdc/plugins/ssh_execution.py
+++ b/ffdc/plugins/ssh_execution.py
@@ -16,7 +16,7 @@
         sys.path.append(os.path.join(root, found_dir))
 
 # ssh_utility is in ../lib
-from ssh_utility import SSHRemoteclient
+from ssh_utility import SSHRemoteclient  # NOQA
 
 
 def ssh_execute_cmd(hostname,
diff --git a/ffdc/plugins/telnet_execution.py b/ffdc/plugins/telnet_execution.py
index 7cfd78b..d55d18a 100644
--- a/ffdc/plugins/telnet_execution.py
+++ b/ffdc/plugins/telnet_execution.py
@@ -15,7 +15,7 @@
     for found_dir in dirs:
         sys.path.append(os.path.join(root, found_dir))
 
-from telnet_utility import TelnetRemoteclient
+from telnet_utility import TelnetRemoteclient  # NOQA
 
 
 def telnet_execute_cmd(hostname,
diff --git a/lib/code_update_utils.py b/lib/code_update_utils.py
index e8ee562..212dc3d 100644
--- a/lib/code_update_utils.py
+++ b/lib/code_update_utils.py
@@ -4,6 +4,8 @@
 This module provides utilities for code updates.
 """
 
+from robot.libraries.BuiltIn import BuiltIn
+
 import os
 import re
 import sys
@@ -16,11 +18,10 @@
 repo_data_path = re.sub('/lib', '/data', robot_pgm_dir_path)
 sys.path.append(repo_data_path)
 
-import bmc_ssh_utils as bsu
-import gen_robot_keyword as keyword
-import gen_print as gp
-import variables as var
-from robot.libraries.BuiltIn import BuiltIn
+import bmc_ssh_utils as bsu             # NOQA
+import gen_robot_keyword as keyword     # NOQA
+import gen_print as gp                  # NOQA
+import variables as var                 # NOQA
 
 
 def get_bmc_firmware(image_type, sw_dict):
diff --git a/lib/dump_utils.py b/lib/dump_utils.py
index d0b0108..f3691ed 100755
--- a/lib/dump_utils.py
+++ b/lib/dump_utils.py
@@ -4,20 +4,20 @@
 This file contains functions which are useful for processing BMC dumps.
 """
 
+from robot.libraries.BuiltIn import BuiltIn
 import gen_print as gp
 import gen_misc as gm
 import gen_robot_keyword as grk
 import bmc_ssh_utils as bsu
 import var_funcs as vf
 import os
-from robot.libraries.BuiltIn import BuiltIn
 import sys
 import os
 import imp
 base_path = os.path.dirname(os.path.dirname(
                             imp.find_module("gen_robot_print")[1])) + os.sep
 sys.path.append(base_path + "data/")
-import variables as var
+import variables as var     # NOQA
 
 
 def get_dump_dict(quiet=None):
diff --git a/lib/ffdc_cli_robot_script.py b/lib/ffdc_cli_robot_script.py
index 013e4ab..30fe428 100644
--- a/lib/ffdc_cli_robot_script.py
+++ b/lib/ffdc_cli_robot_script.py
@@ -4,12 +4,12 @@
 import sys
 
 
-sys.path.append(__file__.split(__file__.split("/")[-1])[0] + "../ffdc")
-from ffdc_collector import ffdc_collector
-from ssh_utility import SSHRemoteclient
-
 from robot.libraries.BuiltIn import BuiltIn as robotBuildIn
 
+sys.path.append(__file__.split(__file__.split("/")[-1])[0] + "../ffdc")
+from ffdc_collector import ffdc_collector  # NOQA
+from ssh_utility import SSHRemoteclient    # NOQA
+
 # (Sub) String constants used for input dictionary key search
 HOST = "HOST"
 USER = "USERNAME"
diff --git a/lib/gen_robot_ssh.py b/lib/gen_robot_ssh.py
index ab68415..b08d470 100755
--- a/lib/gen_robot_ssh.py
+++ b/lib/gen_robot_ssh.py
@@ -4,6 +4,9 @@
 This module provides many valuable ssh functions such as sprint_connection, execute_ssh_command, etc.
 """
 
+from robot.libraries.BuiltIn import BuiltIn
+from SSHLibrary import SSHLibrary
+
 import sys
 import traceback
 import re
@@ -18,8 +21,6 @@
 import func_timer as ft
 func_timer = ft.func_timer_class()
 
-from robot.libraries.BuiltIn import BuiltIn
-from SSHLibrary import SSHLibrary
 sshlib = SSHLibrary()
 
 
diff --git a/lib/ipmi_utils.py b/lib/ipmi_utils.py
index f8cc9be..38045f5 100644
--- a/lib/ipmi_utils.py
+++ b/lib/ipmi_utils.py
@@ -4,6 +4,7 @@
 Provide useful ipmi functions.
 """
 
+from robot.libraries.BuiltIn import BuiltIn
 import re
 import gen_print as gp
 import gen_misc as gm
@@ -14,9 +15,8 @@
 import var_funcs as vf
 import ipmi_client as ic
 import tempfile
-gru.my_import_resource("ipmi_client.robot")
-from robot.libraries.BuiltIn import BuiltIn
 import json
+gru.my_import_resource("ipmi_client.robot")
 
 
 def get_sol_info():
diff --git a/lib/logging_utils.py b/lib/logging_utils.py
index e621d5e..3e0d079 100644
--- a/lib/logging_utils.py
+++ b/lib/logging_utils.py
@@ -4,6 +4,8 @@
 Provide useful error log utility keywords.
 """
 
+from robot.libraries.BuiltIn import BuiltIn
+
 import gen_print as gp
 import sys
 import os
@@ -11,9 +13,8 @@
 base_path = os.path.dirname(os.path.dirname(
                             imp.find_module("gen_robot_print")[1])) + os.sep
 sys.path.append(base_path + "data/")
-import variables as var
-from robot.libraries.BuiltIn import BuiltIn
-import gen_robot_utils as gru
+import variables as var          # NOQA
+import gen_robot_utils as gru    # NOQA
 gru.my_import_resource("logging_utils.robot")
 
 
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 0dc245d..452d607 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -38,7 +38,7 @@
                             imp.find_module("gen_robot_print")[1])) +\
     os.sep
 sys.path.append(base_path + "extended/")
-import run_keyword as rk
+import run_keyword as rk  # NOQA
 
 # Setting master_pid correctly influences the behavior of plug-ins like
 # DB_Logging
diff --git a/lib/pel_utils.py b/lib/pel_utils.py
index d361a4e..334f26d 100644
--- a/lib/pel_utils.py
+++ b/lib/pel_utils.py
@@ -14,7 +14,7 @@
 base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 sys.path.append(base_path + "/data/")
 
-import pel_variables
+import pel_variables  # NOQA
 
 
 class peltool_exception(Exception):
diff --git a/lib/state_map.py b/lib/state_map.py
index 5d72b5a..abff002 100644
--- a/lib/state_map.py
+++ b/lib/state_map.py
@@ -16,8 +16,8 @@
 repo_data_dir_path = re.sub('/lib', '/data', robot_pgm_dir_path)
 sys.path.append(repo_data_dir_path)
 
-import gen_robot_keyword as keyword
-import variables as var
+import gen_robot_keyword as keyword  # NOQA
+import variables as var              # NOQA
 
 BuiltIn().import_resource("state_manager.robot")
 BuiltIn().import_resource("rest_client.robot")
diff --git a/syslib/utils_os.py b/syslib/utils_os.py
index 2026d95..0c6131a 100755
--- a/syslib/utils_os.py
+++ b/syslib/utils_os.py
@@ -9,8 +9,8 @@
 
 sys.path.append(os.path.join(os.path.dirname(__file__), "../lib"))
 
-import bmc_ssh_utils
-import var_funcs
+import bmc_ssh_utils  # NOQA
+import var_funcs      # NOQA
 
 
 def get_os_release_info(default_cmd="cat /etc/os-release"):
diff --git a/tools/ct_metrics/gen_csv_results.py b/tools/ct_metrics/gen_csv_results.py
index 342fe69..5f53e86 100755
--- a/tools/ct_metrics/gen_csv_results.py
+++ b/tools/ct_metrics/gen_csv_results.py
@@ -6,6 +6,10 @@
 http://robot-framework.readthedocs.io/en/3.0/autodoc/robot.result.html
 """
 
+from robot.api import ExecutionResult
+from robot.result.visitor import ResultVisitor
+from xml.etree import ElementTree
+
 import sys
 import os
 import getopt
@@ -14,18 +18,15 @@
 import re
 import stat
 import datetime
-from robot.api import ExecutionResult
-from robot.result.visitor import ResultVisitor
-from xml.etree import ElementTree
 
 # Remove the python library path to restore with local project path later.
 save_path_0 = sys.path[0]
 del sys.path[0]
 sys.path.append(os.path.join(os.path.dirname(__file__), "../../lib"))
 
-from gen_arg import *
-from gen_print import *
-from gen_valid import *
+from gen_arg import *    # NOQA
+from gen_print import *  # NOQA
+from gen_valid import *  # NOQA
 
 # Restore sys.path[0].
 sys.path.insert(0, save_path_0)