'we\'re expecting self.timestamp to be either a long, int, a datetime, or a timedelta
:return:'

@property
def timestamp_normalized(self):

    if (not self.timestamp):
        return None
    if isinstance(self.timestamp, six.integer_types):
        return self.timestamp
    if isinstance(self.timestamp, timedelta):
        tmp = (datetime.now() + self.timestamp)
    else:
        tmp = self.timestamp
    return int(((time.mktime(tmp.timetuple()) * 1000000.0) + tmp.microsecond))
