diff --git a/tools/github_issues_to_csv b/tools/github_issues_to_csv
index 224bad2..c432772 100644
--- a/tools/github_issues_to_csv
+++ b/tools/github_issues_to_csv
@@ -66,11 +66,11 @@
 
     # Multiple requests are required if response is paged
     if 'link' in response.headers:
-        pages = {rel[6:-1]: url[url.index('<')+1:-1] for url, rel in
+        pages = {rel[6:-1]: url[url.index('<') + 1:-1] for url, rel in
                  (link.split(';') for link in
                   response.headers['link'].split(','))}
         while 'last' in pages and 'next' in pages:
-            pages = {rel[6:-1]: url[url.index('<')+1:-1] for url, rel in
+            pages = {rel[6:-1]: url[url.index('<') + 1:-1] for url, rel in
                      (link.split(';') for link in
                       response.headers['link'].split(','))}
             response = requests.get(pages['next'], auth=auth)
@@ -106,8 +106,8 @@
 csvfilename = ""
 for repository in args.repositories:
     csvfilename_temp = '{}'.format(repository.replace('/', '-'))
-    csvfilename = csvfilename+csvfilename_temp
-csvfilename = csvfilename+'-issues.csv'
+    csvfilename = csvfilename + csvfilename_temp
+csvfilename = csvfilename + '-issues.csv'
 with open(csvfilename, 'wb') as csvfileout:
     csv_out = csv.writer(csvfileout)
     csv_out.writerow(['Labels', 'Title', 'State', 'Open Date',
diff --git a/tools/oem/ibm/gen_csv_results.py b/tools/oem/ibm/gen_csv_results.py
index ae9aab8..a2a6735 100755
--- a/tools/oem/ibm/gen_csv_results.py
+++ b/tools/oem/ibm/gen_csv_results.py
@@ -123,13 +123,16 @@
     folder.
 
     Description of argument(s):
-    xml_file_path   The path to a Robot-generated output.xml file.
-    csv_dir_path    The path to the directory that is to contain the .csv files
-                    generated by this function.
-    version_id      Version of the openbmc firmware
-                    (e.g. "v2.1-215-g6e7eacb").
-    platform        Platform of the openbmc system.
-    level           Release level of the OpenBMC system (e.g. "OBMC920").
+    xml_file_path                   The path to a Robot-generated output.xml
+                                    file.
+    csv_dir_path                    The path to the directory that is to
+                                    contain the .csv files generated by
+                                    this function.
+    version_id                      Version of the openbmc firmware
+                                    (e.g. "v2.1-215-g6e7eacb").
+    platform                        Platform of the openbmc system.
+    level                           Release level of the OpenBMC system
+                                    (e.g. "OBMC920").
     """
 
     result = ExecutionResult(xml_file_path)
@@ -174,7 +177,7 @@
     l_func_area = ""
 
     # System data from XML meta data
-    #l_system_info = get_system_details(xml_file_path)
+    # l_system_info = get_system_details(xml_file_path)
 
     # First let us try to collect information from keyboard input
     # If keyboard input cannot give both information, then find from xml file.
@@ -190,7 +193,8 @@
         l_platform_type = l_system_info[1]
 
     # Driver version id and platform are mandatorily required for CSV file
-    # generation. If any one is not avaulable, exit CSV file generation process.
+    # generation. If any one is not avaulable, exit CSV file generation
+    # process.
     if l_driver and l_platform_type:
         print "Driver and system info set."
     else:
@@ -249,8 +253,9 @@
     and return it.
 
     Description of argument(s):
-    datetime  The date in the following format: %Y%m%d %H:%M:%S.%f
-              (This is the format typically found in an XML file.)
+    datetime                        The date in the following format: %Y%m%d
+                                    %H:%M:%S.%f (This is the format
+                                    typically found in an XML file.)
 
     The date returned will be in the following format: %Y-%m-%d-%H-%M-%S
     """
@@ -268,7 +273,8 @@
     The list returned will be in the following order: [driver,platform]
 
     Description of argument(s):
-    xml_file_path  The relative or absolute path to the output.xml file.
+    xml_file_path                   The relative or absolute path to the
+                                    output.xml file.
     """
 
     bmc_version_id = ""
