From 00cc30bef10613784a7899bef407e80975fedfb1 Mon Sep 17 00:00:00 2001 From: Moore Date: Tue, 12 Jul 2016 16:39:09 -0400 Subject: [PATCH 1/8] Edited importdialog.py to display (time, altitude) coordinates in database. --- calipso/importdialog.py | 63 ++++++++++++++++++++++++++++++++++------- 1 file changed, 52 insertions(+), 11 deletions(-) diff --git a/calipso/importdialog.py b/calipso/importdialog.py index 177a781..27fcd75 100644 --- a/calipso/importdialog.py +++ b/calipso/importdialog.py @@ -9,6 +9,9 @@ import tkMessageBox from Tkinter import Toplevel, Entry, Button, BOTH, Frame, \ Label, BOTTOM, TOP, X, RIDGE, Checkbutton, IntVar, StringVar +import matplotlib as mpl #KDM +import numpy as np #KDM +import ast #KDM import constants from datetime import datetime, time @@ -60,14 +63,15 @@ def __init__(self, root, master): self.filter_file = IntVar() # int_var for filtering by file self.advance_dialog = False self.extract_dialog = False - self.column_titles = ['name', 'plot', 'time range', 'latitude range', + self.column_titles = ['name', 'plot', 'time range', 'time coords','latitude range', 'altitude range', 'attributes', 'notes', 'last edited', 'file'] self.plot_type = StringVar() self.beg_time = None self.end_time = None - self.beg_lat = None + self.coordinates = None + self.beg_lat = None self.end_lat = None self.beg_alt = None self.end_alt = None @@ -185,10 +189,14 @@ def get_current_file_shapes(self): hdf=fn ): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + #KDM added the following line: + coord_list = obj.coordinates + #coords = obj.coordinates + #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( - (obj.tag, obj.plot, time_range, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) if not lst: logger.warning('Query returned None, no shapes found') @@ -228,10 +236,14 @@ def refine_search(self, event): DatabasePolygon.attributes.contains(self.__search_string.strip()), DatabasePolygon.notes.contains(self.__search_string.strip()))): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + #KDM added the following line: + coord_list = obj.coordinates + #coords = obj.coordinates + #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( # append any objects that were returned by the query - (obj.tag, obj.plot, time_range, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) # push new query onto the stack and set display to list if self.filter_file.get(): @@ -320,10 +332,35 @@ def __display_all(self): self.__stack.append(self.tree.info) for obj in self.session.query(DatabasePolygon).all(): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + #KDM added the following lines: + coord_list = obj.coordinates + coords = obj.coordinates.strip("[") + coords = coords.strip("]") + coords = coords.split(",") + newlist = list() + for a in coords: + a = a.strip("(") + a = a.strip(")") + newlist.append(a) + newerlist = [b.replace("(",'') for b in newlist] + newestlist = list() + for c in newerlist: + c = np.float64(c) + newestlist.append(c) + tempIter = iter(newestlist) + tupCoords = zip(tempIter, tempIter) + + time_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in tupCoords] + for i, (a, b) in enumerate(tupCoords): + tupCoords[i] = (time_list[i], b) + + final_coord_list = ['(%s, %.3f)' % (a, b) for a, b in tupCoords] + final_coord_list = str(final_coord_list) + + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) - lst.append( # user see's this list - (obj.tag, obj.plot, time_range, lat_range, altitude_range, obj.attributes[1:-1], + lst.append( # user sees this list + (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lst @@ -402,7 +439,11 @@ def receive_advanced_search(self, observer): for obj in query_result: time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + #KDM added the following line: + coord_list = obj.coordinates + #coords = obj.coordinates + #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) # If we're parsing a date, we can't just filter as we must transform # coordinates into time_range first, so we need to manually check and @@ -417,7 +458,7 @@ def receive_advanced_search(self, observer): continue lazy_list.append( - (obj.tag, obj.plot, time_range, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lazy_list From d6e90be9f6f698d5de2e2f8d23f09f011a4d1e0c Mon Sep 17 00:00:00 2001 From: Moore Date: Tue, 12 Jul 2016 17:43:45 -0400 Subject: [PATCH 2/8] Moved coordinate string functionality to tools.py --- calipso/tools/tools.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/calipso/tools/tools.py b/calipso/tools/tools.py index b69aaae..f4ce0c2 100644 --- a/calipso/tools/tools.py +++ b/calipso/tools/tools.py @@ -9,6 +9,7 @@ from datetime import datetime import os import matplotlib as mpl +import numpy as np from log.log import logger def find_between( s, first, last ): @@ -55,6 +56,34 @@ def format_coord(axes, x, y, z): zs = z return 'x=%s y=%s lat=%s' % (xs, ys, zs) +def coord_tuple_list(uni_str): + """ + Takes as input Unicode string that ought to be list of tuples + and returns an actual list of tuples (used in coordinate formatting) + + :param str inp: Unicode string to be converted + """ + coords = uni_str.strip("[") + coords = coords.strip("]") + coords = coords.split(",") + temp_list = [b.replace("(",'') for b in coords] + temp_list2 = [b.replace(")",'') for b in temp_list] + + convert_list = list() + for c in temp_list2: + c = np.float64(c) + convert_list.append(c) + temp_iter = iter(convert_list) + tup_coords = zip(temp_iter, temp_iter) + + time_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in tup_coords] + for i, (a, b) in enumerate(tup_coords): + tup_coords[i] = (time_list[i], b) + final_coord_list = ['(%s, %.3f)' % (a, b) for a, b in tup_coords] + #final_coord_list = str(final_coord_list) + return final_coord_list + + def byteify(inp): """ From fc2cc08de7a77e21cbb720216419c6f279a75e79 Mon Sep 17 00:00:00 2001 From: Moore Date: Tue, 12 Jul 2016 17:44:03 -0400 Subject: [PATCH 3/8] Moved coordinate string functionality to tools.py --- calipso/importdialog.py | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/calipso/importdialog.py b/calipso/importdialog.py index 27fcd75..070c43d 100644 --- a/calipso/importdialog.py +++ b/calipso/importdialog.py @@ -18,7 +18,7 @@ from constants import CSV, TXT, DATEFORMAT, ICO from sqlalchemy import or_, Time, cast from db import db, DatabasePolygon -from tools.tools import center, get_shape_ranges, find_between, get_sec +from tools.tools import center, get_shape_ranges, find_between, get_sec, coord_tuple_list from tools.treelistbox import TreeListBox from tools.tooltip import create_tool_tip from log.log import logger @@ -332,35 +332,14 @@ def __display_all(self): self.__stack.append(self.tree.info) for obj in self.session.query(DatabasePolygon).all(): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - #KDM added the following lines: - coord_list = obj.coordinates - coords = obj.coordinates.strip("[") - coords = coords.strip("]") - coords = coords.split(",") - newlist = list() - for a in coords: - a = a.strip("(") - a = a.strip(")") - newlist.append(a) - newerlist = [b.replace("(",'') for b in newlist] - newestlist = list() - for c in newerlist: - c = np.float64(c) - newestlist.append(c) - tempIter = iter(newestlist) - tupCoords = zip(tempIter, tempIter) - time_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in tupCoords] - for i, (a, b) in enumerate(tupCoords): - tupCoords[i] = (time_list[i], b) - - final_coord_list = ['(%s, %.3f)' % (a, b) for a, b in tupCoords] - final_coord_list = str(final_coord_list) + coord_list = obj.coordinates + final_coord_list = coord_tuple_list(coord_list) altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) - lst.append( # user sees this list - (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], + lst.append(# user sees this list + (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lst From 0c3e0968e15ea4fbc47335b3a725ab3de4cefb25 Mon Sep 17 00:00:00 2001 From: Moore Date: Tue, 12 Jul 2016 17:50:42 -0400 Subject: [PATCH 4/8] Cleaned up importdialog.py and tools.py for pushing --- calipso/importdialog.py | 28 ++++++++++++---------------- calipso/tools/tools.py | 1 - 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/calipso/importdialog.py b/calipso/importdialog.py index 070c43d..b5c5499 100644 --- a/calipso/importdialog.py +++ b/calipso/importdialog.py @@ -9,9 +9,6 @@ import tkMessageBox from Tkinter import Toplevel, Entry, Button, BOTH, Frame, \ Label, BOTTOM, TOP, X, RIDGE, Checkbutton, IntVar, StringVar -import matplotlib as mpl #KDM -import numpy as np #KDM -import ast #KDM import constants from datetime import datetime, time @@ -189,14 +186,14 @@ def get_current_file_shapes(self): hdf=fn ): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - #KDM added the following line: + coord_list = obj.coordinates - #coords = obj.coordinates - #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] + final_coord_list = coord_tuple_list(coord_list) + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( - (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) if not lst: logger.warning('Query returned None, no shapes found') @@ -236,14 +233,13 @@ def refine_search(self, event): DatabasePolygon.attributes.contains(self.__search_string.strip()), DatabasePolygon.notes.contains(self.__search_string.strip()))): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - #KDM added the following line: coord_list = obj.coordinates - #coords = obj.coordinates - #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + final_coord_list = coord_tuple_list(coord_list) + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( # append any objects that were returned by the query - (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, str(final_coord_list), + lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) # push new query onto the stack and set display to list if self.filter_file.get(): @@ -418,10 +414,10 @@ def receive_advanced_search(self, observer): for obj in query_result: time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) - #KDM added the following line: + coord_list = obj.coordinates - #coords = obj.coordinates - #coord_list = [mpl.dates.num2date(x[0]).strftime('%H:%M:%S') for x in coords] + final_coord_list = coord_tuple_list(coord_list) + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) # If we're parsing a date, we can't just filter as we must transform @@ -437,7 +433,7 @@ def receive_advanced_search(self, observer): continue lazy_list.append( - (obj.tag, obj.plot, time_range, coord_list, lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lazy_list diff --git a/calipso/tools/tools.py b/calipso/tools/tools.py index f4ce0c2..2426cb8 100644 --- a/calipso/tools/tools.py +++ b/calipso/tools/tools.py @@ -80,7 +80,6 @@ def coord_tuple_list(uni_str): for i, (a, b) in enumerate(tup_coords): tup_coords[i] = (time_list[i], b) final_coord_list = ['(%s, %.3f)' % (a, b) for a, b in tup_coords] - #final_coord_list = str(final_coord_list) return final_coord_list From 4a18071d727d92ea0da718464e6aac11b613d4d0 Mon Sep 17 00:00:00 2001 From: Moore Date: Wed, 13 Jul 2016 10:54:23 -0400 Subject: [PATCH 5/8] Changed coord delimiter to ' ' because a CSV would split them. --- calipso/importdialog.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/calipso/importdialog.py b/calipso/importdialog.py index b5c5499..4dd206c 100644 --- a/calipso/importdialog.py +++ b/calipso/importdialog.py @@ -189,7 +189,9 @@ def get_current_file_shapes(self): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - + final_coord_list = [b.replace(",", ' ') for b in final_coord_list] + + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( @@ -235,7 +237,8 @@ def refine_search(self, event): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) + final_coord_list = [b.replace(",", ' ') for b in final_coord_list] + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( # append any objects that were returned by the query (obj.tag, obj.plot, time_range, str(final_coord_list), @@ -331,6 +334,7 @@ def __display_all(self): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) + final_coord_list = [b.replace(",", ' ') for b in final_coord_list] altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) @@ -417,7 +421,8 @@ def receive_advanced_search(self, observer): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - + final_coord_list = [b.replace(",", ' ') for b in final_coord_list] + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) # If we're parsing a date, we can't just filter as we must transform From 3afa9e8ab00ebb2604c53847e16f7b66622e6286 Mon Sep 17 00:00:00 2001 From: Moore Date: Wed, 13 Jul 2016 14:39:03 -0400 Subject: [PATCH 6/8] Further string manipulation to keep coordinates to same spreadsheet cell --- calipso/importdialog.py | 25 ++++++++++++------------- calipso/tools/tools.py | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/calipso/importdialog.py b/calipso/importdialog.py index 4dd206c..a8d29b9 100644 --- a/calipso/importdialog.py +++ b/calipso/importdialog.py @@ -15,7 +15,7 @@ from constants import CSV, TXT, DATEFORMAT, ICO from sqlalchemy import or_, Time, cast from db import db, DatabasePolygon -from tools.tools import center, get_shape_ranges, find_between, get_sec, coord_tuple_list +from tools.tools import center, get_shape_ranges, find_between, get_sec, coord_tuple_list, coord_string from tools.treelistbox import TreeListBox from tools.tooltip import create_tool_tip from log.log import logger @@ -60,7 +60,7 @@ def __init__(self, root, master): self.filter_file = IntVar() # int_var for filtering by file self.advance_dialog = False self.extract_dialog = False - self.column_titles = ['name', 'plot', 'time range', 'time coords','latitude range', + self.column_titles = ['name', 'plot', 'time range', 'coordinates (time and alt.)','latitude range', 'altitude range', 'attributes', 'notes', 'last edited', 'file'] @@ -189,13 +189,12 @@ def get_current_file_shapes(self): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - final_coord_list = [b.replace(",", ' ') for b in final_coord_list] - - + final_coord_list = coord_string(final_coord_list) + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( - (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) if not lst: logger.warning('Query returned None, no shapes found') @@ -237,11 +236,11 @@ def refine_search(self, event): time_range = '%s - %s' % (obj.begin_time.strftime(DATEFORMAT), obj.end_time.strftime('%H:%M:%S')) coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - final_coord_list = [b.replace(",", ' ') for b in final_coord_list] + final_coord_list = coord_string(final_coord_list) altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append( # append any objects that were returned by the query - (obj.tag, obj.plot, time_range, str(final_coord_list), + (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) # push new query onto the stack and set display to list @@ -334,12 +333,12 @@ def __display_all(self): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - final_coord_list = [b.replace(",", ' ') for b in final_coord_list] + final_coord_list = coord_string(final_coord_list) altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) lst.append(# user sees this list - (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lst @@ -421,8 +420,8 @@ def receive_advanced_search(self, observer): coord_list = obj.coordinates final_coord_list = coord_tuple_list(coord_list) - final_coord_list = [b.replace(",", ' ') for b in final_coord_list] - + final_coord_list = coord_string(final_coord_list) + altitude_range = '%.3f - %.3f' % (obj.begin_alt, obj.end_alt) lat_range = '%.3f - %.3f' % (obj.begin_lat, obj.end_lat) # If we're parsing a date, we can't just filter as we must transform @@ -438,7 +437,7 @@ def receive_advanced_search(self, observer): continue lazy_list.append( - (obj.tag, obj.plot, time_range, str(final_coord_list), lat_range, altitude_range, obj.attributes[1:-1], + (obj.tag, obj.plot, time_range, final_coord_list, lat_range, altitude_range, obj.attributes[1:-1], obj.notes, obj.time_.strftime(DATEFORMAT), obj.hdf)) self.tree.info = lazy_list diff --git a/calipso/tools/tools.py b/calipso/tools/tools.py index 2426cb8..430abe2 100644 --- a/calipso/tools/tools.py +++ b/calipso/tools/tools.py @@ -82,7 +82,21 @@ def coord_tuple_list(uni_str): final_coord_list = ['(%s, %.3f)' % (a, b) for a, b in tup_coords] return final_coord_list +def coord_string(coord_list): + """ + Takes as input a list of coordinates, converts to string, + removes extraneous remaining list notation, and finally + encapsulates the string with extra "" for output to CSV + so that programs such as Excel will ignore the list's commas. + :param str inp: List of coordinate tuples + """ + final_coord_list = str(coord_list) + final_coord_list = final_coord_list.replace('\'', '') + final_coord_list = final_coord_list.replace('[', '') + final_coord_list = final_coord_list.replace(']', '') + final_coord_list = "\"" + final_coord_list + "\"" + return final_coord_list def byteify(inp): """ From f998c8d32907c70b40f71948d6f212178f14a1d1 Mon Sep 17 00:00:00 2001 From: Grant Mercer Date: Thu, 14 Jul 2016 12:03:44 -0700 Subject: [PATCH 7/8] Fix existing bug with import database archive --- calipso/db.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calipso/db.py b/calipso/db.py index 2eac558..c184191 100644 --- a/calipso/db.py +++ b/calipso/db.py @@ -307,7 +307,7 @@ def import_from_json(self, zip_fname): fshape = data[key][shape] tag = 'shape' + str(new) time = datetime.strptime(data['time'], DATEFORMAT) - hdf = data['hdfFile'] + hdf = data['hdffile'] color = fshape['color'] coordinates = fshape['coordinates'] attributes = fshape['attributes'] From 18eff894978ed107a47db4e655b8089b96f21f4c Mon Sep 17 00:00:00 2001 From: Moore Date: Tue, 9 Aug 2016 13:03:38 -0400 Subject: [PATCH 8/8] Fixed parsing bug. --- calipso/tools/tools.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/calipso/tools/tools.py b/calipso/tools/tools.py index 430abe2..f069cba 100644 --- a/calipso/tools/tools.py +++ b/calipso/tools/tools.py @@ -71,8 +71,10 @@ def coord_tuple_list(uni_str): convert_list = list() for c in temp_list2: - c = np.float64(c) - convert_list.append(c) + temp = c.replace("[","") + temp = temp.replace("]","") + temp2 = np.float64(temp) + convert_list.append(temp2) temp_iter = iter(convert_list) tup_coords = zip(temp_iter, temp_iter)