prozorro_sale.dictionaries_and_classifiers.dictionaries module

class prozorro_sale.dictionaries_and_classifiers.dictionaries.ObjectMapping(name, data, response_wrapper)[source]

Bases: object

__getattr__(name)[source]

Check data path and send file if path exists or call fail back. :param name: Type of mappings (dictionaries/classifiers/mappings) :type name: str

Returns

Response object.

Return type

aiohttp.web.Response

Raises

MappingNotFound – If mapping type is undefined.

__getitem__(key)[source]
__init__(name, data, response_wrapper)[source]
__slots__ = ('name', 'data', 'response_wrapper')
_fail_back(name, data_path: pathlib.Path)[source]

Create new directory with required path, load yaml file and dumps data to json.

Parameters
  • name (str) – Type of mappings (dictionaries/classifiers/mappings)

  • data_path (str) – Path to yaml file with data

Returns

Response object.

Return type

aiohttp.web.Response

_send(obj)[source]

Get response wrapper depends on object class.

Parameters

obj (object) – object type

Returns

Response object

Return type

aiohttp.web.Response

data
property legal_names

Get legal names of dictionaries.

Returns

Response object.

Return type

aiohttp.web.Response

name
response_wrapper
class prozorro_sale.dictionaries_and_classifiers.dictionaries.SchemeMapping[source]

Bases: object

CACHE = PosixPath('/builds/prozorro-sale/dictionaries_and_classifiers/cache')
MAPPING = {'classifiers': {'CAV': {'legalNameUa': 'Класифікатор майна/активів', 'path': {'/classifiers/CAV.yaml'}}, 'CPVS': {'legalNameUa': 'Додатковий класифікатор', 'path': {'/classifiers/cpvs.yaml'}}, 'CVZU': {'legalNameEn': 'Сlassification of land types', 'legalNameUa': 'Класифікація видів земельних угідь', 'path': {'/classifiers/CVZU.yaml'}}, 'dm': {'legalNameUa': 'Класифікатор державного майна', 'path': {'/classifiers/dm.yaml'}}, 'identifiers': {'legalNameUa': 'Тип ідентифікації', 'path': {'/classifiers/identifiers.yaml'}}, 'katottg': {'legalNameEn': 'Administrative-territorial units and territories of territorial communities', 'legalNameUa': 'Адміністративно-територіальні одиниці та території територіальних громад', 'path': {'/classifiers/katottg.yaml'}}, 'koatuu': {'legalNameEn': 'Objects of administrative-territorial organization of Ukraine', 'legalNameUa': 'Об’єкти адміністративно-територіального устрою України', 'path': {'/classifiers/koatuu.yaml'}}, 'kvtspz': {'legalNameEn': 'Land use type', 'legalNameUa': 'Кваліфікація видів цільового призначення земель', 'path': {'/classifiers/kvtspz.yaml'}}, 'other_identifiers': {'legalNameUa': 'Тип ідентифікації', 'path': {'/classifiers/other_identifier.yaml'}}, 'ua_identifiers': {'legalNameUa': 'Тип ідентифікації', 'path': {'/classifiers/ua_identifier.yaml'}}, 'unitCode': {'legalNameEn': 'Unit codes', 'legalNameUa': 'Одиниці виміру', 'path': {'/classifiers/unit_code.yaml'}}}, 'constants': {'common': {'legalNameEn': 'Common constants', 'legalNameUa': 'Загальні константи', 'path': {'/constants/common.yaml'}}}, 'dictionaries': {'accountIdentifiers': {'legalNameEn': 'Account identification type', 'legalNameUa': 'Тип банківського ідентифікатора', 'path': {'/dictionaries/account_identifiers.yaml'}}, 'accountType': {'legalNameEn': 'Bank accounts type', 'legalNameUa': 'Тип банківських рахунків', 'path': {'/dictionaries/accountType.yaml'}}, 'actingEntityRole': {'legalNameUa': 'Роль Організації, що виконує дію', 'path': {'/dictionaries/actingEntityRole.yaml'}}, 'actionType': {'legalNameUa': 'Тип дії', 'path': {'/dictionaries/actionType.yaml'}}, 'additional_info_initiators': {'legalNameEn': 'Additional information initiator', 'legalNameUa': 'Ініціатор публікації додаткової інформації', 'path': {'/dictionaries/additional_info_initiators.yaml'}}, 'additional_info_reason': {'legalNameEn': 'Additional information reason', 'legalNameUa': 'Причина публікації додаткової інформації', 'path': {'/dictionaries/additional_info_reason.yaml'}}, 'alienationItemType': {'legalNameEn': 'Alienation item type', 'legalNameUa': "Тип об'єкта", 'path': {'/dictionaries/alienationItemType.yaml'}}, 'alienationTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/alienationTerminationReason.yaml'}}, 'armaPropertyItemType': {'legalNameEn': 'Arma property item type', 'legalNameUa': "Тип об'єкта", 'path': {'/dictionaries/armaPropertyItemType.yaml'}}, 'armaPropertyTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/armaPropertyTerminationReason.yaml'}}, 'arrestedAssetType': {'legalNameEn': 'Arrested asset type', 'legalNameUa': "Тип об'єкта", 'path': {'/dictionaries/arrestedAssetType.yaml'}}, 'arrestedAssetsCancellationReason': {'legalNameEn': 'Cancellation reasons', 'legalNameUa': 'Причини відміни', 'path': {'/dictionaries/arrestedAssetsCancellationReason.yaml'}}, 'arrestedAssetsPauseReason': {'legalNameEn': 'Pause reasons', 'legalNameUa': 'Причини зупинки', 'path': {'/dictionaries/arrestedAssetsPauseReason.yaml'}}, 'arrestedAssetsTerminationReason': {'legalNameEn': 'Termination reasons', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/arrestedAssetsTerminationReason.yaml'}}, 'auctionType': {'legalNameEn': 'Auction', 'legalNameUa': 'Тип аукціонів', 'path': {'/dictionaries/auctionType.yaml'}}, 'bankRuptcyTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/bankRuptcyTerminationReason.yaml'}}, 'bankRuptcyWithoutAuctionTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації учаснику', 'path': {'/dictionaries/bankRuptcyWithoutAuctionTerminationReason.yaml'}}, 'bankruptcyWithoutAuctionCancellationReason': {'legalNameEn': 'Procedure cancellation reasons (bankruptcyWithoutAuction)', 'legalNameUa': 'Причини скасування аукціону (bankruptcyWithoutAuction)', 'path': {'/dictionaries/bankruptcyWithoutAuctionCancellationReason.yaml'}}, 'basicSellItemType': {'legalNameEn': 'Basic sell item type', 'legalNameUa': "Тип об'єкта", 'path': {'/dictionaries/basicSellItemType.yaml'}}, 'basicSellTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/basicSellTerminationReason.yaml'}}, 'carryType': {'legalNameUa': 'Тип аукціону', 'path': {'/dictionaries/carryType.yaml'}}, 'commercialPropertyLeaseTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації учаснику', 'path': {'/dictionaries/commercialPropertyLeaseTerminationReason.yaml'}}, 'commercialSellItemType': {'legalNameEn': 'Commercial sell item type', 'legalNameUa': "Тип об'єкта", 'path': {'/dictionaries/commercialSellItemType.yaml'}}, 'commercialSellTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/commercialSellTerminationReason.yaml'}}, 'constructionTechnology': {'legalNameEn': 'Construction Technology', 'legalNameUa': 'Технологія будівництва', 'path': {'/dictionaries/constructionTechnology.yaml'}}, 'contractMethod': {'legalNameEn': 'Contract method', 'legalNameUa': 'Метод контракту', 'path': {'/dictionaries/contractMethod.yaml'}}, 'contractStatus': {'legalNameEn': 'Contract status', 'legalNameUa': 'Статус контракту', 'path': {'/dictionaries/contractStatus.yaml'}}, 'currency': {'legalNameEn': 'Currency', 'legalNameUa': 'Валюта', 'path': {'/dictionaries/currency.yaml'}}, 'dgfCancellationReason': {'legalNameEn': 'Procedure cancellation reasons (dgf)', 'legalNameUa': 'Причини скасування аукціону (dgf)', 'path': {'/dictionaries/dgfCancellationReason.yaml'}}, 'dgfItemType': {'legalNameEn': 'Object type', 'legalNameUa': 'Тип об`єкта', 'path': {'/dictionaries/dgfItemType.yaml'}}, 'dgfTerminationReason': {'legalNameEn': 'Termination reasons (dgf)', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/dgfTerminationReason.yaml'}}, 'dgfUnsuccessfulReason': {'legalNameEn': 'List of unsuccessful reasons', 'legalNameUa': 'Торги не відбулися перелік причин', 'path': {'/dictionaries/dgfUnsuccessfulReason.yaml'}}, 'documentOf': {'legalNameEn': 'Document of', 'legalNameUa': 'Документ до', 'path': {'/dictionaries/documentOf.yaml'}}, 'eligibilityCriteria': {'legalNameEn': 'Eligibility criteria', 'legalNameUa': 'Критерій прийнятності', 'path': {'/dictionaries/eligibilityCriteria.yaml'}}, 'encumbrances': {'legalNameEn': 'Encumbrances', 'legalNameUa': 'Наявність обтяжень', 'path': {'/dictionaries/encumbrances.yaml'}}, 'floorType': {'legalNameEn': 'Floor type', 'legalNameUa': 'Тип поверху', 'path': {'/dictionaries/floorType.yaml'}}, 'fuelType': {'legalNameEn': 'Fuel type', 'legalNameUa': 'Класс живлення', 'path': {'/dictionaries/fuelType.yaml'}}, 'generationType': {'legalNameUa': 'Вид джерела енергії', 'path': {'/dictionaries/generation_type.yaml'}}, 'holderType': {'legalNameEn': 'Object holder type', 'legalNameUa': "Тип власника об'єкта", 'path': {'/dictionaries/holderType.yaml'}}, 'intendedUse': {'legalNameUa': 'Перелік цільового призначення', 'path': {'/dictionaries/intendedUse.yaml'}}, 'landArrestedTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/landArrestedTerminationReason.yaml'}}, 'landRentalTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/landRentalTerminationReason.yaml'}}, 'landSellTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/landSellTerminationReason.yaml'}}, 'largePrivatizationCancellationReason': {'legalNameEn': 'Procedure cancellation reasons (largePrivatization)', 'legalNameUa': 'Причини скасування аукціону (largePrivatization)', 'path': {'/dictionaries/largePrivatizationCancellationReason.yaml'}}, 'largePrivatizationItemType': {'legalNameEn': 'Non Performing Loans item type', 'legalNameUa': 'Тип активу', 'path': {'/dictionaries/largePrivatizationItemType.yaml'}}, 'largePrivatizationTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/largePrivatizationTerminationReason.yaml'}}, 'leaseRestrictions': {'legalNameEn': 'Lease restrictions', 'legalNameUa': 'Обмеження оренди', 'path': {'/dictionaries/leaseRestrictions.yaml'}}, 'legitimateLeaseItemType': {'legalNameEn': 'Item type', 'legalNameUa': "Тип об'єкта майна", 'path': {'/dictionaries/legitimateLeaseItemType.yaml'}}, 'legitimatePropertyLeaseCancellationReason': {'legalNameEn': 'Cancellation reasons', 'legalNameUa': 'Причини відміни', 'path': {'/dictionaries/legitimatePropertyLeaseCancellationReason.yaml'}}, 'legitimatePropertyLeaseTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/legitimatePropertyLeaseTerminationReason.yaml'}}, 'listType': {'legalNameEn': 'List type', 'legalNameUa': 'Тип переліку', 'path': {'/dictionaries/listType.yaml'}}, 'nonperformingLoansItemType': {'legalNameEn': 'Non Performing Loans item type', 'legalNameUa': 'Тип активу', 'path': {'/dictionaries/nonperformingLoansItemType.yaml'}}, 'nonperformingLoansTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/nonperformingLoansTerminationReason.yaml'}}, 'objectLoadUnloadOrExclusionRange': {'legalNameUa': "Об'єкт полігону навантаження, вивантаження або виключення", 'path': {'/dictionaries/objectLoadUnloadOrExclusionRange.yaml'}}, 'ownershipType': {'legalNameEn': 'Ownership type', 'legalNameUa': 'Тип власності', 'path': {'/dictionaries/ownershipType.yaml'}}, 'powerSupplyClass': {'legalNameEn': 'Power supply class', 'legalNameUa': 'Класс живлення', 'path': {'/dictionaries/powerSupplyClass.yaml'}}, 'priorityType': {'legalNameEn': "Participant's priority", 'legalNameUa': 'Пріорітет учасника', 'path': {'/dictionaries/priorityType.yaml'}}, 'procedureType': {'legalNameEn': 'Procedure type', 'legalNameUa': 'Тип процедур', 'path': {'/dictionaries/procedureType.yaml'}}, 'prolongationReason': {'legalNameEn': 'Prolongation reason', 'legalNameUa': 'Причина пролонгації', 'path': {'/dictionaries/prolongationReason.yaml'}}, 'railwayCargoExclusionObjectType': {'legalNameEn': 'Object type (railway)', 'legalNameUa': 'Ознака приналежності до (railway)', 'path': {'/dictionaries/railwayCargoExclusionObjectType.yaml'}}, 'registrationState': {'legalNameEn': 'State of registration', 'legalNameUa': 'Стан державної реєстрації об`єкта', 'path': {'/dictionaries/registrationState.yaml'}}, 'registrationStatus': {'legalNameEn': 'Registration status', 'legalNameUa': 'Статус реєстрації', 'path': {'/dictionaries/registrationStatus.yaml'}}, 'regulationsPropertyLeaseTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації учаснику', 'path': {'/dictionaries/regulationsPropertyLeaseTerminationReason.yaml'}}, 'renewablesTerminationReason': {'legalNameEn': 'Termination reasons (renewables)', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику (renewables)', 'path': {'/dictionaries/renewablesTerminationReason.yaml'}}, 'requestStatus': {'legalNameEn': 'Request status', 'legalNameUa': 'Статус заяви', 'path': {'/dictionaries/requestStatus.yaml'}}, 'requestType': {'legalNameEn': 'Request type', 'legalNameUa': 'Тип заяви', 'path': {'/dictionaries/requestType.yaml'}}, 'saleOrLeaseType': {'legalNameEn': 'Sale or lease type', 'legalNameUa': 'Тип продажу або оренди', 'path': {'/dictionaries/saleOrLeaseType.yaml'}}, 'schedulePeriods': {'legalNameEn': 'Periods for schedule', 'legalNameUa': 'Періоди для графіку', 'path': {'/dictionaries/schedulePeriods.yaml'}}, 'smallPrivatizationCancellationReason': {'legalNameEn': 'Procedure cancellation reasons (smallPrivatization)', 'legalNameUa': 'Причини скасування аукціону (smallPrivatization)', 'path': {'/dictionaries/smallPrivatizationCancellationReason.yaml'}}, 'smallPrivatizationItemType': {'legalNameEn': 'Non Performing Loans item type', 'legalNameUa': 'Тип активу', 'path': {'/dictionaries/smallPrivatizationItemType.yaml'}}, 'smallPrivatizationProcedureStatusInAnnouncement': {'legalNameEn': 'Procedure status in announcement', 'legalNameUa': 'Статус процедури в оголошенні', 'path': {'/dictionaries/smallPrivatizationProcedureStatusInAnnouncement.yaml'}}, 'smallPrivatizationTerminationReason': {'legalNameEn': 'Termination reason', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику', 'path': {'/dictionaries/smallPrivatizationTerminationReason.yaml'}}, 'statusInList': {'legalNameEn': 'Object status in list', 'legalNameUa': 'Статус об`єкта в переліку', 'path': {'/dictionaries/statusInList.yaml'}}, 'subsoilCancellationReasons': {'legalNameEn': 'Procedure cancellation reasons (subsoil)', 'legalNameUa': 'Причини скасування аукціону (subsoil)', 'path': {'/dictionaries/subsoilCancellationReasons.yaml'}}, 'subsoilTerminationReason': {'legalNameEn': 'Termination reasons (subsoil)', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику (subsoil)', 'path': {'/dictionaries/subsoilTerminationReason.yaml'}}, 'subsoilUsageType': {'legalNameUa': 'Вид користування надрами', 'path': {'/dictionaries/subsoilUsageType.yaml'}}, 'timberClass': {'legalNameEn': 'Class', 'legalNameUa': 'Клас', 'path': {'/dictionaries/timberClass.yaml'}}, 'timberDiameter': {'legalNameEn': 'Diameter', 'legalNameUa': 'Діаметр', 'path': {'/dictionaries/timberDiameter.yaml'}}, 'timberSortment': {'legalNameEn': 'Sortment', 'legalNameUa': 'Сортимент', 'path': {'/dictionaries/timberSortment.yaml'}}, 'timberSpecies': {'legalNameEn': 'Species', 'legalNameUa': 'Породи', 'path': {'/dictionaries/timberSpecies.yaml'}}, 'timberStorage': {'legalNameEn': 'Timber storage', 'legalNameUa': 'Склад деревини', 'path': {'/dictionaries/timberStorage.yaml'}}, 'timberTerminationReason': {'legalNameEn': 'Termination reasons (timber)', 'legalNameUa': 'Причини дискваліфікації/відмови учаснику (timber)', 'path': {'/dictionaries/timberTerminationReason.yaml'}}, 'transferredFrom': {'legalNameEn': 'The right is transferred from', 'legalNameUa': 'Право передано від', 'path': {'/dictionaries/transferredFrom.yaml'}}, 'transmissionType': {'legalNameEn': 'Transmission type', 'legalNameUa': 'Тип трансмісії', 'path': {'/dictionaries/transmissionType.yaml'}}, 'valuePeriod': {'legalNameEn': 'Value period', 'legalNameUa': 'Період розрахунку стартової вартості', 'path': {'/dictionaries/valuePeriod.yaml'}}, 'verification3': {'legalNameEn': 'Verification type', 'legalNameUa': 'Тип верифікації', 'path': {'/dictionaries/verification3.yaml'}}, 'wagonSpecies': {'legalNameUa': 'Код роду вагонів', 'path': {'/dictionaries/wagonSpecies.yaml'}}}, 'mappings': {'cavToDm': {'legalNameEn': 'CAV to DM values mapping', 'legalNameUa': 'Відповідність значень CAV до DM', 'path': {'/mappings/CAV_dm.yaml'}}, 'itemPropsClassificationBasicSell': {'legalNameEn': 'Item properties by classification for basicSell', 'legalNameUa': 'Тип характеристик в залежності від значення класифікатора для basicSell', 'path': {'/mappings/bs_item_props.yaml'}}, 'katottgToKoatuu': {'legalNameEn': 'katottg to koatuu values mapping', 'legalNameUa': 'Відповідність значень katottg до koatuu', 'path': {'/mappings/katottg_koatuu.yaml'}}, 'koatuuToKatottg': {'legalNameEn': 'koatuu to katottg values mapping', 'legalNameUa': 'Відповідність значень koatuu до katottg', 'path': {'/mappings/koatuu_katottg.yaml'}}}}
RESPONSE_WRAPPER = {}
__getattr__(name)[source]

Get mapping class if type is correct.

Parameters

name (str) – Type of mappings (dictionaries/classifiers/mappings/constants)

Raises

SchemeNotFound – If mapping type is undefined.

__getitem__(key)[source]
__init__()[source]
__slots__ = ()
add_response_wrapper(response_wrapper)[source]

Add response wrapper

Parameters
  • response_wrapper (dict) – Dictionary with description of response wrapper,

  • response (where key is object type and value is callback for sending required type of) –

classifiers = <prozorro_sale.dictionaries_and_classifiers.dictionaries.ObjectMapping object>
constants = <prozorro_sale.dictionaries_and_classifiers.dictionaries.ObjectMapping object>
dictionaries = <prozorro_sale.dictionaries_and_classifiers.dictionaries.ObjectMapping object>
async load(*args)[source]

Create list of tasks for updating schemes of dictionaries and classifiers. Return a future aggregating results from the given coroutines or futures.

async loader(path: pathlib.Path)[source]

Converts a YAML document to a Python object. Returns Python object.

mappings = <prozorro_sale.dictionaries_and_classifiers.dictionaries.ObjectMapping object>
async updater(mapping_type: str, scheme_type: str, paths: set)[source]

Create new directory with required path, load yaml file and dumps data to json. Create list of tasks for updating schemes of dictionaries and classifiers.

Parameters
  • mapping_type (str) – Type of mappings (dictionaries/classifiers/mappings/constants)

  • scheme_type (str) – Subtype of mappings (CAV/CVZU)

  • paths (set) – Set of paths to yaml file with data

class prozorro_sale.dictionaries_and_classifiers.dictionaries.SchemeMappingMeta(name, bases, dct)[source]

Bases: type

static __new__(cls, name, bases, dct)[source]
prozorro_sale.dictionaries_and_classifiers.dictionaries.setup_scheme_mapping(app: aiohttp.web_app.Application, response_wrapper: dict) None[source]

Setup all dictionaries and classifiers schemes.

Parameters
  • app (object) – aiohttp.web.Application instance.

  • response_wrapper (dict) – dictionary of available wrappers for response (data/file)