| # | |
| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you 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 | |
| # | |
| """ | |
| INTERNAL USE ONLY - Install locations and other site information for qpid dispatch. | |
| """ | |
| import sys | |
| from os.path import join | |
| from os import environ | |
| from typing import Optional, Tuple | |
| def populate_pythonpath() -> None: | |
| """Makes qpid_dispatch_internal available. Modifies sys.path.""" | |
| home = environ.get("QPID_DISPATCH_HOME") or "${QPID_DISPATCH_HOME_INSTALLED}" | |
| sys.path.insert(0, join(home, 'python')) | |
| def parse_version(version: str) -> Optional[Tuple[int, int, int]]: | |
| """Returns a 3-tuple semver version, or None (if say version is an empty string).""" | |
| if not version: | |
| return None | |
| try: | |
| major, minor, patch = (int(v) for v in version.split('.')) | |
| return major, minor, patch | |
| except ValueError as e: | |
| raise ValueError(f"version '{version}' cannot be parsed") from e | |
| VERSION = "${QPID_DISPATCH_VERSION}" | |
| LIBWEBSOCKETS_VERSION: Optional[Tuple[int, int, int]] = parse_version("${LIBWEBSOCKETS_VERSION_STRING}") | |
| SKIP_DELETE_HTTP_LISTENER = None if not LIBWEBSOCKETS_VERSION else (4, 0, 0) <= LIBWEBSOCKETS_VERSION < (4, 2, 0) |