From 62747db68acc61476aedcc33cf1ee669a80fe829 Mon Sep 17 00:00:00 2001 From: carlosp420 Date: Tue, 5 May 2015 15:40:56 +0300 Subject: [PATCH] passing field name to parse_timestamp function --- .../management/commands/_migrate_db.py | 16 ++++++++-------- voseq/public_interface/tests/test_parse_xml.py | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/voseq/public_interface/management/commands/_migrate_db.py b/voseq/public_interface/management/commands/_migrate_db.py index 28078216..1960cb9d 100644 --- a/voseq/public_interface/management/commands/_migrate_db.py +++ b/voseq/public_interface/management/commands/_migrate_db.py @@ -85,7 +85,7 @@ def import_table_genes(self): self.parse_table_genes(self.dump_string) for item in self.table_genes_items: - date_obj = self.parse_timestamp(item['timestamp']) + date_obj = self.parse_timestamp(item['timestamp'], 'timestamp') item['time_created'] = date_obj del item['timestamp'] @@ -293,8 +293,8 @@ def import_table_sequences(self): item['gene_code'] = item['geneCode'] del item['geneCode'] - item['time_created'] = self.parse_timestamp(item['time_created']) - item['time_edited'] = self.parse_timestamp(item['time_edited']) + item['time_created'] = self.parse_timestamp(item['time_created'], 'time_created') + item['time_edited'] = self.parse_timestamp(item['time_edited'], 'time_edited') if item['sequences'] is not None: ambiguous_chars = item['sequences'].count('?') + item['sequences'].count('-') @@ -480,9 +480,9 @@ def import_table_vouchers(self): if item['longitude'] is not None: item['longitude'] = float(item['longitude']) - item['dateCollection'] = self.parse_timestamp(item['dateCollection']) - item['dateExtraction'] = self.parse_timestamp(item['dateExtraction']) - item['timestamp'] = self.parse_timestamp(item['timestamp']) + item['dateCollection'] = self.parse_timestamp(item['dateCollection'], 'dateCollection') + item['dateExtraction'] = self.parse_timestamp(item['dateExtraction'], 'dateExtraction') + item['timestamp'] = self.parse_timestamp(item['timestamp'], 'timestamp') # Deal with flickr images if item['voucherImage'] == '': @@ -652,7 +652,7 @@ def convert_to_int(self, string): string = None return string - def parse_timestamp(self, timestamp): + def parse_timestamp(self, timestamp, field): try: date_obj = datetime.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S').replace(tzinfo=TZINFO) @@ -662,5 +662,5 @@ def parse_timestamp(self, timestamp): date_obj = None if self.verbosity != 0: - print("WARNING:: Could not parse dateCreation properly.") + print("WARNING:: Could not parse %s properly." % field) return date_obj diff --git a/voseq/public_interface/tests/test_parse_xml.py b/voseq/public_interface/tests/test_parse_xml.py index a0da7a14..a5a96ed4 100644 --- a/voseq/public_interface/tests/test_parse_xml.py +++ b/voseq/public_interface/tests/test_parse_xml.py @@ -29,24 +29,24 @@ def test_parse_timestamp_good(self): timestamp = '2014-10-01 10:20:45' expected = datetime.datetime(2014, 10, 1, 10, 20, 45, tzinfo=TZINFO) - result = self.parse_xml.parse_timestamp(timestamp) + result = self.parse_xml.parse_timestamp(timestamp, 'good') self.assertEqual(expected, result) def test_parse_timestamp_bad(self): timestamp = '0000-00-00 00:00:00' expected = None - result = self.parse_xml.parse_timestamp(timestamp) + result = self.parse_xml.parse_timestamp(timestamp, 'bad') self.assertEqual(expected, result) def test_parse_timestamp_null(self): timestamp = None expected = None - result = self.parse_xml.parse_timestamp(timestamp) + result = self.parse_xml.parse_timestamp(timestamp, 'null') self.assertEqual(expected, result) def test_parse_timestamp_null_verbose(self): timestamp = None expected = None self.parse_xml.verbosity = 1 - result = self.parse_xml.parse_timestamp(timestamp) + result = self.parse_xml.parse_timestamp(timestamp, 'null_verbose') self.assertEqual(expected, result)