Commit eead56df90e804a19510cf35b51089ff9aebb3b4
Committed by
selurvedu
1 parent
5d330857
Add funders functions
Showing
5 changed files
with
163 additions
and
0 deletions
... | ... | @@ -118,6 +118,31 @@ def get_document_by_id(data, doc_id): |
118 | 118 | raise Exception('Document with id {} not found'.format(doc_id)) |
119 | 119 | |
120 | 120 | |
121 | +def get_tenders_by_funder_id(client, | |
122 | + funder_id=None, | |
123 | + descending=True, | |
124 | + tender_id_field='tenderID', | |
125 | + opt_fields=('funders',)): | |
126 | + params = {'offset': '', | |
127 | + 'opt_fields': ','.join((tender_id_field,) + opt_fields), | |
128 | + 'descending': descending} | |
129 | + tender_list = True | |
130 | + client._update_params(params) | |
131 | + tenders_with_funder = {} | |
132 | + while tender_list and not tenders_with_funder: | |
133 | + tender_list = client.get_tenders() | |
134 | + for tender in tender_list: | |
135 | + if 'funders' in tender: | |
136 | + tenders_with_funder[tender[tender_id_field]] = [el['identifier']['id'] for el in tender['funders']] | |
137 | + # In case we are looking for a specific funder | |
138 | + if funder_id: | |
139 | + tenders_with_funder = {k: v for k, v in tenders_with_funder.items() if funder_id in v} | |
140 | + if not tenders_with_funder: | |
141 | + raise IdNotFound | |
142 | + else: | |
143 | + return tenders_with_funder | |
144 | + | |
145 | + | |
121 | 146 | def download_file_from_url(url, path_to_save_file): |
122 | 147 | f = open(path_to_save_file, 'wb') |
123 | 148 | f.write(urllib.urlopen(url).read()) | ... | ... |
... | ... | @@ -37,10 +37,18 @@ def create_fake_funder(): |
37 | 37 | return fake.funders_data() |
38 | 38 | |
39 | 39 | |
40 | +def get_fake_funder_scheme(): | |
41 | + return fake.funder_scheme() | |
42 | + | |
43 | + | |
40 | 44 | def create_fake_amount(award_amount): |
41 | 45 | return round(random.uniform(1, award_amount), 2) |
42 | 46 | |
43 | 47 | |
48 | +def create_fake_number(min_number, max_number): | |
49 | + return random.randint(int(min_number), int(max_number)) | |
50 | + | |
51 | + | |
44 | 52 | def create_fake_title(): |
45 | 53 | return u"[ТЕСТУВАННЯ] {}".format(fake.title()) |
46 | 54 | ... | ... |
... | ... | @@ -22,6 +22,7 @@ class OP_Provider(BaseProvider): |
22 | 22 | word_list = _fake_data.words |
23 | 23 | procuringEntities = _fake_data.procuringEntities |
24 | 24 | funders = _fake_data.funders |
25 | + funders_scheme_list = _fake_data.funders_scheme | |
25 | 26 | addresses = _fake_data.addresses |
26 | 27 | classifications = _fake_data.classifications |
27 | 28 | cpvs = _fake_data.cpvs |
... | ... | @@ -95,6 +96,9 @@ class OP_Provider(BaseProvider): |
95 | 96 | def funders_data(self): |
96 | 97 | return self.random_element(self.funders) |
97 | 98 | |
99 | + @classmethod | |
100 | + def funder_scheme(self): | |
101 | + return self.random_element(self.funders_scheme_list) | |
98 | 102 | |
99 | 103 | @classmethod |
100 | 104 | def cpv(self): | ... | ... |
... | ... | @@ -532,6 +532,130 @@ |
532 | 532 | } |
533 | 533 | } |
534 | 534 | ], |
535 | + "funders_scheme": [ | |
536 | + "AE-ACCI", | |
537 | + "AE-ADCD", | |
538 | + "AE-AFZ", | |
539 | + "AE-DCCI", | |
540 | + "AE-DFSA", | |
541 | + "AE-DIFC", | |
542 | + "AE-FFZ", | |
543 | + "AT-FN", | |
544 | + "AE-FUJCCI", | |
545 | + "AE-HFZA", | |
546 | + "AE-RAKIA", | |
547 | + "AE-SAIF", | |
548 | + "AE-SCCI", | |
549 | + "AE-UAQCCI", | |
550 | + "AF-CBR", | |
551 | + "AF-MOE", | |
552 | + "AU-ABN", | |
553 | + "AU-ACNC", | |
554 | + "BD-NAB", | |
555 | + "BE-BCE_KBO", | |
556 | + "BE-GTCF", | |
557 | + "BG-EIK", | |
558 | + "BY-UNP", | |
559 | + "CA-CRA_ACR", | |
560 | + "CH-ZEFIX", | |
561 | + "CN-SAIC", | |
562 | + "CO-CCB", | |
563 | + "CY-DRCOR", | |
564 | + "CZ-ICO", | |
565 | + "DE-CRP", | |
566 | + "DK-CVR", | |
567 | + "EE-RIK", | |
568 | + "ES-DIR3", | |
569 | + "ES-RMS", | |
570 | + "ET-MFA", | |
571 | + "FI-PRO", | |
572 | + "FR-INSEE", | |
573 | + "FR-RCS", | |
574 | + "GB-CHC", | |
575 | + "GB-COH", | |
576 | + "GB-EDU", | |
577 | + "GB-GOV", | |
578 | + "GB-GOVUK", | |
579 | + "GB-NIC", | |
580 | + "GB-REV", | |
581 | + "GB-SC", | |
582 | + "GB-UKPRN", | |
583 | + "GG-RCE", | |
584 | + "GH-DSW", | |
585 | + "HU-VAT", | |
586 | + "ID-KDN", | |
587 | + "ID-KHH", | |
588 | + "ID-KLN", | |
589 | + "ID-PRO", | |
590 | + "IE-CHY", | |
591 | + "IE-CRO", | |
592 | + "IL-ROC", | |
593 | + "IM-CR", | |
594 | + "IM-GR", | |
595 | + "IN-MCA", | |
596 | + "IT-RI", | |
597 | + "JE-CR", | |
598 | + "JE-OAC", | |
599 | + "JP-JCN", | |
600 | + "KE-NCB", | |
601 | + "KE-RCO", | |
602 | + "KE-RSO", | |
603 | + "KZ-BIN", | |
604 | + "LS-LCN", | |
605 | + "LT-PVM", | |
606 | + "LT-RC", | |
607 | + "LV-RE", | |
608 | + "MD-IDNO", | |
609 | + "MM-MHA", | |
610 | + "MW-CNM", | |
611 | + "MW-MRA", | |
612 | + "MW-NBM", | |
613 | + "MW-RG", | |
614 | + "MY-SSM", | |
615 | + "MZ-MOJ", | |
616 | + "NG-CAC", | |
617 | + "NL-KVK", | |
618 | + "NO-BRC", | |
619 | + "NP-CRO", | |
620 | + "NP-SWC", | |
621 | + "PK-PCP", | |
622 | + "PK-VSWA", | |
623 | + "PL-REGON", | |
624 | + "PL-NIP", | |
625 | + "PL-KRS", | |
626 | + "PT-NIPPC", | |
627 | + "RO-CUI", | |
628 | + "RS-APR", | |
629 | + "RU-INN", | |
630 | + "RU-OGRN", | |
631 | + "SE-BLV", | |
632 | + "SG-ACRA", | |
633 | + "SI-PRS", | |
634 | + "SI-TIN", | |
635 | + "SK-ZRSR", | |
636 | + "TR-MERSIS", | |
637 | + "TR-VAT", | |
638 | + "TZ-BRLA", | |
639 | + "UA-EDR", | |
640 | + "UG-NGB", | |
641 | + "UG-RSB", | |
642 | + "US-DOS", | |
643 | + "US-EIN", | |
644 | + "US-USAGOV", | |
645 | + "UZ-KTUT", | |
646 | + "XI-IATI", | |
647 | + "XI-PB", | |
648 | + "XM-DAC", | |
649 | + "XM-EORI", | |
650 | + "XM-OCHA", | |
651 | + "ZA-CIP", | |
652 | + "ZA-NPO", | |
653 | + "ZA-PBO", | |
654 | + "ZM-NRB", | |
655 | + "ZM-PCR", | |
656 | + "ZW-PVO", | |
657 | + "ZW-ROD" | |
658 | + ], | |
535 | 659 | "procuringEntities": [ |
536 | 660 | { |
537 | 661 | "contactPoint": { | ... | ... |
Please
register
or
login
to post a comment