collect output statistics
This commit is contained in:
		@ -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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								otc_metadata/analytics/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								otc_metadata/analytics/__init__.py
									
									
									
									
									
										Normal file
									
								
							@ -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.
 | 
			
		||||
							
								
								
									
										47
									
								
								otc_metadata/analytics/data.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								otc_metadata/analytics/data.py
									
									
									
									
									
										Normal file
									
								
							@ -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.")
 | 
			
		||||
@ -150,7 +150,7 @@ def save_to_file(data, environment, cloud_environment):
 | 
			
		||||
    """
 | 
			
		||||
    Saves data in the folder ./analytics/<environment>/<cloud_environment>.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")
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user