def clean_data(data): prepared_data = { "base_id": data["id"], "act_type": data["type"], "model_type": data["modelType"], "contract_type": data["contractType"], "description": data["contractDesignation"], "announcement_number": data["announcementNumber"], "dre_url": data["reference"], "publication_date": data["drPublicationDate"], "deadline_date": data["proposalDeadline"], "cpvs": data["cpvs"], "category": data["cpvs"], "price": data["basePrice"], "contractors": data["contractingEntities"], } prepared_data["publication_date"] = TenderForm.prepare_publication_date(prepared_data) form = TenderForm(prepared_data) if not form.is_valid(): logger.error('Validation of tender "%d" failed' % data["id"]) raise ValidationError(form.errors) return form.cleaned_data
def clean_data(data): prepared_data = {'base_id': data['id'], 'act_type': data['type'], 'model_type': data['modelType'], 'contract_type': data['contractType'], 'description': data['contractDesignation'], 'announcement_number': data['announcementNumber'], 'dre_url': data['reference'], 'publication_date': data['drPublicationDate'], 'deadline_date': data['proposalDeadline'], 'cpvs': data['cpvs'], 'category': data['cpvs'], 'price': data['basePrice'], 'contractors': data['contractingEntities']} prepared_data['publication_date'] = \ TenderForm.prepare_publication_date(prepared_data) form = TenderForm(prepared_data) if not form.is_valid(): logger.error('Validation of tender "%d" failed' % data['id']) raise ValidationError(form.errors) return form.cleaned_data
def test_date_from_url(self): date = datetime.date(year=2010, month=8, day=12) # by default use publication date data = { 'publication_date': date, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'data=2009-08-12&iddr=155&iddip=402188583' } self.assertEqual(TenderForm.prepare_publication_date(data), date) # no pub_date -> fall back to url date data = { 'publication_date': None, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'data=2009-08-12' '&iddr=155&iddip=402188583' } self.assertEqual(TenderForm.prepare_publication_date(data), datetime.date(year=2009, month=8, day=12)) # no dates -> None data = { 'publication_date': None, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'iddr=155&iddip=402188583' } self.assertEqual(TenderForm.prepare_publication_date(data), None)
def test_date_from_url(self): date = datetime.date(year=2010, month=8, day=12) # by default use publication date data = {'publication_date': date, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'data=2009-08-12&iddr=155&iddip=402188583'} self.assertEqual(TenderForm.prepare_publication_date(data), date) # no pub_date -> fall back to url date data = {'publication_date': None, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'data=2009-08-12' '&iddr=155&iddip=402188583'} self.assertEqual(TenderForm.prepare_publication_date(data), datetime.date(year=2009, month=8, day=12)) # no dates -> None data = {'publication_date': None, 'dre_url': 'http://dre.pt/util/getpdf.asp?s=udrcp&serie=2&' 'iddr=155&iddip=402188583'} self.assertEqual(TenderForm.prepare_publication_date(data), None)
def test_deadline(self): form = TenderForm() date = datetime.date(year=2010, month=8, day=12) timedelta = datetime.timedelta(days=10) form.cleaned_data = { 'publication_date': date, 'deadline_date': timedelta } self.assertEqual(date + timedelta, form.clean_deadline_date()) # should not raise ValidationError because other clean will do it. form.cleaned_data = {'deadline_date': timedelta} form.clean_deadline_date()
def test_deadline(self): form = TenderForm() date = datetime.date(year=2010, month=8, day=12) timedelta = datetime.timedelta(days=10) form.cleaned_data = { 'publication_date': date, 'deadline_date': timedelta} self.assertEqual(date + timedelta, form.clean_deadline_date()) # should not raise ValidationError because other clean will do it. form.cleaned_data = {'deadline_date': timedelta} form.clean_deadline_date()