def __verify_detect_packet(self, packet): lines = string.split(packet, cClinitek50.EOL) # product ID: 6510 = Clinitek 50 tmp = lines[1][:4] if tmp != cClinitek50.dev_id: _log.Log(gmLog.lErr, 'device does not seem to be a Clinitek 50, product ID is [%s], expected [%s]' % (tmp, cClinitek50.dev_id)) _log.Log(gmLog.lData, lines) return None # product revision tmp = lines[1][4:6] if tmp not in cClinitek50.known_good_dev_revs: _log.Log(gmLog.lWarn, 'product revision [%s] untested, trying to continue anyways' % tmp) # software version tmp = lines[1][6:11] if tmp not in cClinitek50.known_good_sw_versions: _log.Log(gmLog.lWarn, 'software version [%s] untested, trying to continue anyways' % tmp) # date/time timestamp = mxDT.strptime(lines[1][12:22], self.__date_format + cClinitek50.time_format) _log.Log(gmLog.lInfo, 'device timestamp: %s' % timestamp) _log.Log(gmLog.lInfo, 'system timestamp: %s' % mxDT.now()) age = mxDT.Age(mxDT.now(), timestamp) if age.hours > 6: _log.Log(gmLog.lErr, 'device time is off by %s, please correct that' % age) return None # language-unit profile (lang, units) = string.split(lines[2], ' - ') _log.Log(gmLog.lInfo, 'language: %s' % lang) _log.Log(gmLog.lInfo, 'unit system: %s' % units) # STIX type stix_type = string.strip(lines[3]) if not stix_type in cClinitek50.known_stix_types: _log.Log(gmLog.lErr, "don't know how to handle stix of type %s" % stix_type) return None # seems valid return 1
def compute_age_from_dates (date_birth): now=DateTime.now() if (date_birth): dob=DateTime.strptime(date_birth,'%Y-%m-%d') delta=DateTime.Age (now, dob) deceased='' years_months_days = str(delta.years) +"a "+ str(delta.months) +"m "+ str(delta.days)+"j" + deceased else: years_months_days = "No DoB !" return years_months_days
def compute_age_from_dates(patient_dob): now = DateTime.now() if (patient_dob): dob = DateTime.strptime(patient_dob, '%Y-%m-%d') delta = DateTime.Age(now, dob) years_months_days = str(delta.years) + "y " + str( delta.months) + "m " + str(delta.days) + "d" else: years_months_days = "No DoB !" return years_months_days
def from_dob(cls, dob, now=None): """ Make an Age from a date-of-birth """ if hasattr(dob, 'mx'): dob = dob.mx() elif not isinstance(dob, DateTime.DateTimeType): raise TypeError('bad date-of-birth type %r' % dob) if now is None: now = DateTime.now() if dob > now: raise Error('date-of-birth %s is in the future' % dob) age = DateTime.Age(now, dob) if age.years >= 3: return cls(age.years + age.months / 12, 'y') months = age.years * 12 + age.months + age.days / 30.5 if months >= 3: return cls(months, 'm') age = now - dob if age.days > 30: return cls(age.days / 7, 'w') return cls(age.days, 'd')