From e630dfcd20814dc48c6d3630a2fdd46d73a52aae Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Thu, 25 Aug 2022 09:42:45 +0200 Subject: [PATCH] sort service docs items --- otc_metadata/data/services.yaml | 228 ++++++++++++++++---------------- otc_metadata/services.py | 26 +++- 2 files changed, 133 insertions(+), 121 deletions(-) diff --git a/otc_metadata/data/services.yaml b/otc_metadata/data/services.yaml index 9ee4bdc1..0a6446e8 100644 --- a/otc_metadata/data/services.yaml +++ b/otc_metadata/data/services.yaml @@ -1,66 +1,66 @@ documents: - html_location: docs/antiddos/api-ref + link: /api-ref/anti-ddos/ pdf_name: antiddos-api-ref rst_location: api-ref/source service_type: antiddos title: API Reference - link: /api-ref/anti-ddos/ type: api-ref - html_location: docs/antiddos/umn + link: /umn/anti-ddos/ pdf_name: antiddos-umn rst_location: umn/source service_type: antiddos title: User Guide - link: /umn/anti-ddos/ type: umn - html_location: docs/aom/api-ref + link: /api-ref/application-operations-management/ pdf_name: aom-api-ref rst_location: api-ref/source service_type: aom title: API Reference - link: /api-ref/application-operations-management/ type: api-ref - html_location: docs/aom/umn + link: /umn/application-operations-management/ pdf_name: aom-umn rst_location: umn/source service_type: aom title: User Guide - link: /umn/application-operations-management/ type: umn - html_location: docs/as/api-ref + link: /api-ref/auto-scaling/ pdf_name: as-api-ref rst_location: api-ref/source service_type: as title: API Reference - link: /api-ref/auto-scaling/ type: api-ref - html_location: docs/as/dev + link: /dev/auto-scaling/ pdf_name: as-dev-guide rst_location: dev_guide/source service_type: as title: Developer Guide - link: /dev/auto-scaling/ type: dev - html_location: docs/as/umn + link: /umn/auto-scaling/ pdf_name: as-umn rst_location: umn/source service_type: as title: User Guide - link: /umn/auto-scaling/ type: umn - html_location: docs/bms/api-ref + link: /api-ref/bare-metal-server/ pdf_name: bms-api-ref rst_location: api-ref/source service_type: bms title: API Reference - link: /api-ref/bare-metal-server/ type: api-ref - html_location: docs/bms/dev + link: /dev/bare-metal-server/ pdf_name: bms-dev-guide rst_location: dev_guide/source service_type: bms title: Developer Guide - link: /dev/bare-metal-server/ type: dev - html_location: docs/bms/image-creation-guide pdf_name: bms-image-creation-guide @@ -68,235 +68,235 @@ documents: service_type: bms title: Private Image Creation Guide - html_location: docs/bms/umn + link: /umn/bare-metal-server/ pdf_name: bms-umn rst_location: umn/source service_type: bms title: User Guide - link: /umn/bare-metal-server/ type: umn - html_location: docs/cbr/api-ref + link: /api-ref/cloud-backup-recovery/ pdf_name: cbr-api-ref rst_location: api-ref/source service_type: cbr title: API Reference - link: /api-ref/cloud-backup-recovery/ type: api-ref - html_location: docs/cbr/umn + link: /umn/cloud-backup-recovery/ pdf_name: cbr-umn rst_location: umn/source service_type: cbr title: User Guide - link: /umn/cloud-backup-recovery/ type: umn - html_location: docs/cce/api-ref + link: /api-ref/cloud-container-service/ pdf_name: cce-api-ref rst_location: api-ref/source service_type: cce title: API Reference - link: /api-ref/cloud-container-service/ type: api-ref - html_location: docs/cce/umn + link: /umn/cloud-container-service/ pdf_name: cce-umn rst_location: umn/source service_type: cce title: User Guide - link: /umn/cloud-container-service/ type: umn - html_location: docs/cdn/umn + link: /umn/content-delivery-network/ pdf_name: cdn-umn rst_location: umn/source service_type: cdn title: User Guide - link: /umn/content-delivery-network/ type: umn - html_location: docs/ces/api-ref + link: /api-ref/cloud-eye/ pdf_name: ces-api-ref rst_location: api-ref/source service_type: ces title: API Reference - link: /api-ref/cloud-eye/ type: api-ref - html_location: docs/ces/umn + link: /umn/cloud-eye/ pdf_name: ces-umn rst_location: umn/source service_type: ces title: User Guide - link: /umn/cloud-eye/ type: umn - html_location: docs/csbs/api-ref + link: /api-ref/cloud-server-backup-service/ pdf_name: csbs-api-ref rst_location: api-ref/source service_type: csbs title: API Reference - link: /api-ref/cloud-server-backup-service/ type: api-ref - html_location: docs/csbs/umn + link: /umn/cloud-server-backup-service/ pdf_name: csbs-umn rst_location: umn/source service_type: csbs title: User Guide - link: /umn/cloud-server-backup-service/ type: umn - html_location: docs/css/api-ref + link: /api-ref/cloud-search-service/ pdf_name: css-api-ref rst_location: api-ref/source service_type: css title: API Reference - link: /api-ref/cloud-search-service/ type: api-ref - html_location: docs/css/umn + link: /umn/cloud-search-service/ pdf_name: css-umn rst_location: umn/source service_type: css title: User Guide - link: /umn/cloud-search-service/ type: umn - html_location: docs/cts/api-ref + link: /api-ref/cloud-trace-service/ pdf_name: cts-api-ref rst_location: api-ref/source service_type: cts title: API Reference - link: /api-ref/cloud-trace-service/ type: api-ref - html_location: docs/cts/umn + link: /umn/cloud-trace-service/ pdf_name: cts-umn rst_location: umn/source service_type: cts title: User Guide - link: /umn/cloud-trace-service/ type: umn - html_location: docs/das/umn + link: /umn/data-admin-service/ pdf_name: das-umn rst_location: umn/source service_type: das title: User Guide - link: /umn/data-admin-service/ type: umn - html_location: docs/dc/api-ref + link: /api-ref/direct-connect/ pdf_name: dc-api-ref rst_location: api-ref/source service_type: dc title: API Reference - link: /api-ref/direct-connect/ type: api-ref - html_location: docs/dc/umn + link: /umn/direct-connect/ pdf_name: dc-umn rst_location: umn/source service_type: dc title: User Guide - link: /umn/direct-connect/ type: umn - html_location: docs/dcs/api-ref + link: /api-ref/distributed-cache-service/ pdf_name: dcs-api-ref rst_location: api-ref/source service_type: dcs title: API Reference - link: /api-ref/distributed-cache-service/ type: api-ref - html_location: docs/dcs/umn + link: /umn/distributed-cache-service/ pdf_name: dcs-umn rst_location: umn/source service_type: dcs title: User Guide - link: /umn/distributed-cache-service/ type: umn - html_location: docs/dds/api-ref + link: /api-ref/document-database-service/ pdf_name: dds-api-ref rst_location: api-ref/source service_type: dds title: API Reference - link: /api-ref/document-database-service/ type: api-ref - html_location: docs/dds/umn + link: /umn/document-database-service/ pdf_name: dds-umn rst_location: umn/source service_type: dds title: User Guide - link: /umn/document-database-service/ type: umn - html_location: docs/deh/api-ref + link: /api-ref/dedicated-host/ pdf_name: deh-api-ref rst_location: api-ref/source service_type: deh title: API Reference - link: /api-ref/dedicated-host/ type: api-ref - html_location: docs/deh/umn + link: /umn/dedicated-host/ pdf_name: deh-umn rst_location: umn/source service_type: deh title: User Guide - link: /umn/dedicated-host/ type: umn - html_location: docs/dis/api-ref + link: /api-ref/data-ingestion-service/ pdf_name: dis-api-ref rst_location: api-ref/source service_type: dis title: API Reference - link: /api-ref/data-ingestion-service/ type: api-ref - html_location: docs/dis/umn + link: /umn/data-ingestion-service/ pdf_name: dis-umn rst_location: umn/source service_type: dis title: User Guide - link: /umn/data-ingestion-service/ type: umn - html_location: docs/dms/api-ref + link: /api-ref/distributed-message-service/ pdf_name: dms-api-ref rst_location: api-ref/source service_type: dms title: API Reference - link: /api-ref/distributed-message-service/ type: api-ref - html_location: docs/dms/dev + link: /dev/distributed-message-service/ pdf_name: dms-dev-guide rst_location: dev_guide/source service_type: dms title: Developer Guide - link: /dev/distributed-message-service/ type: dev - html_location: docs/dms/umn + link: /umn/distributed-message-service/ pdf_name: dms-umn rst_location: umn/source service_type: dms title: User Guide - link: /umn/distributed-message-service/ type: umn - html_location: docs/dns/api-ref + link: /api-ref/domain-name-service/ pdf_name: dns-api-ref rst_location: api-ref/source service_type: dns title: API Reference - link: /api-ref/domain-name-service/ type: api-ref - html_location: docs/dns/umn + link: /umn/domain-name-service/ pdf_name: dns-umn rst_location: umn/source service_type: dns title: User Guide - link: /umn/domain-name-service/ type: umn - html_location: docs/drs/umn + link: /umn/data-replication-service/ pdf_name: drs-umn rst_location: umn/source service_type: drs title: User Guide - link: /umn/data-replication-service/ type: umn - html_location: docs/dws/api-ref + link: /api-ref/data-warehouse-service/ pdf_name: dws-api-ref rst_location: api-ref/source service_type: dws title: API Reference - link: /api-ref/data-warehouse-service/ type: api-ref - html_location: docs/dws/dev + link: /dev/data-warehouse-service/ pdf_name: dws-dev-guide rst_location: dev_guide/source service_type: dws title: Developer Guide - link: /dev/data-warehouse-service/ type: dev - html_location: docs/dws/tool pdf_name: dws-tool-guide @@ -304,38 +304,38 @@ documents: service_type: dws title: Tool Guide - html_location: docs/dws/umn + link: /umn/data-warehouse-service/ pdf_name: dws-umn rst_location: umn/source service_type: dws title: User Guide - link: /umn/data-warehouse-service/ type: umn - html_location: docs/ecs/api-ref + link: /api-ref/elastic-cloud-server/ pdf_name: ecs-api-ref rst_location: api-ref/source service_type: ecs title: API Reference - link: /api-ref/elastic-cloud-server/ type: api-ref - html_location: docs/ecs/dev + link: /dev/elastic-cloud-server/ pdf_name: ecs-dev-guide rst_location: dev_guide/source service_type: ecs title: Developer Guide - link: /dev/elastic-cloud-server/ type: dev - - rst_location: docs/ecs/hld + - environment: internal + link: /not_present/elastic-cloud-server/ + rst_location: docs/ecs/hld service_type: ecs title: HLD - link: /not_present/elastic-cloud-server/ type: hld - environment: internal - html_location: docs/ecs/umn + link: /umn/elastic-cloud-server/ pdf_name: ecs-umn rst_location: umn/source service_type: ecs title: User Guide - link: /umn/elastic-cloud-server/ type: umn - html_location: docs/ed/umn pdf_name: edb-umn @@ -343,102 +343,102 @@ documents: service_type: edb title: User Guide - html_location: docs/eip/api-ref + link: /api-ref/elastic-ip/ pdf_name: eip-api-ref rst_location: api-ref/source service_type: eip title: API Reference - link: /api-ref/elastic-ip/ type: api-ref - html_location: docs/eip/umn + link: /umn/elastic-ip/ pdf_name: eip-umn rst_location: umn/source service_type: eip title: User Guide - link: /umn/elastic-ip/ type: umn - html_location: docs/elb/api-ref + link: /api-ref/elastic-load-balancing/ pdf_name: elb-api-ref rst_location: api-ref/source - title: API Reference service_type: elb - link: /api-ref/elastic-load-balancing/ + title: API Reference type: api-ref - html_location: docs/elb/umn + link: /umn/elastic-load-balancing/ pdf_name: elb-umn rst_location: umn/source service_type: elb title: User Guide - link: /umn/elastic-load-balancing/ type: umn - html_location: docs/evs/api-ref + link: /api-ref/elastic-volume-service/ pdf_name: evs-api-ref rst_location: api-ref/source service_type: evs title: API Reference - link: /api-ref/elastic-volume-service/ type: api-ref - html_location: docs/evs/dev + link: /dev/elastic-volume-service/ pdf_name: evs-dev-guide rst_location: dev_guide/source service_type: evs title: Developer Guide - link: /dev/elastic-volume-service/ type: dev - html_location: docs/evs/umn + link: /umn/elastic-volume-service/ pdf_name: evs-umn rst_location: umn/source service_type: evs title: User Guide - link: /umn/elastic-volume-service/ type: umn - html_location: docs/gaussdb_mysql/api-ref + link: /api-ref/gaussdb-mysql/ pdf_name: gaussdb_mysql-api-ref rst_location: api-ref/source service_type: gaussdb_mysql title: API Reference - link: /api-ref/gaussdb-mysql/ type: api-ref - html_location: docs/gaussdb_mysql/umn + link: /umn/gaussdb-mysql/ pdf_name: gaussdb_mysql-umn rst_location: umn/source service_type: gaussdb_mysql title: User Guide - link: /umn/gaussdb-mysql/ type: umn - html_location: docs/gaussdb_nosql/umn + link: /umn/gaussdb-nosql/ pdf_name: gauss_nosql rst_location: umn/source service_type: gaussdb_nosql title: User Guide - link: /umn/gaussdb-nosql/ type: umn - html_location: docs/iam/api-ref + link: /api-ref/identity-access-management/ pdf_name: iam-api-ref rst_location: api-ref/source service_type: iam title: API Reference - link: /api-ref/identity-access-management/ type: api-ref - html_location: docs/iam/umn + link: /umn/identity-access-management/ pdf_name: iam-umn rst_location: umn/source service_type: iam title: User Guide - link: /umn/identity-access-management/ type: umn - html_location: docs/ims/api-ref + link: /api-ref/image-management-service/ pdf_name: ims-api-ref rst_location: api-ref/source service_type: ims title: API Reference - link: /api-ref/image-management-service/ type: api-ref - html_location: docs/ims/dev + link: /dev/image-management-service/ pdf_name: ims-dev-guide rst_location: dev_guide/source service_type: ims title: Developer Guide - link: /dev/image-management-service/ type: dev - html_location: docs/ims/public-images pdf_name: ims-public-images @@ -446,60 +446,60 @@ documents: service_type: ims title: Public Image Introduction - html_location: docs/ims/umn + link: /umn/image-management-service/ pdf_name: ims-umn rst_location: umn/source service_type: ims title: User Guide - link: /umn/image-management-service/ type: umn - html_location: docs/kms/api-ref + link: /api-ref/key-management-service/ pdf_name: kms-api-ref rst_location: api-ref/source service_type: kms title: API Reference - link: /api-ref/key-management-service/ type: api-ref - html_location: docs/kms/umn + link: /umn/key-management-service/ pdf_name: kms-umn rst_location: umn/source service_type: kms title: User Guide - link: /umn/key-management-service/ type: umn - html_location: docs/lts/api-ref + link: /api-ref/log-tank-service/ pdf_name: lts-api-ref rst_location: api-ref/source service_type: lts title: API Reference - link: /api-ref/log-tank-service/ type: api-ref - html_location: docs/lts/umn + link: /umn/log-tank-service/ pdf_name: lts-umn rst_location: umn/source service_type: lts title: User Guide - link: /umn/log-tank-service/ type: umn - html_location: docs/modelarts/api-ref + link: /api-ref/modelarts/ pdf_name: ma-api-ref rst_location: api-ref/source service_type: ma title: API Reference - link: /api-ref/modelarts/ type: api-ref - html_location: docs/modelarts/umn + link: /umn/modelarts/ pdf_name: ma-umn rst_location: umn/source service_type: ma title: User Guide - link: /umn/modelarts/ type: umn - html_location: docs/mrs/api-ref + link: /api-ref/mapreduce-service/ pdf_name: mrs-api-ref rst_location: api-ref/source service_type: mrs title: API Reference - link: /api-ref/mapreduce-service/ type: api-ref - html_location: docs/mrs/component-operation-guide pdf_name: mrs-component-operation-guide @@ -507,39 +507,39 @@ documents: service_type: mrs title: Component Operation Guide - html_location: docs/mrs/umn + link: /umn/mapreduce-service/ pdf_name: mrs-umn rst_location: umn/source service_type: mrs title: User Guide - link: /umn/mapreduce-service/ type: umn - html_location: docs/natgw/api-ref + link: /api-ref/nat-gateway/ pdf_name: natgw-api-ref rst_location: api-ref/source service_type: natgw title: API Reference - link: /api-ref/nat-gateway/ type: api-ref - html_location: docs/natgw/umn + link: /umn/nat-gateway/ pdf_name: natgw-umn rst_location: umn/source service_type: natgw title: User Guide - link: /umn/nat-gateway/ type: umn - html_location: docs/obs/api-ref + link: /api-ref/object-storage-service/ pdf_name: obs-api-ref rst_location: api-ref/source service_type: obs title: API Reference - link: /api-ref/object-storage-service/ type: api-ref - html_location: docs/obs/dev + link: /dev/object-storage-service/ pdf_name: obs-dev-guide rst_location: dev_guide/source - title: Developer Guide service_type: obs - link: /dev/object-storage-service/ + title: Developer Guide type: dev - html_location: docs/obs/s3api pdf_name: obs-s3api @@ -553,95 +553,95 @@ documents: service_type: obs title: Third-Party Client (s3cmd) - html_location: docs/obs/umn + link: /umn/object-storage-service/ pdf_name: obs-umn rst_location: umn/source service_type: obs title: User Guide - link: /umn/object-storage-service/ type: umn - html_location: docs/opengauss/api-ref + link: /api-ref/gaussdb-opengauss/ pdf_name: opengauss-api-ref rst_location: api-ref/source service_type: opengauss title: API Reference - link: /api-ref/gaussdb-opengauss/ type: api-ref - html_location: docs/opengauss/umn + link: /umn/gaussdb-opengauss/ pdf_name: opengauss-umn rst_location: umn/source service_type: opengauss title: User Guide - link: /umn/gaussdb-opengauss/ type: umn - html_location: docs/plas/api-ref + link: /api-ref/private-link-access-service/ pdf_name: plas-api-ref rst_location: api-ref/source service_type: plas title: API Reference - link: /api-ref/private-link-access-service/ type: api-ref - html_location: docs/plas/umn + link: /umn/private-link-access-service/ pdf_name: plas-umn rst_location: umn/source service_type: plas title: User Guide - link: /umn/private-link-access-service/ type: umn - html_location: docs/rds/api-ref + link: /api-ref/relational-database-service/ pdf_name: rds-api-ref rst_location: api-ref/source service_type: rds title: API Reference - link: /api-ref/relational-database-service/ type: api-ref - html_location: docs/rds/umn + link: /umn/relational-database-service/ pdf_name: rds-umn rst_location: umn/source service_type: rds title: User Guide - link: /umn/relational-database-service/ type: umn - html_location: docs/rts/api-ref + link: /api-ref/resource-template-service/ pdf_name: rts-api-ref rst_location: api-ref/source service_type: rts title: API Reference - link: /api-ref/resource-template-service/ type: api-ref - html_location: docs/rts/umn + link: /umn/resource-template-service/ pdf_name: rts-umn rst_location: umn/source service_type: rts title: User Guide - link: /umn/resource-template-service/ type: umn - html_location: docs/sd/umn + link: /umn/status-dashboard/ pdf_name: sd-umn rst_location: umn/source service_type: sd title: User Guide - link: /umn/status-dashboard/ type: umn - html_location: docs/sdrs/api-ref + link: /api-ref/storage-disaster-recovery-service/ pdf_name: sdrs-api-ref rst_location: api-ref/source service_type: sdrs title: API Reference - link: /api-ref/storage-disaster-recovery-service/ type: api-ref - html_location: docs/sdrs/umn + link: /umn/storage-disaster-recovery-service/ pdf_name: sdrs-umn rst_location: umn/source service_type: sdrs title: User Guide - link: /umn/storage-disaster-recovery-service/ type: umn - html_location: docs/sfs/api-ref + link: /api-ref/scalable-file-system/ pdf_name: sfs-api-ref rst_location: api-ref/source service_type: sfs title: API Reference - link: /api-ref/scalable-file-system/ type: api-ref - html_location: docs/sfs/cli pdf_name: sfs-cli @@ -649,140 +649,140 @@ documents: service_type: sfs title: Manila Client Reference - html_location: docs/sfs/umn + link: /umn/scalable-file-system/ pdf_name: sfs-umn rst_location: umn/source service_type: sfs title: User Guide - link: /umn/scalable-file-system/ type: umn - html_location: docs/smn/api-ref + link: /api-ref/simple-message-notification/ pdf_name: smn-api-ref rst_location: api-ref/source service_type: smn title: API Reference - link: /api-ref/simple-message-notification/ type: api-ref - html_location: docs/smn/umn + link: /umn/simple-message-notification/ pdf_name: smn-umn rst_location: umn/source service_type: smn title: User Guide - link: /umn/simple-message-notification/ type: umn - html_location: docs/swr/api-ref + link: /api-ref/software-repository-container/ pdf_name: swr-api-ref rst_location: api-ref/source service_type: swr title: API Reference - link: /api-ref/software-repository-container/ type: api-ref - html_location: docs/swr/umn + link: /umn/software-repository-container/ pdf_name: swr-umn rst_location: umn/source service_type: swr title: User Guide - link: /umn/software-repository-container/ type: umn - html_location: docs/tms/api-ref + link: /api-ref/tag-management-service/ pdf_name: tms-api-ref rst_location: api-ref/source service_type: tms title: API Reference - link: /api-ref/tag-management-service/ type: api-ref - html_location: docs/tms/umn + link: /umn/tag-management-service/ pdf_name: tms-umn rst_location: umn/source service_type: tms title: User Guide - link: /umn/tag-management-service/ type: umn - html_location: docs/vbs/api-ref + link: /api-ref/volume-backup-service/ pdf_name: vbs-api-ref rst_location: api-ref/source service_type: vbs title: API Reference - link: /api-ref/volume-backup-service/ type: api-ref - html_location: docs/vbs/umn + link: /umn/volume-backup-service/ pdf_name: vbs-umn rst_location: umn/source service_type: vbs title: User Guide - link: /umn/volume-backup-service/ type: umn - html_location: docs/vpc/api-ref + link: /api-ref/virtual-private-cloud/ pdf_name: vpc-api-ref rst_location: api-ref/source service_type: vpc title: API Reference - link: /api-ref/virtual-private-cloud/ type: api-ref - html_location: docs/vpc/umn + link: /umn/virtual-private-cloud/ pdf_name: vpc-umn rst_location: umn/source service_type: vpc title: User Guide - link: /umn/virtual-private-cloud/ type: umn - html_location: docs/vpcep/api-ref + link: /api-ref/vpc-endpoint/ pdf_name: vpcep-api-ref rst_location: api-ref/source service_type: vpcep title: API Reference - link: /api-ref/vpc-endpoint/ type: api-ref - html_location: docs/vpcep/umn + link: /umn/vpc-endpoint/ pdf_name: vpcep-umn rst_location: umn/source service_type: vpcep title: User Guide - link: /umn/vpc-endpoint/ type: umn - html_location: docs/vpn/api-ref + link: /api-ref/virtual-private-network/ pdf_name: vpn-api-ref rst_location: api-ref/source service_type: vpn title: API Reference - link: /api-ref/virtual-private-network/ type: api-ref - html_location: docs/vpn/umn + link: /umn/virtual-private-network/ pdf_name: vpn-umn rst_location: umn/source service_type: vpn title: User Guide - link: /umn/virtual-private-network/ type: umn - html_location: docs/waf/api-ref + link: /api-ref/web-application-firewall/ pdf_name: waf-api-ref rst_location: api-ref/source service_type: waf title: API Reference - link: /api-ref/web-application-firewall/ type: api-ref - html_location: docs/waf/umn + link: /umn/web-application-firewall/ pdf_name: waf-umn rst_location: umn/source service_type: waf title: User Guide - link: /umn/web-application-firewall/ type: umn - - html_location: docs/wafd/api-ref + - environment: internal + html_location: docs/wafd/api-ref + link: /api-ref/web-application-firewall-dedicated/ pdf_name: wafd-api-ref rst_location: api-ref/source service_type: wafd title: API Reference - link: /api-ref/web-application-firewall-dedicated/ type: api-ref - environment: internal - - html_location: docs/wafd/umn + - environment: internal + html_location: docs/wafd/umn + link: /umn/web-application-firewall-dedicated/ pdf_name: wafd-umn rst_location: umn/source service_type: wafd title: User Guide - link: /umn/web-application-firewall-dedicated/ type: umn - environment: internal service_categories: - name: application title: Application Services diff --git a/otc_metadata/services.py b/otc_metadata/services.py index aea06807..96a3d916 100644 --- a/otc_metadata/services.py +++ b/otc_metadata/services.py @@ -28,20 +28,27 @@ def _normalize_type(service_type): class Services(object): """Encapsulation of the OTC Services data + """ def __init__(self): self._service_data = BUILTIN_DATA def _sort_data(self): + # Sort every doc item by key + sorted_docs = [] + for doc in self._service_data['documents']: + sorted_docs.append(dict(sorted( + doc.items(), + key=lambda kv: kv[0] + ))) + + # sort docs list by _ self._service_data['documents'] = sorted( - self._service_data['documents'], - key=lambda x: f"{x.get('service_type')}{x.get('title')}" - ) - self._service_data['documents'] = sorted( - self._service_data['documents'], + sorted_docs, key=lambda x: f"{x.get('service_type')}{x.get('title')}" ) + # sort services by <service_type>_<service_title> self._service_data['services'] = sorted( self._service_data['services'], key=lambda x: f"{x.get('service_type')}{x.get('service_title')}" @@ -74,6 +81,7 @@ class Services(object): @property def service_categories(self): """List services categories + """ res = [] for cat in self._service_data["service_categories"]: @@ -82,6 +90,7 @@ class Services(object): def services_by_category(self, category): """List services matching category + """ res = [] for srv in self.all_services: @@ -154,6 +163,7 @@ class Services(object): def all_docs_full(self, environment): """Return list or documents with full service data + """ services = self.service_dict for doc in self.all_docs: @@ -177,7 +187,6 @@ class Services(object): """ doc_struct = dict() - services = self.service_dict for srv in self.all_services: doc_struct.setdefault(srv["service_category"], []) srv_res = dict( @@ -187,7 +196,10 @@ class Services(object): ) if "repositories" in srv and environment: for repo in srv["repositories"]: - if "environment" in repo and repo["environment"] == environment: + if ( + "environment" in repo + and repo["environment"] == environment + ): srv_res["repository"] = repo["repo"] for doc in self.all_docs: if (