diff --git a/bin/print_ffdc_functions b/bin/print_ffdc_functions
index 7d56584..dd46bc6 100755
--- a/bin/print_ffdc_functions
+++ b/bin/print_ffdc_functions
@@ -21,19 +21,19 @@
 set_exit_on_error(True)
 
 parser = argparse.ArgumentParser(
-    usage='%(prog)s [OPTIONS]',
-    description="%(prog)s will print a colon-delimited list of all valid OBMC FFDC functions.\n\nExample:" +
-    "\n\n\nDump Log:FFDC Generic Report:Get Request FFDC:SEL Log:BMC Specific Files:Sys Inventory Files" +
-    ":Core Files:OS FFDC:Dump Files",
+    usage="%(prog)s [OPTIONS]",
+    description="%(prog)s will print a colon-delimited list of all valid OBMC FFDC functions.\n\nExample:"
+    + "\n\n\nDump Log:FFDC Generic Report:Get Request FFDC:SEL Log:BMC Specific Files:Sys Inventory Files"
+    + ":Core Files:OS FFDC:Dump Files",
     formatter_class=argparse.RawDescriptionHelpFormatter,
-    prefix_chars='-+')
+    prefix_chars="-+",
+)
 
 # Populate stock_list with options we want.
 stock_list = [("test_mode", 0), ("quiet", 1), ("debug", 0)]
 
 
-def exit_function(signal_number=0,
-                  frame=None):
+def exit_function(signal_number=0, frame=None):
     r"""
     Execute whenever the program ends normally or with the signals that we catch (i.e. TERM, INT).
     """
@@ -44,8 +44,7 @@
     qprint_pgm_footer()
 
 
-def signal_handler(signal_number,
-                   frame):
+def signal_handler(signal_number, frame):
     r"""
     Handle signals.  Without a function to catch a SIGTERM or SIGINT, our program would terminate immediately
     with return code 143 and without calling our exit_function.
@@ -77,9 +76,9 @@
     qprint_pgm_header()
 
     my_openbmc_ffdc_list = openbmc_ffdc_list()
-    ffdc_function_list = my_openbmc_ffdc_list.get_ffdc_method_desc('BMC LOGS')
+    ffdc_function_list = my_openbmc_ffdc_list.get_ffdc_method_desc("BMC LOGS")
     # Convert from list to colon-delimited string.
-    ffdc_function_list = ':'.join(ffdc_function_list)
+    ffdc_function_list = ":".join(ffdc_function_list)
     print(ffdc_function_list)
 
 
