diff --git a/packageship/.gitignore b/packageship/.gitignore index 04ed6add965a0e5e4c3397a2060bb6ce8e10c1ba..2027f52cd9ebda8e294616082ebbf3cec258f56a 100644 --- a/packageship/.gitignore +++ b/packageship/.gitignore @@ -1,2 +1,4 @@ .DS_Store -*/.DS_Store \ No newline at end of file +*/.DS_Store +*.pyc +*.vscode \ No newline at end of file diff --git a/packageship/packageship/application/apps/package/function/searchdb.py b/packageship/packageship/application/apps/package/function/searchdb.py index 4eaebe7a8eae0219bdeb33c8392f96df7ac1634f..18cbdc51bdccf3a5793283c0ae066d5d4c876a90 100644 --- a/packageship/packageship/application/apps/package/function/searchdb.py +++ b/packageship/packageship/application/apps/package/function/searchdb.py @@ -13,11 +13,12 @@ from packageship.libs.dbutils import DBHelper from packageship.libs.log import Log from packageship.application.models.package import bin_pack from packageship.libs.exception import ContentNoneException, Error -from packageship.system_config import DATABASE_SUCCESS_FILE +from packageship.system_config import DATABASE_FILE_INFO from .constants import ResponseCode LOGGER = Log(__name__) + class SearchDB(): """ Description: query in database @@ -57,7 +58,8 @@ class SearchDB(): binary_list.remove(None) search_set = set(binary_list) if not search_set: - LOGGER.logger.warning("The input is None, please check the input value.") + LOGGER.logger.warning( + "The input is None, please check the input value.") return result_list for db_name, data_base in self.db_object_dict.items(): try: @@ -130,12 +132,13 @@ class SearchDB(): return ResponseCode.DIS_CONNECTION_DB, None return ResponseCode.PACK_NAME_NOT_FOUND, None, None, None + def db_priority(): """ return dbprioty """ try: - with open(DATABASE_SUCCESS_FILE, 'r', encoding='utf-8') as file_context: + with open(DATABASE_FILE_INFO, 'r', encoding='utf-8') as file_context: init_database_date = yaml.load( file_context.read(), Loader=yaml.FullLoader) diff --git a/packageship/packageship/application/apps/package/view.py b/packageship/packageship/application/apps/package/view.py index 8f78f271f2673d6589fc37e7c715e71c0e0dc48e..10979e2e2f9c63db905efe29051cc9c54da2ae51 100644 --- a/packageship/packageship/application/apps/package/view.py +++ b/packageship/packageship/application/apps/package/view.py @@ -14,7 +14,7 @@ from packageship.libs.exception import Error from packageship.libs.exception import ContentNoneException from packageship.libs.exception import DataMergeException from packageship.libs.log import Log -from packageship.system_config import DATABASE_SUCCESS_FILE +from packageship.system_config import DATABASE_FILE_INFO from .function.constants import ResponseCode from .function.packages import get_packages from .function.packages import update_single_package @@ -34,6 +34,7 @@ from .serialize import have_err_db_name LOGGER = Log(__name__) #pylint: disable = no-self-use + class Packages(Resource): ''' Description: interface for package info management @@ -403,7 +404,7 @@ class Repodatas(Resource): changeLog: ''' try: - with open(DATABASE_SUCCESS_FILE, 'r', encoding='utf-8') as file_context: + with open(DATABASE_FILE_INFO, 'r', encoding='utf-8') as file_context: init_database_date = yaml.load( file_context.read(), Loader=yaml.FullLoader) if init_database_date is None: diff --git a/packageship/packageship/application/initsystem/data_import.py b/packageship/packageship/application/initsystem/data_import.py index eebd0969701d4be100530ab38a77ac38d757a760..e7dafde27c2e97a506efed9b1b1eaf5f8d58d5a7 100644 --- a/packageship/packageship/application/initsystem/data_import.py +++ b/packageship/packageship/application/initsystem/data_import.py @@ -20,7 +20,7 @@ from packageship.application.models.temporarydb import src_requires from packageship.application.models.temporarydb import bin_package from packageship.application.models.temporarydb import bin_requiresment from packageship.application.models.temporarydb import bin_provides -from packageship.system_config import DATABASE_SUCCESS_FILE +from packageship.system_config import DATABASE_FILE_INFO from packageship.system_config import DATABASE_FOLDER_PATH LOGGER = Log(__name__) @@ -74,7 +74,9 @@ class InitDataBase(): 'The content of the database initialization configuration file cannot be empty') if not isinstance(init_database_config, list): raise TypeError('wrong type of configuration file') - + for config_item in init_database_config: + if not isinstance(config_item, dict): + raise TypeError('wrong type of configuration file') return init_database_config def init_data(self): @@ -101,14 +103,14 @@ class InitDataBase(): 'maintenance.information').create_datum_database() for database in self.config_file_datas: - if not isinstance(database, dict): - continue if not database.get('dbname'): continue priority = database.get('priority') if not isinstance(priority, int) or priority < 0 or priority > 100: continue status = database.get('status') + if status not in ['enable', 'disable']: + continue # Initialization data self._init_data(database) @@ -496,9 +498,9 @@ class InitDataBase(): priority: priority ''' try: - if not os.path.exists(DATABASE_SUCCESS_FILE): - pathlib.Path(DATABASE_SUCCESS_FILE).touch() - with open(DATABASE_SUCCESS_FILE, 'a+', encoding='utf8') as file_context: + if not os.path.exists(DATABASE_FILE_INFO): + pathlib.Path(DATABASE_FILE_INFO).touch() + with open(DATABASE_FILE_INFO, 'a+', encoding='utf8') as file_context: setting_content = [] if 'database_content' in Kwargs.keys(): content = Kwargs.get('database_content') @@ -521,8 +523,8 @@ class InitDataBase(): modify record: ''' try: - if os.path.exists(DATABASE_SUCCESS_FILE): - os.remove(DATABASE_SUCCESS_FILE) + if os.path.exists(DATABASE_FILE_INFO): + os.remove(DATABASE_FILE_INFO) except (IOError, Error) as exception_msg: LOGGER.logger.error(exception_msg) return False @@ -542,14 +544,14 @@ class InitDataBase(): if del_result: try: - file_read = open(DATABASE_SUCCESS_FILE, 'r', encoding='utf-8') + file_read = open(DATABASE_FILE_INFO, 'r', encoding='utf-8') _databases = yaml.load( file_read.read(), Loader=yaml.FullLoader) for database in _databases: if database.get('database_name') == db_name: _databases.remove(database) # Delete the successfully imported database configuration node - with open(DATABASE_SUCCESS_FILE, 'w+', encoding='utf-8') as file_context: + with open(DATABASE_FILE_INFO, 'w+', encoding='utf-8') as file_context: yaml.safe_dump(_databases, file_context) except (IOError, Error) as del_config_error: LOGGER.logger.error(del_config_error) diff --git a/packageship/packageship/system_config.py b/packageship/packageship/system_config.py index 8db61286c71e54c52710cb058498052915af731e..e5a0d53d3a5322df3b0d30351a7bf3da3c19095e 100644 --- a/packageship/packageship/system_config.py +++ b/packageship/packageship/system_config.py @@ -19,11 +19,8 @@ SYS_CONFIG_PATH = os.path.join('/', 'etc', 'pkgship', 'package.ini') # data file after successful data import -# DATABASE_SUCCESS_FILE = os.path.join( -# BASE_PATH, 'application', 'initsystem', 'import_success_databse.yaml') - -DATABASE_SUCCESS_FILE = os.path.join( - '/', 'var', 'run', 'import_success_database.yaml') +DATABASE_FILE_INFO = os.path.join( + '/', 'var', 'run', 'database_file_info.yaml') # If the path of the imported database is not specified in the configuration file, the # configuration in the system is used by default