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