def expected_sps_versions(article_dateiso): sps_dateiso_items = sorted(SPS_expiration_dates_versions.keys()) sps_datetime_items = [article_utils.dateiso2datetime(item) for item in sps_dateiso_items] article_datetime = article_utils.dateiso2datetime(article_dateiso) min_version = str(None) max_version = SPS_expiration_dates_versions.get(sps_dateiso_items[len(sps_dateiso_items)-1]) valid_versions = [min_version, max_version] if article_datetime is not None: diff = SPS_MIN_DATE - article_datetime if diff.days > 0: # data do artigo é antiga, anterior a 2012 # permitido qualquer versão valid_versions = [item for item in SPS_expiration_dates_versions.values() if item != 'pre-sps'] else: i = 0 k = 0 for sps_datetime in sps_datetime_items: diff = article_datetime - sps_datetime if diff.days < 0: valid_versions = [] for k in range(i, len(sps_dateiso_items)): _sps_value = SPS_expiration_dates_versions.get(sps_dateiso_items[k]) if _sps_value == 'pre-sps': _sps_value = 'None' valid_versions.append(_sps_value) break i += 1 return list(set(sorted(valid_versions)))
def sps_version_expiration_days(sps_version): days = None sps_dates = dict_SPS_expiration_dates.get(sps_version) if sps_dates is not None: sps_dates = article_utils.dateiso2datetime(sps_dates[1]) now = datetime.now() diff = sps_dates - now days = diff.days return days
def sps_version_expiration_days(sps_version): days = None if sps_version is None: sps_version = 'pre-sps' sps_version_datetime = SPS_versions_expiration_dates.get(sps_version) if sps_version_datetime is not None: sps_version_datetime = article_utils.dateiso2datetime(sps_version_datetime) now = datetime.now() diff = sps_version_datetime - now days = diff.days return days