def dates(data): if not data.get("validity_start") and data.get("validity_end"): raise ValidationError( "If validity start is specified so must validity end.") if not data.get("validity_end") and data.get("validity_start"): raise ValidationError( "If validity end is specified so must validity start.") if data.get("validity_start") and data.get("validity_end"): if not current_app.config.get("LEMUR_ALLOW_WEEKEND_EXPIRATION", True): if is_weekend(data.get("validity_end")): raise ValidationError( "Validity end must not land on a weekend.") if not data["validity_start"] < data["validity_end"]: raise ValidationError( "Validity start must be before validity end.") if data.get("authority"): if (data.get("validity_start").date() < data["authority"].authority_certificate.not_before.date()): raise ValidationError( "Validity start must not be before {0}".format( data["authority"].authority_certificate.not_before)) if (data.get("validity_end").date() > data["authority"].authority_certificate.not_after.date()): raise ValidationError( "Validity end must not be after {0}".format( data["authority"].authority_certificate.not_after)) return data
def dates(data): if not data.get('validity_start') and data.get('validity_end'): raise ValidationError( 'If validity start is specified so must validity end.') if not data.get('validity_end') and data.get('validity_start'): raise ValidationError( 'If validity end is specified so must validity start.') if data.get('validity_start') and data.get('validity_end'): if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True): if is_weekend(data.get('validity_end')): raise ValidationError( 'Validity end must not land on a weekend.') if not data['validity_start'] < data['validity_end']: raise ValidationError( 'Validity start must be before validity end.') if data.get('authority'): if data.get('validity_start').date( ) < data['authority'].authority_certificate.not_before.date(): raise ValidationError( 'Validity start must not be before {0}'.format( data['authority'].authority_certificate.not_before)) if data.get('validity_end').date( ) > data['authority'].authority_certificate.not_after.date(): raise ValidationError( 'Validity end must not be after {0}'.format( data['authority'].authority_certificate.not_after)) return data
def convert_validity_years(data): """ Convert validity years to validity_start and validity_end :param data: :return: """ if data.get('validity_years'): now = arrow.utcnow() data['validity_start'] = now.isoformat() end = now.replace(years=+int(data['validity_years'])) if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True): if is_weekend(end): end = end.replace(days=-2) data['validity_end'] = end.isoformat() return data
def dates(data): if not data.get('validity_start') and data.get('validity_end'): raise ValidationError('If validity start is specified so must validity end.') if not data.get('validity_end') and data.get('validity_start'): raise ValidationError('If validity end is specified so must validity start.') if data.get('validity_start') and data.get('validity_end'): if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True): if is_weekend(data.get('validity_end')): raise ValidationError('Validity end must not land on a weekend.') if not data['validity_start'] < data['validity_end']: raise ValidationError('Validity start must be before validity end.') if data.get('authority'): if data.get('validity_start').date() < data['authority'].authority_certificate.not_before.date(): raise ValidationError('Validity start must not be before {0}'.format(data['authority'].authority_certificate.not_before)) if data.get('validity_end').date() > data['authority'].authority_certificate.not_after.date(): raise ValidationError('Validity end must not be after {0}'.format(data['authority'].authority_certificate.not_after)) return data