mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-11-01 04:12:58 +08:00 
			
		
		
		
	 7e64f4088f
			
		
	
	7e64f4088f
	
	
	
		
			
			* add hub tool for fastdeploy * fix format * refactor code * remove EasyDict Co-authored-by: Jason <jiangjiajun@baidu.com>
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2022  PaddlePaddle Authors. All Rights Reserved.
 | |
| #
 | |
| # 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.
 | |
| 
 | |
| import hashlib
 | |
| import os
 | |
| import time
 | |
| import json
 | |
| import uuid
 | |
| import yaml
 | |
| 
 | |
| import fastdeploy.utils.hub_env as hubenv
 | |
| 
 | |
| 
 | |
| class HubConfig:
 | |
|     '''
 | |
|     FastDeploy model management configuration class.
 | |
|     '''
 | |
| 
 | |
|     def __init__(self):
 | |
|         self._initialize()
 | |
|         self.file = os.path.join(hubenv.CONF_HOME, 'config.yaml')
 | |
| 
 | |
|         if not os.path.exists(self.file):
 | |
|             self.flush()
 | |
|             return
 | |
| 
 | |
|         with open(self.file, 'r') as file:
 | |
|             try:
 | |
|                 cfg = yaml.load(file, Loader=yaml.FullLoader)
 | |
|                 self.data.update(cfg)
 | |
|             except:
 | |
|                 ...
 | |
| 
 | |
|     def _initialize(self):
 | |
|         # Set default configuration values.
 | |
|         self.data = {}
 | |
|         self.data['server'] = 'http://paddlepaddle.org.cn/paddlehub'
 | |
| 
 | |
|     def reset(self):
 | |
|         '''Reset configuration to default.'''
 | |
|         self._initialize()
 | |
|         self.flush()
 | |
| 
 | |
|     @property
 | |
|     def server(self):
 | |
|         '''Model server url.'''
 | |
|         return self.data['server']
 | |
| 
 | |
|     @server.setter
 | |
|     def server(self, url: str):
 | |
|         self.data['server'] = url
 | |
|         self.flush()
 | |
| 
 | |
|     def flush(self):
 | |
|         '''Flush the current configuration into the configuration file.'''
 | |
|         with open(self.file, 'w') as file:
 | |
|             cfg = json.loads(json.dumps(self.data))
 | |
|             yaml.dump(cfg, file)
 | |
| 
 | |
|     def __str__(self):
 | |
|         cfg = json.loads(json.dumps(self.data))
 | |
|         return yaml.dump(cfg)
 | |
| 
 | |
| 
 | |
| config = HubConfig()
 |