def dt_rel(value): if isinstance(value, (str, unicode)): try_parse = datetimeutils.str_to_relative_datetime(value) if not try_parse: try_parse = datetimeutils.any_to_datetime(value) else: try_parse = datetimeutils.any_to_datetime(value) return try_parse
def inp_daterange(value, name, dom_id=None, end_date=None, start_date=None): if end_date and isinstance(end_date, (str, unicode)): try_parse = datetimeutils.str_to_relative_datetime(end_date) if try_parse: end_date = try_parse else: end_date = datetimeutils.any_to_datetime(end_date) if start_date and isinstance(start_date, (str, unicode)): try_parse = datetimeutils.str_to_relative_datetime(start_date) if try_parse: start_date = try_parse else: start_date = datetimeutils.any_to_datetime(start_date) return inputfields.DateRangeInputField.get(name, value, dom_id, end_date, start_date).render()
def GetDebugText(self): if self.isReinforced: timeStr = datetimeutils.any_to_datetime( self.reinforceTimestamp).strftime('%Y-%m-%d %H:%M:%S') return '<color=red>Reinforced</color> until %s' % (timeStr, ) else: return '<color=green>Not reinforced</color>'
def GetDebugText(self): simTimeNow = self.GetSimTime() wallclockTimeNow = self.GetWallclockTime() decayTimestampWallclock = SimTimeToWallclockTime( self.decayTimestamp, simTimeNow, wallclockTimeNow) timeStr = datetimeutils.any_to_datetime( decayTimestampWallclock).strftime('%Y-%m-%d %H:%M:%S') return 'Will decay at %s (subject to time-dilation)' % (timeStr, )
def GetDebugText(self): if self.isActive: return '<color=green>Active</color>' else: simTimeNow = self.GetSimTime() wallclockTimeNow = self.GetWallclockTime() activeTimestampWallclock = SimTimeToWallclockTime(self.activeTimestamp, simTimeNow, wallclockTimeNow) timeStr = datetimeutils.any_to_datetime(activeTimestampWallclock).strftime('%Y-%m-%d %H:%M:%S') return 'Will activate at %s (subject to time-dilation)' % (timeStr,)
def ago_plus(datetime_object, ago_text='ago', str_format='%Y-%m-%d %H:%M'): datetime_object = datetimeutils.any_to_datetime(datetime_object) if isinstance(datetime_object, datetime.datetime): return '%s %s <span class="muted">(%s)</span>' % ( datetimeutils.ago(datetime_object, str(datetime_object)), ago_text, datetime_object.strftime(str_format)) else: return '%s %s <span class="muted">(%s)</span>' % (datetimeutils.ago( datetime_object, str(datetime_object)), ago_text, str(datetime_object))
def ago_ttip(datetime_object, ago_text='ago', str_format='%Y-%m-%d %H:%M'): datetime_object = datetimeutils.any_to_datetime(datetime_object) if isinstance(datetime_object, datetime.datetime): return '<span class="ttip" title="%s">%s %s</span>' % ( datetime_object.strftime(str_format), datetimeutils.ago(datetime_object, str(datetime_object)), ago_text) else: return '<span class="ttip" title="%s">%s %s</span>' % ( str(datetime_object), datetimeutils.ago(datetime_object, str(datetime_object)), ago_text)
def GetDebugText(self): if self.isActive: return '<color=green>Active</color>' else: simTimeNow = self.GetSimTime() wallclockTimeNow = self.GetWallclockTime() activeTimestampWallclock = SimTimeToWallclockTime( self.activeTimestamp, simTimeNow, wallclockTimeNow) timeStr = datetimeutils.any_to_datetime( activeTimestampWallclock).strftime('%Y-%m-%d %H:%M:%S') return 'Will activate at %s (subject to time-dilation)' % ( timeStr, )
def datetime_filter(temporal_object, str_format='%Y-%m-%d %H:%M'): """Formats a datetime, date or timestamp object as a string :param temporal_object: :type temporal_object: datetime or date or long or float or int :param str_format: Same as strftime (http://docs.python.org/2/library/datetime.html#strftime-strptime-behavior) :type str_format: str :rtype: str or unicode """ temporal_object = datetimeutils.any_to_datetime(temporal_object) if isinstance(temporal_object, datetime.datetime): return temporal_object.strftime(str_format) else: return temporal_object
def ago_ttip(datetime_object, ago_text = 'ago', str_format = '%Y-%m-%d %H:%M'): datetime_object = datetimeutils.any_to_datetime(datetime_object) if isinstance(datetime_object, datetime.datetime): return '<span class="ttip" title="%s">%s %s</span>' % (datetime_object.strftime(str_format), datetimeutils.ago(datetime_object, str(datetime_object)), ago_text) else: return '<span class="ttip" title="%s">%s %s</span>' % (str(datetime_object), datetimeutils.ago(datetime_object, str(datetime_object)), ago_text)
def dt_mod(value, d=0, s=0, m=0, h=0, w=0): value = datetimeutils.any_to_datetime(value) if isinstance(value, (datetime.date, datetime.datetime)): return value + datetime.timedelta( days=d, seconds=s, minutes=m, hours=h, weeks=w) return value
def datetime_filter(temporal_object, str_format = '%Y-%m-%d %H:%M'): temporal_object = datetimeutils.any_to_datetime(temporal_object) if isinstance(temporal_object, datetime.datetime): return temporal_object.strftime(str_format) else: return temporal_object
def ago_plus(datetime_object, ago_text = 'ago', str_format = '%Y-%m-%d %H:%M'): datetime_object = datetimeutils.any_to_datetime(datetime_object) if isinstance(datetime_object, datetime.datetime): return '%s %s <span class="muted">(%s)</span>' % (datetimeutils.ago(datetime_object, str(datetime_object)), ago_text, datetime_object.strftime(str_format)) else: return '%s %s <span class="muted">(%s)</span>' % (datetimeutils.ago(datetime_object, str(datetime_object)), ago_text, str(datetime_object))
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.DecayStates_Select(itemID) if len(state): state = state[0] return 'Will decay at: <b>%s</b> (subject to time-dilation and solar-system being loaded)' % datetimeutils.any_to_datetime( state.decayTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def parse_value(value, default_from=None, default_to=None): if value and isinstance(value, (str, unicode)) and len(value) > 19: return (datetimeutils.any_to_datetime(value[:10], default_from), datetimeutils.any_to_datetime(value[-10:], default_to)) return (default_from, default_to)
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.ActivateStates_Select(itemID) if len(state): state = state[0] if state.activated: return '<b>Activated</b>' if state.activeTimestamp: return 'Will become active at: <b>%s</b> (subject to time-dilation and solar-system being loaded)' % datetimeutils.any_to_datetime(state.activeTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def _pre_render(self): self.dom_id = self.dom_id or self.name if self.value: if not isinstance(self.value, (datetime.date, datetime.datetime)): self.value = datetimeutils.any_to_datetime(self.value)
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.DecayStates_Select(itemID) if len(state): state = state[0] return 'Will decay at: <b>%s</b> (subject to time-dilation and solar-system being loaded)' % datetimeutils.any_to_datetime(state.decayTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def GetDebugText(self): simTimeNow = self.GetSimTime() wallclockTimeNow = self.GetWallclockTime() decayTimestampWallclock = SimTimeToWallclockTime(self.decayTimestamp, simTimeNow, wallclockTimeNow) timeStr = datetimeutils.any_to_datetime(decayTimestampWallclock).strftime('%Y-%m-%d %H:%M:%S') return 'Will decay at %s (subject to time-dilation)' % (timeStr,)
def datetime_filter(temporal_object, str_format='%Y-%m-%d %H:%M'): temporal_object = datetimeutils.any_to_datetime(temporal_object) if isinstance(temporal_object, datetime.datetime): return temporal_object.strftime(str_format) else: return temporal_object
def datetime(self, name, default=pydt.datetime.now()): if self.contains(name) and self.data[name]: return datetimeutils.any_to_datetime(self.data[name], default) return default
def GetDebugText(self): if self.isReinforced: timeStr = datetimeutils.any_to_datetime(self.reinforceTimestamp).strftime('%Y-%m-%d %H:%M:%S') return '<color=red>Reinforced</color> until %s' % (timeStr,) else: return '<color=green>Not reinforced</color>'
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.ActivateStates_Select(itemID) if len(state): state = state[0] if state.activated: return '<b>Activated</b>' if state.activeTimestamp: return 'Will become active at: <b>%s</b> (subject to time-dilation and solar-system being loaded)' % datetimeutils.any_to_datetime( state.activeTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.ReinforceStates_Select(itemID) if len(state): state = state[0] if not state.reinforced: return 'Not currently Reinforced' else: return '<b>Is Reinforced</b> - Will exit at: <b>%s</b> (subject to solar-system being loaded)' % datetimeutils.any_to_datetime(state.reinforceTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def datetime(self, name, default = pydt.datetime.now()): if self.contains(name) and self.data[name]: return datetimeutils.any_to_datetime(self.data[name], default) return default
def _get_data_as_datetime(self): return [[ datetimeutils.datetime_to_timestamp( datetimeutils.any_to_datetime(x)) * 1000, y ] for x, y in self.data]
def time(self, name, default = pydt.datetime.now().time()): if self.contains(name) and self.data[name]: val = datetimeutils.any_to_datetime(self.data[name], default) if isinstance(val, pydt.datetime): return val.time() return default
def GetEspStateInfo(itemID, dbspacecomponent, espWriter): state = dbspacecomponent.ReinforceStates_Select(itemID) if len(state): state = state[0] if not state.reinforced: return 'Not currently Reinforced' else: return '<b>Is Reinforced</b> - Will exit at: <b>%s</b> (subject to solar-system being loaded)' % datetimeutils.any_to_datetime( state.reinforceTimestamp).strftime('%Y-%m-%d %H:%M:%S') else: return 'No info in DB'
def seconds_ago(datetime_object): datetime_object = datetimeutils.any_to_datetime(datetime_object) if isinstance(datetime_object, datetime.datetime): return (datetime.datetime.now() - datetime_object).total_seconds()
def time(self, name, default=pydt.datetime.now().time()): if self.contains(name) and self.data[name]: val = datetimeutils.any_to_datetime(self.data[name], default) if isinstance(val, pydt.datetime): return val.time() return default