| # |
| # 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) |