iclientpy.rest.cmd.updatecache 源代码

import sys
import argparse
from iclientpy.rest.api.updatetileset import update_smtilestileset, recache_tileset
from iclientpy.rest.api.cache import cache_workspace, cache_service


[文档]def cache_local_workspace(args): d = vars(args) d = dict((k, v) for k, v in d.items() if k in ('username', 'password') or not (v is None)) d['original_point'] = tuple(float(item) for item in d['original_point'].strip("'").strip('"').split(',')) d['cache_bounds'] = tuple(float(item) for item in d['cache_bounds'].strip("'").strip('"').split(',')) if 'scale' in d: d['scale'] = [float(item) for item in d['scale'].strip("'").strip('"').split(',')] del d['func'] cache_workspace(**d)
[文档]def cache_remote_service(args): d = vars(args) d = dict((k, v) for k, v in d.items() if k in ('username', 'password') or not (v is None)) d['original_point'] = tuple(float(item) for item in d['original_point'].strip("'").strip('"').split(',')) d['cache_bounds'] = tuple(float(item) for item in d['cache_bounds'].strip("'").strip('"').split(',')) if 'scale' in d: d['scale'] = [float(item) for item in d['scale'].strip("'").strip('"').split(',')] del d['func'] cache_service(**d)
[文档]def recache(args): d = vars(args) d = dict((k, v) for k, v in d.items() if k in ('username', 'password') or not (v is None)) del d['func'] recache_tileset(**d)
[文档]def update_cache(args): d = vars(args) d = dict((k, v) for k, v in d.items() if k in ('username', 'password') or not (v is None)) d['original_point'] = tuple(float(item) for item in d['original_point'].strip("'").strip('"').split(',')) d['cache_bounds'] = tuple(float(item) for item in d['cache_bounds'].strip("'").strip('"').split(',')) if 'scale' in d: d['scale'] = [float(item) for item in d['scale'].strip("'").strip('"').split(',')] del d['func'] update_smtilestileset(**d)
[文档]def get_parser(): parser = argparse.ArgumentParser(epilog='for more information , visit<http://iclientpy.supermap.io/>.', description=""" 切图,更新切片命令行工具 """) sub_parsers = parser.add_subparsers() recache_parser = sub_parsers.add_parser('recache') # type: argparse.ArgumentParser recache_parser.set_defaults(func=recache) recache_require_group = recache_parser.add_argument_group('必选参数') recache_require_group.add_argument('-l', '--uri', dest='address', help='服务地址,如:http://localhost:8090/iserver') recache_require_group.add_argument('-u', '--user', dest='username', help='用户名', default=None) recache_require_group.add_argument('-p', '--password', dest='password', help='密码', default=None) recache_require_group.add_argument('-t', '--token', dest='token', help='用于身份验证的token') recache_require_group.add_argument('-c', '--component-name', dest='component_name', help='待更新缓存服务名称') recache_require_group.add_argument('-m', '--map-name', dest='map_name', help='切图地图名称') recache_require_group.add_argument('-s', '--storageid', dest='storageid', help='存储的id') recache_optional_group = recache_parser.add_argument_group('可选参数') recache_optional_group.add_argument('-n', '--tileset_name', dest='tileset_name', help='存储切片集名称') updatecache_parser = sub_parsers.add_parser('updatecache') # type: argparse.ArgumentParser updatecache_parser.set_defaults(func=update_cache) updatecache_require_group = updatecache_parser.add_argument_group('必选参数') updatecache_require_group.add_argument('-l', '--uri', dest='address', help='服务地址,如:http://localhost:8090/iserver') updatecache_require_group.add_argument('-u', '--user', dest='username', help='用户名', default=None) updatecache_require_group.add_argument('-p', '--password', dest='password', help='密码', default=None) updatecache_require_group.add_argument('-t', '--token', dest='token', help='用于身份验证的token') updatecache_require_group.add_argument('-c', '--component-name', dest='component_name', help='待更新缓存服务名称') updatecache_require_group.add_argument('-w', '--w-loc', dest='w_loc', help='工作空间路径') updatecache_require_group.add_argument('-m', '--map-name', dest='map_name', help='切图地图名称') updatecache_require_group.add_argument('-o', '--original-point', dest='original_point', help='切图原点,需以单引号开始和结束,如:\'-180,90\'') updatecache_require_group.add_argument('-b', '--bounds', dest='cache_bounds', help='缓存范围,需以单引号开始和结束,如:\'-180,-90,0,0\'') updatecache_optional_group = updatecache_parser.add_argument_group('可选参数') updatecache_optional_group.add_argument('-s', '--scale', dest='scale', help='缓存比例尺分母,如:8000000,4000000,2000000') updatecache_optional_group.add_argument('--service-type', dest='w_servicetype', help='工作空间服务类型') updatecache_optional_group.add_argument('--tile-size', dest='tile_size', help='切片大小') updatecache_optional_group.add_argument('--tile-type', dest='tile_type', help='切片类型') updatecache_optional_group.add_argument('--format', dest='format', help='切片输出格式') updatecache_optional_group.add_argument('--epsgcode', dest='epsg_code', help='投影') updatecache_optional_group.add_argument('--storageid', dest='storageid', help='存储id') updatecache_optional_group.add_argument('-rw', dest='remote_workspace', action='store_true', help='输入的工作空间地址是远程iServer所在服务器上的地址,不需要上传工作空间。') updatecache_optional_group.add_argument('--quiet', dest='quiet', action='store_true', help='不需要确认,直接运行') updatecache_optional_group.add_argument('--source-component', dest='source_component_name', help='缓存更新数据来源服务') updatecache_optional_group.add_argument('--update', dest='update', action='store_true', help='更新服务缓存') cache_workspace_parser = sub_parsers.add_parser('cacheworkspace') # type: argparse.ArgumentParser cache_workspace_parser.set_defaults(func=cache_local_workspace) cache_workspace_require_group = cache_workspace_parser.add_argument_group('必选参数') cache_workspace_require_group.add_argument('-l', '--uri', dest='address', help='服务地址,如:http://localhost:8090/iserver') cache_workspace_require_group.add_argument('-u', '--user', dest='username', help='用户名', default=None) cache_workspace_require_group.add_argument('-p', '--password', dest='password', help='密码', default=None) cache_workspace_require_group.add_argument('-t', '--token', dest='token', help='用于身份验证的token') cache_workspace_require_group.add_argument('-w', '--w-loc', dest='w_loc', help='工作空间路径') cache_workspace_require_group.add_argument('-m', '--map-name', dest='map_name', help='切图地图名称') cache_workspace_require_group.add_argument('-s', '--scale', dest='scale', help='缓存比例尺分母,如:8000000,4000000,2000000') cache_workspace_require_group.add_argument('-o', '--original-point', dest='original_point', help='切图原点,需以单引号开始和结束,如:\'-180,90\'') cache_workspace_require_group.add_argument('-b', '--bounds', dest='cache_bounds', help='缓存范围,需以单引号开始和结束,如:\'-180,-90,0,0\'') cache_workspace_optional_group = cache_workspace_parser.add_argument_group('可选参数') cache_workspace_optional_group.add_argument('--tile-size', dest='tile_size', help='切片大小') cache_workspace_optional_group.add_argument('--tile-type', dest='tile_type', help='切片类型') cache_workspace_optional_group.add_argument('--format', dest='format', help='切片输出格式') cache_workspace_optional_group.add_argument('--epsgcode', dest='epsg_code', help='投影') cache_workspace_optional_group.add_argument('--storageid', dest='storageid', help='存储的id') cache_workspace_optional_group.add_argument('--output', dest='output', help='结果输出路径') cache_workspace_optional_group.add_argument('--remote-workspace', dest='remote_workspace', action='store_true', help='是否是远程工作空间路径') cache_workspace_optional_group.add_argument('--quiet', dest='quiet', action='store_true', help='不需要确认,直接运行') cache_workspace_optional_group.add_argument('--jobtilesourcetype', dest='job_tile_source_type', choices=['SMTiles', 'MBTiles', 'UGCV5', 'GeoPackage'], default='SMTiles', help='存储类型,仅在输出到本地存储路径时生效,Mongo,OTS与FastDFS时不生效,Mongo,OTS与FastDFS应直接设置storageid') cache_service_parser = sub_parsers.add_parser('cacheservice') # type: argparse.ArgumentParser cache_service_parser.set_defaults(func=cache_remote_service) cache_service_require_group = cache_service_parser.add_argument_group('必选参数') cache_service_require_group.add_argument('-l', '--uri', dest='address', help='服务地址,如:http://localhost:8090/iserver') cache_service_require_group.add_argument('-u', '--user', dest='username', help='用户名', default=None) cache_service_require_group.add_argument('-p', '--password', dest='password', help='密码', default=None) cache_service_require_group.add_argument('-t', '--token', dest='token', help='用于身份验证的token') cache_service_require_group.add_argument('-c', '--component-name', dest='component_name', help='服务名称') cache_service_require_group.add_argument('-m', '--map-name', dest='map_name', help='切图地图名称') cache_service_require_group.add_argument('-o', '--original-point', dest='original_point', help='切图原点,需以单引号开始和结束,如:\'-180,90\'') cache_service_require_group.add_argument('-b', '--bounds', dest='cache_bounds', help='缓存范围,需以单引号开始和结束,如:\'-180,-90,0,0\'') cache_service_require_group.add_argument('-s', '--scale', dest='scale', help='缓存比例尺分母,如:8000000,4000000,2000000') cache_service_optional_group = cache_service_parser.add_argument_group('可选参数') cache_service_optional_group.add_argument('--tile-size', dest='tile_size', help='切片大小') cache_service_optional_group.add_argument('--tile-type', dest='tile_type', help='切片类型') cache_service_optional_group.add_argument('--format', dest='format', help='切片输出格式') cache_service_optional_group.add_argument('--epsgcode', dest='epsg_code', help='投影') cache_service_optional_group.add_argument('--storageid', dest='storageid', help='存储id') cache_service_optional_group.add_argument('--output', dest='output', help='结果输出路径') cache_service_optional_group.add_argument('--quiet', dest='quiet', action='store_true', help='不需要确认,直接运行') cache_service_optional_group.add_argument('--jobtilesourcetype', dest='job_tile_source_type', choices=['SMTiles', 'MBTiles', 'UGCV5', 'GeoPackage'], default='SMTiles', help='存储类型,仅在输出到本地存储路径时生效,Mongo,OTS与FastDFS时不生效,Mongo,OTS与FastDFS应直接设置storageid') return parser
[文档]def main(argv=sys.argv[1:]): parser = get_parser() try: if not argv: parser.print_usage() parser.exit(1) args = parser.parse_known_args(argv)[0] args.func(args) except SystemExit as err: return err.code return 0
if __name__ == '__main__': main()