45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
#
|
||
|
# progressbar - Text progress bar library for Python.
|
||
|
# Copyright (c) 2005 Nilton Volpato
|
||
|
#
|
||
|
# This library is free software; you can redistribute it and/or
|
||
|
# modify it under the terms of the GNU Lesser General Public
|
||
|
# License as published by the Free Software Foundation; either
|
||
|
# version 2.1 of the License, or (at your option) any later version.
|
||
|
#
|
||
|
# This library is distributed in the hope that it will be useful,
|
||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
# Lesser General Public License for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU Lesser General Public
|
||
|
# License along with this library; if not, write to the Free Software
|
||
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||
|
|
||
|
"""Compatibility methods and classes for the progressbar module."""
|
||
|
|
||
|
|
||
|
# Python 3.x (and backports) use a modified iterator syntax
|
||
|
# This will allow 2.x to behave with 3.x iterators
|
||
|
try:
|
||
|
next
|
||
|
except NameError:
|
||
|
def next(iter):
|
||
|
try:
|
||
|
# Try new style iterators
|
||
|
return iter.__next__()
|
||
|
except AttributeError:
|
||
|
# Fallback in case of a "native" iterator
|
||
|
return iter.next()
|
||
|
|
||
|
|
||
|
# Python < 2.5 does not have "any"
|
||
|
try:
|
||
|
any
|
||
|
except NameError:
|
||
|
def any(iterator):
|
||
|
for item in iterator:
|
||
|
if item: return True
|
||
|
return False
|