mirror of https://gitlab.com/pamhyr/pamhyr2
59 lines
1.3 KiB
Python
59 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
from datetime import datetime
|
|
from Model.Serializable import Serializable
|
|
|
|
class Study(Serializable):
|
|
def __init__(self):
|
|
# Serialization information
|
|
super(Study, self).__init__("")
|
|
self.filename = ""
|
|
|
|
# Study general information
|
|
self.name = ""
|
|
self.description = ""
|
|
# Time system
|
|
self._time_system = "time"
|
|
self._date = datetime.fromtimestamp(0)
|
|
|
|
self.creation_date = datetime.now()
|
|
self.last_modification_date = datetime.now()
|
|
self.last_save_date = datetime.now()
|
|
|
|
# Study data
|
|
self.river = None
|
|
|
|
@property
|
|
def time_system(self):
|
|
return self._time_system
|
|
|
|
def use_time(self):
|
|
self._time_system = "time"
|
|
|
|
def use_date(self, date:datetime):
|
|
self._time_system = "date"
|
|
self._date = date
|
|
|
|
@property
|
|
def date(self):
|
|
return self._date
|
|
|
|
@date.setter
|
|
def date(self, timestamp):
|
|
self._date = timestamp
|
|
|
|
@classmethod
|
|
def new(cls):
|
|
return cls()
|
|
|
|
@classmethod
|
|
def new(cls, name, description, date = None):
|
|
me = cls()
|
|
me.name = name
|
|
me.description = description
|
|
if date is not None:
|
|
me.use_date()
|
|
me.date = date
|
|
return me
|