1 # Copyright 2020 The Pigweed Authors
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 # use this file except in compliance with the License. You may obtain a copy of
7 # https://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations under
22 PW_ENVSETUP_DISABLE_SPINNER = os.environ.get('PW_ENVSETUP_DISABLE_SPINNER')
25 class Spinner(object): # pylint: disable=useless-object-inheritance
38 sys.stdout.write('[{}]'.format(chars[i]))
41 sys.stdout.write('\b\b\b')
42 i = (i + 1) % len(chars)
45 if PW_ENVSETUP_DISABLE_SPINNER:
49 self._thread = threading.Thread(target=self._spin)
53 if PW_ENVSETUP_DISABLE_SPINNER:
61 @contextlib.contextmanager