mirror of https://gitlab.com/pamhyr/pamhyr2
Date/time: now save global timestamp in the model, instead of relative
parent
beece68498
commit
2d2f83436c
|
|
@ -98,7 +98,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -118,7 +118,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -108,7 +108,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -108,7 +108,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -97,7 +97,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
SetDataCommand(
|
SetDataCommand(
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date_adists(int(v))
|
value = timestamp_to_old_pamhyr_date_adists(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -111,7 +111,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import traceback
|
import traceback
|
||||||
|
from datetime import timezone
|
||||||
|
|
||||||
from tools import trace, timer, parse_datetime
|
from tools import trace, timer, parse_datetime
|
||||||
|
|
||||||
|
|
@ -62,8 +63,8 @@ class PamhyrTextDelegate(QStyledItemDelegate):
|
||||||
|
|
||||||
|
|
||||||
class PamhyrTableModel(QAbstractTableModel):
|
class PamhyrTableModel(QAbstractTableModel):
|
||||||
def date_to_elapsed_seconds(self, value):
|
def date_to_timestamp(self, value):
|
||||||
"""Convert an entered date to seconds since the study start date."""
|
"""Convert an accepted calendar date to its raw UTC timestamp."""
|
||||||
try:
|
try:
|
||||||
entered_date = parse_datetime(value)
|
entered_date = parse_datetime(value)
|
||||||
except ValueError as error:
|
except ValueError as error:
|
||||||
|
|
@ -81,7 +82,7 @@ class PamhyrTableModel(QAbstractTableModel):
|
||||||
)
|
)
|
||||||
raise error
|
raise error
|
||||||
|
|
||||||
return (entered_date - self._start_date).total_seconds()
|
return entered_date.replace(tzinfo=timezone.utc).timestamp()
|
||||||
|
|
||||||
def _setup_delegates(self):
|
def _setup_delegates(self):
|
||||||
if self._table_view is None:
|
if self._table_view is None:
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ class TableModel(PamhyrTableModel):
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
self._start_date + timedelta(seconds=float(v))
|
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
|
|
@ -98,7 +98,7 @@ class TableModel(PamhyrTableModel):
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self._opt_data == "date"):
|
||||||
value = self.date_to_elapsed_seconds(value)
|
value = self.date_to_timestamp(value)
|
||||||
|
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
SetDataCommand(
|
SetDataCommand(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue