diff --git a/Ccs/packet_config_CHEOPS.py b/Ccs/packet_config_CHEOPS.py index dcf4d27a8d4808ff2118872b4215b081a9ebcaf6..f5388d9668dc7e3424e44e7fa6685eeb9016fc54 100644 --- a/Ccs/packet_config_CHEOPS.py +++ b/Ccs/packet_config_CHEOPS.py @@ -105,6 +105,8 @@ def calc_timestamp(time, sync=0, return_bytes=False): ftime = 0 sync = 1 if time[-1].upper() == 'S' else 0 elif isinstance(time, bytes): + if len(time) not in [timepack[1], timepack[1]-timepack[3]]: + raise ValueError('Bytestring size ({}) does not match length specified in format ({})'.format(len(time), timepack[1])) ctime = int.from_bytes(time[:4], 'big') ftime = int.from_bytes(time[4:6], 'big') >> 1 sync = time[-1] & 1 diff --git a/Ccs/packet_config_SMILE.py b/Ccs/packet_config_SMILE.py index 1db09e35493de8db8b5031cb8c49cf5416684098..c9a4f5f80f6ff59d4c62805998a68a98d0d9c8d3 100644 --- a/Ccs/packet_config_SMILE.py +++ b/Ccs/packet_config_SMILE.py @@ -128,6 +128,8 @@ def calc_timestamp(time, sync=None, return_bytes=False): sync = 0b101 if time[-1].upper() == 'S' else 0 elif isinstance(time, bytes): + if len(time) not in [timepack[1], timepack[1]-timepack[3]]: + raise ValueError('Bytestring size ({}) does not match length specified in format ({})'.format(len(time), timepack[1])) ctime = int.from_bytes(time[:4], 'big') ftime = int.from_bytes(time[4:7], 'big') if len(time) == timepack[1]: diff --git a/Ccs/plotter.py b/Ccs/plotter.py index 29302f00705af49794f04208667dce85bf2b676e..1193a65012be3976e2e788f75670c2bd5e32b6b0 100644 --- a/Ccs/plotter.py +++ b/Ccs/plotter.py @@ -622,7 +622,6 @@ class PlotViewer(Gtk.Window): dbcon.close() return sid_search - def plot_parameter(self, widget=None, parameter=None): if parameter is not None: hk, parameter = parameter @@ -643,7 +642,7 @@ class PlotViewer(Gtk.Window): st, sst, sid = dbres.fetchall()[0] rows = rows.filter(DbTelemetry.stc == st, DbTelemetry.sst == sst, - DbTelemetry.raw.like(self.sid_position_query(st,sst,sid))) + DbTelemetry.raw.like(self.sid_position_query(st, sst, sid))) #if sid == 0: # rows = rows.filter(DbTelemetry.stc == st, DbTelemetry.sst == sst) #else: @@ -659,14 +658,14 @@ class PlotViewer(Gtk.Window): #rows = rows.filter(DbTelemetry.stc == st, DbTelemetry.sst == sst, # DbTelemetry.data.like(struct.pack('>B', sid) + b'%'))# rows = rows.filter(DbTelemetry.stc == st, DbTelemetry.sst == sst, - DbTelemetry.data.like(self.sid_position_query(st,sst,sid))) + DbTelemetry.data.like(self.sid_position_query(st, sst, sid))) else: userpar = json.loads(self.cfg['ccs-plot_parameters'][parameter]) rows = rows.filter(DbTelemetry.stc == userpar['ST'], DbTelemetry.sst == userpar['SST'], DbTelemetry.apid == userpar['APID']) if 'SID' in userpar and userpar['SID']: #rows = rows.filter(DbTelemetry.data.like(struct.pack('>B', int(userpar['SID'])) + b'%')) - rows = rows.filter(DbTelemetry.raw.like(self.sid_position_query(userpar['ST'],userpar['SST'],userpar['SID']))) + rows = rows.filter(DbTelemetry.raw.like(self.sid_position_query(userpar['ST'], userpar['SST'], userpar['SID']))) if not self.filter_tl2.get_active(): rows = rows.filter(func.left(DbTelemetry.timestamp, func.length(DbTelemetry.timestamp) - 1) > 2.) try: