[docs]classKosovo(SimpleSpider):""" Domain Public Procurement Regulatory Commission Spider arguments from_date Download only data with a tender period end date from this time onward (YYYY-MM-DD format). Defaults to '2000-01-01'. until_date Download only data with a tender period end date until this time (YYYY-MM-DD format). Defaults to now. Note: This date is non-inclusive. API documentation https://ocdskrpp.rks-gov.net/Help """name='kosovo'# BaseSpiderdate_format='date'date_required=Truedefault_from_date='2000-01-01'# SimpleSpiderdata_type='release_package'defstart_requests(self):# The API is slow even with short periods, so we request one day at a time.delta=self.until_date-self.from_datefordaysinreversed(range(delta.days+1)):start=self.from_date+timedelta(days=days-1)end=self.from_date+timedelta(days=days)url='https://ocdskrpp.rks-gov.net/krppapi/tenderrelease?endDateFrom=' \
f'{start.strftime("%Y-%m-%d")}&endDateEnd={end.strftime("%Y-%m-%d")}'yieldself.build_request(url,formatter=parameters('endDateFrom','endDateEnd'))@handle_http_errordefparse(self,response):# The API returns a release package with an empty releases array if no releases were found.ifresponse.json()['releases']:yieldself.build_file_from_response(response,data_type=self.data_type)