Study.py 1.30 KiB
# -*- 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