From c7c77445215f8f02a2157be09352fed6db05f5d1 Mon Sep 17 00:00:00 2001
From: jacques Grelet <jacques.grelet@gmail.com>
Date: Wed, 13 Mar 2019 23:25:34 +0000
Subject: [PATCH] remove key from dict

---
 physicalParameter.py | 15 +++++++++------
 tests/test_roscop.py |  9 +++++----
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/physicalParameter.py b/physicalParameter.py
index 5e9dc37..c3902a9 100644
--- a/physicalParameter.py
+++ b/physicalParameter.py
@@ -50,11 +50,11 @@ class Roscop:
                 theKey = row[reader.fieldnames[0]]
                 for k in reader.fieldnames:
                     # if the value of key is empty
-                    if row[k] == '':
+                    if row[k] == '' or k == 'key':
                         # remove the key
                         row.pop(k)
                     else:
-                        #logging.debug(" %s -> %s: %s" % (theKey, k, row[k]))
+                        # logging.debug(" %s -> %s: %s" % (theKey, k, row[k]))
                         logging.debug(
                             " {} -> {}: {}".format(theKey, k, row[k]))
                 self.__hash[theKey] = row
@@ -66,9 +66,8 @@ class Roscop:
 # ---------------------------------
 if __name__ == "__main__":
 
-    # display extra logging info
-    # see: https://stackoverflow.com/questions/14097061/easier-way-to-enable-verbose-logging
-    # https://docs.python.org/2/howto/argparse.html
+    # usage:
+    # > python physicalParameter.py code_roscop.csv -k TEMP
     parser = argparse.ArgumentParser(
         description='This class Roscop parse a csv file describing physical parameter codification')
     parser.add_argument("-d", "--debug", help="display debug informations",
@@ -76,6 +75,10 @@ if __name__ == "__main__":
     parser.add_argument("-k", "--key", nargs='+',
                         help="display dictionary for key(s), example -k TEMP [PSAL ...]")
     parser.add_argument("file", type=str, help="the csv file to parse")
+
+    # display extra logging info
+    # see: https://stackoverflow.com/questions/14097061/easier-way-to-enable-verbose-logging
+    # https://docs.python.org/2/howto/argparse.html
     args = parser.parse_args()
     if args.debug:
         logging.basicConfig(
@@ -95,5 +98,5 @@ if __name__ == "__main__":
         for k in key:
             r.displayCode(k)
 
-    print(r.returnCode(key[0])['key'])
+    print("{}: {}".format(key[0], r.returnCode(key[0])['long_name']))
     # print(r[key])
diff --git a/tests/test_roscop.py b/tests/test_roscop.py
index 881d299..9326dfc 100644
--- a/tests/test_roscop.py
+++ b/tests/test_roscop.py
@@ -16,17 +16,18 @@ class RoscopTest(unittest.TestCase):
         self.r = Roscop(self.file)
 
     def test_file(self):
-        """
-        Test if filename is correct
-        """
+        """ Test if filename is correct """
 
         self.assertEqual(self.r.file, self.file)
 
     def test_entries(self):
+        ''' test the number of entries in csv file '''
         self.assertEqual(len(self.r), 68)
 
     def test_key(self):
-        self.assertEqual(self.r.returnCode('TEMP')['key'], 'TEMP')
+        ''' test the standard_name for physical parameter TEMP '''
+        self.assertEqual(self.r.returnCode('TEMP')[
+                         'standard_name'], 'sea_water_temperature')
 
 
 if __name__ == '__main__':
-- 
GitLab