From e6c62e96553584b526eb1f54e3f8f7c7daea8f28 Mon Sep 17 00:00:00 2001 From: tischrei Date: Wed, 13 Aug 2025 11:54:33 +0000 Subject: [PATCH 1/3] collect output statistics --- otc_metadata/__init__.py | 1 + otc_metadata/analytics/__init__.py | 11 +++++ otc_metadata/analytics/data.py | 47 +++++++++++++++++++ .../analytics}/public/eu_de.json | 0 .../analytics}/public/swiss.json | 0 tools/collect_statistics.py | 2 +- 6 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 otc_metadata/analytics/__init__.py create mode 100644 otc_metadata/analytics/data.py rename {analytics => otc_metadata/analytics}/public/eu_de.json (100%) rename {analytics => otc_metadata/analytics}/public/swiss.json (100%) diff --git a/otc_metadata/__init__.py b/otc_metadata/__init__.py index 3b458c0..390e62f 100644 --- a/otc_metadata/__init__.py +++ b/otc_metadata/__init__.py @@ -14,6 +14,7 @@ __all__ = ["__version__", "Docs"] import pbr.version from otc_metadata.services import Services # flake8: noqa +from otc_metadata.analytics.data import AnalyticsData __version__ = pbr.version.VersionInfo("otc-metadata").version_string() _service_manager = None diff --git a/otc_metadata/analytics/__init__.py b/otc_metadata/analytics/__init__.py new file mode 100644 index 0000000..0680747 --- /dev/null +++ b/otc_metadata/analytics/__init__.py @@ -0,0 +1,11 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. diff --git a/otc_metadata/analytics/data.py b/otc_metadata/analytics/data.py new file mode 100644 index 0000000..131f6ff --- /dev/null +++ b/otc_metadata/analytics/data.py @@ -0,0 +1,47 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from pathlib import Path +import json + +analytics_path = Path("otc_metadata/analytics/public") + +cloud_environments = [ + 'eu_de', + 'swiss' +] +analytics_data = {k: [] for k in cloud_environments} + +# Open and read the json data files +for env in cloud_environments: + file_path = analytics_path.joinpath(f"{env}.json") + with open(file_path, 'r') as file: + analytics_data[env] = json.load(file) + + +class AnalyticsData(object): + """Encapsulate OTC Analystics data""" + + def __init__(self): + self._analytics_data = analytics_data + + def all_analytics_data(self): + """returns all analytics data""" + return self._analytics_data + + def analytics_data_by_cloud_environment(self, cloud_environment): + """returns all analytics data""" + if cloud_environment and cloud_environment in self._analytics_data: + return self._analytics_data[cloud_environment] + else: + raise ValueError(f"cloud_environment '{cloud_environment}' does not exist.") diff --git a/analytics/public/eu_de.json b/otc_metadata/analytics/public/eu_de.json similarity index 100% rename from analytics/public/eu_de.json rename to otc_metadata/analytics/public/eu_de.json diff --git a/analytics/public/swiss.json b/otc_metadata/analytics/public/swiss.json similarity index 100% rename from analytics/public/swiss.json rename to otc_metadata/analytics/public/swiss.json diff --git a/tools/collect_statistics.py b/tools/collect_statistics.py index 069003a..4b1405d 100755 --- a/tools/collect_statistics.py +++ b/tools/collect_statistics.py @@ -150,7 +150,7 @@ def save_to_file(data, environment, cloud_environment): """ Saves data in the folder ./analytics//.json """ - folder = os.path.join("analytics", environment) + folder = os.path.join("otc_metadata", "analytics", environment) os.makedirs(folder, exist_ok=True) filename = os.path.join(folder, f"{cloud_environment}.json") -- 2.34.1 From 40c62b4609337bb386f809632b81287b8f93f96c Mon Sep 17 00:00:00 2001 From: tischrei Date: Wed, 13 Aug 2025 11:59:11 +0000 Subject: [PATCH 2/3] fix pep8 --- otc_metadata/__init__.py | 1 - otc_metadata/analytics/__init__.py | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/otc_metadata/__init__.py b/otc_metadata/__init__.py index 390e62f..3b458c0 100644 --- a/otc_metadata/__init__.py +++ b/otc_metadata/__init__.py @@ -14,7 +14,6 @@ __all__ = ["__version__", "Docs"] import pbr.version from otc_metadata.services import Services # flake8: noqa -from otc_metadata.analytics.data import AnalyticsData __version__ = pbr.version.VersionInfo("otc-metadata").version_string() _service_manager = None diff --git a/otc_metadata/analytics/__init__.py b/otc_metadata/analytics/__init__.py index 0680747..e69de29 100644 --- a/otc_metadata/analytics/__init__.py +++ b/otc_metadata/analytics/__init__.py @@ -1,11 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -- 2.34.1 From 13e8b5be2fcf5688f5d7639a5d3047f102240a21 Mon Sep 17 00:00:00 2001 From: tischrei Date: Wed, 13 Aug 2025 12:02:46 +0000 Subject: [PATCH 3/3] fix uri --- .gitea/workflows/create-weekly-analytics-stats.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/create-weekly-analytics-stats.yaml b/.gitea/workflows/create-weekly-analytics-stats.yaml index c6f87bd..a797146 100644 --- a/.gitea/workflows/create-weekly-analytics-stats.yaml +++ b/.gitea/workflows/create-weekly-analytics-stats.yaml @@ -53,7 +53,7 @@ jobs: git config --global user.name "gitea-actions[bot]" git config --global user.email "actions@users.noreply.local" git checkout -B analytics-update - git add analytics/ + git add otc_metadata/analytics/ if git diff --cached --quiet; then echo "No changes to commit" else -- 2.34.1