From dd80e031dc16f7c449d3d2b1cf0685dc4497352f Mon Sep 17 00:00:00 2001 From: legendnightt Date: Tue, 28 Dec 2021 23:59:52 +0100 Subject: [PATCH 1/8] added poi stuff --- README.md | 6 +++--- region_file_updater/__init__.py | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1277f90..77bbeb0 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ You can modify the config `dimension_region_folder` to make entities sync during "source_world_directory": "./qb_multi/slot1/world", "destination_world_directory": "./server/world", "dimension_region_folder": { - "-1": ["DIM-1/region", "DIM-1/entities"], - "0": ["region", "entities"], - "1": ["DIM1/region", "DIM1/entities"] + "-1": ["DIM-1/region", "DIM-1/poi", "DIM-1/entities"], + "0": ["region", "poi", "entities"], + "1": ["DIM1/region", "DIM1/poi", "DIM1/entities"] } } ``` diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index af640f4..ab6ac04 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -13,9 +13,9 @@ class Config(Serializable): source_world_directory: str = './qb_multi/slot1/world' destination_world_directory: str = './server/world' dimension_region_folder: Dict[str, Union[str, List[str]]] = { - '-1': 'DIM-1/region', - '0': 'region', - '1': 'DIM1/region' + '-1': ['DIM-1/region', 'DIM-1/poi'], + '0': ['region', 'poi'], + '1': ['DIM1/region', 'DIM1/poi'] } @@ -164,6 +164,9 @@ def region_update(source: CommandSource): except Exception as e: msg = '失败,错误信息:{}'.format(str(e)) flag = False + if str(e)[10:35] == 'No such file or directory' and region_file.split('\\')[0] == 'poi' and os.path.exists(destination): + os.remove(destination) + source.get_server().logger.info('poi 删除成功: {}'.format(destination)) else: msg = '成功' flag = True From 053d491e03f3588093afa7eb3a708c24372909c2 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 00:09:37 +0100 Subject: [PATCH 2/8] removed print_log def --- region_file_updater/__init__.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index ab6ac04..7c25a6b 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -77,12 +77,6 @@ def __repr__(self): return 'Region[x={}, z={}, dim={}]'.format(self.x, self.z, self.dim) -def print_log(server: ServerInterface, msg: str): - server.logger.info(msg) - with open(LogFilePath, 'a') as logfile: - logfile.write(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + ': ' + msg + '\n') - - def add_region(source: CommandSource, region: Region): if region in regionList: source.reply('列表中已存在该区域文件') @@ -152,7 +146,7 @@ def region_update(source: CommandSource): source.get_server().stop() source.get_server().wait_for_start() - print_log(source.get_server(), '{} 更新了 {} 个区域文件:'.format(source, len(regionList))) + source.get_server().logger.info('{} 更新了 {} 个区域文件:'.format(source, len(regionList))) historyList.clear() for region in regionList: for region_file in region.to_file_list(): @@ -171,7 +165,7 @@ def region_update(source: CommandSource): msg = '成功' flag = True historyList.append((region, flag)) - print_log(source.get_server(), ' {}: {}'.format(region, msg)) + source.get_server().logger.info(' {}: {}'.format(region, msg)) regionList.clear() time.sleep(1) From 1537b020b1e335709eaaaa4cfb41d83f7c1aa0dd Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 00:26:02 +0100 Subject: [PATCH 3/8] v1.5.2 --- mcdreforged.plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcdreforged.plugin.json b/mcdreforged.plugin.json index 8ac8a36..eb26675 100644 --- a/mcdreforged.plugin.json +++ b/mcdreforged.plugin.json @@ -1,6 +1,6 @@ { "id": "region_file_updater", - "version": "1.5.1", + "version": "1.5.2", "name": "Region file Updater", "description": { "en_us": "A MCDR plugin to help you update region files in game", From ae627afa00a27ce7f43a8818094c06ca29b2812a Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 12:12:38 +0100 Subject: [PATCH 4/8] no version bump --- mcdreforged.plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcdreforged.plugin.json b/mcdreforged.plugin.json index eb26675..8ac8a36 100644 --- a/mcdreforged.plugin.json +++ b/mcdreforged.plugin.json @@ -1,6 +1,6 @@ { "id": "region_file_updater", - "version": "1.5.2", + "version": "1.5.1", "name": "Region file Updater", "description": { "en_us": "A MCDR plugin to help you update region files in game", From 851804c962b4ac6e096c2a2bea84825155d043eb Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 12:53:30 +0100 Subject: [PATCH 5/8] revert `removed print_log def` & added try-except --- region_file_updater/__init__.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index 7c25a6b..6c28edf 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -77,6 +77,15 @@ def __repr__(self): return 'Region[x={}, z={}, dim={}]'.format(self.x, self.z, self.dim) +def print_log(server: ServerInterface, msg: str): + server.logger.info(msg) + with open(LogFilePath, 'a') as logfile: + try: + logfile.write(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + ': ' + msg + '\n') + except Exception as e: + server.logger.info('错误写入日志文件: {}'.format(e)) + + def add_region(source: CommandSource, region: Region): if region in regionList: source.reply('列表中已存在该区域文件') @@ -145,8 +154,8 @@ def region_update(source: CommandSource): source.get_server().stop() source.get_server().wait_for_start() - - source.get_server().logger.info('{} 更新了 {} 个区域文件:'.format(source, len(regionList))) + + print_log(source.get_server(), '{} 更新了 {} 个区域文件:'.format(source, len(regionList))) historyList.clear() for region in regionList: for region_file in region.to_file_list(): @@ -165,7 +174,7 @@ def region_update(source: CommandSource): msg = '成功' flag = True historyList.append((region, flag)) - source.get_server().logger.info(' {}: {}'.format(region, msg)) + print_log(source.get_server(), ' {}: {}'.format(region, msg)) regionList.clear() time.sleep(1) From 5e752424de781c7adb882d394792ec247159c53f Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 12:57:09 +0100 Subject: [PATCH 6/8] fixed minor tab --- region_file_updater/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index 6c28edf..55f8c81 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -154,7 +154,7 @@ def region_update(source: CommandSource): source.get_server().stop() source.get_server().wait_for_start() - + print_log(source.get_server(), '{} 更新了 {} 个区域文件:'.format(source, len(regionList))) historyList.clear() for region in regionList: From e49fbe87e5074c7771d4c8fe806d5453f7256a41 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 13:15:07 +0100 Subject: [PATCH 7/8] better try-except --- region_file_updater/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index 55f8c81..a8fba4d 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -79,11 +79,11 @@ def __repr__(self): def print_log(server: ServerInterface, msg: str): server.logger.info(msg) - with open(LogFilePath, 'a') as logfile: - try: + try: + with open(LogFilePath, 'a') as logfile: logfile.write(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + ': ' + msg + '\n') - except Exception as e: - server.logger.info('错误写入日志文件: {}'.format(e)) + except Exception as e: + server.logger.info('错误写入日志文件: {}'.format(e)) def add_region(source: CommandSource, region: Region): From e556673666534d0d6f3aba92b3c9efef3e224ca3 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Wed, 29 Dec 2021 14:07:49 +0100 Subject: [PATCH 8/8] general destination sync remove support --- region_file_updater/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/region_file_updater/__init__.py b/region_file_updater/__init__.py index a8fba4d..077785e 100644 --- a/region_file_updater/__init__.py +++ b/region_file_updater/__init__.py @@ -167,9 +167,9 @@ def region_update(source: CommandSource): except Exception as e: msg = '失败,错误信息:{}'.format(str(e)) flag = False - if str(e)[10:35] == 'No such file or directory' and region_file.split('\\')[0] == 'poi' and os.path.exists(destination): + if isinstance(e, FileNotFoundError) and os.path.exists(destination): os.remove(destination) - source.get_server().logger.info('poi 删除成功: {}'.format(destination)) + source.get_server().logger.info('在目的地被删除的文件: {}'.format(destination)) else: msg = '成功' flag = True