Always handle beginning and ending definitions via setter functions

Setter functions for beginning and ending decide wether it is a datetime object or a parseable timestamp string
This commit is contained in:
2015-09-06 15:04:49 +02:00
parent 122cc8b309
commit 28d9a26cf1

View File

@@ -4,6 +4,9 @@ from datetime import datetime
class RED_FAM:
# Define the timestamp format
__timestamp_format = "%H:%M, %d. %b. %Y (%Z)"
def __init__( self, articlesList, beginning=None, ending=None, status=0 ):
"""
Generates a new RED_FAM object
@@ -18,12 +21,12 @@ class RED_FAM:
self.__hash = self.__get_fam_hash( )
if( beginning ):
self.__beginning = beginning
self.add_beginning( beginning )
else:
self.__beginning = None
if( ending ):
self.__ending = ending
self.add_ending( ending )
else:
self.__ending = None
@@ -42,32 +45,47 @@ class RED_FAM:
return h.hexdigest()
def add_beginning( self, datetime ):
def add_beginning( self, beginning ):
"""
Adds the beginning date of a redundance diskussion to the object and sets changed to True
@param datetime datetime Beginning date of redundance diskussion
"""
self.__beginning = datetime
self.__beginning = self.__datetime( beginning )
self.__changed = True
def add_ending( self, datetime ):
def add_ending( self, ending ):
"""
Adds the ending date of a redundance diskussion to the object. Also sets the status to __TODO__ STATUS NUMBER and changed to True
@param datetime datetime Ending date of redundance diskussion
"""
self.__ending = datetime
self.__ending = self.__datetime( ending )
self.__status = 2 #__TODO__ STATUS NUMBER
self.__changed = True
def __datetime( self, timestamp ):
"""
Decides wether given timestamp is a parseable string or a datetime object and returns a datetime object in both cases
@param timestamp datetime Datetime object
str Parseable string with timestamp in format __timestamp_format
@returns datetime Datetime object
"""
if( isinstance( timestamp, datetime ) ):
return timestamp
else:
return datetime.strptime( timestamp, type( self ).__timestamp_format )
def __repr__( self ):
if( self.__beginning ):
print( self.__beginning )
beginning = ", beginning=" + repr( self.__beginning )
else:
beginning = ""