__init__.py revision 2092
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# CDDL HEADER START
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# The contents of this file are subject to the terms of the
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# Common Development and Distribution License (the "License").
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# You may not use this file except in compliance with the License.
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# See the License for the specific language governing permissions
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# and limitations under the License.
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# If applicable, add the following below this CDDL HEADER, with the
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# fields enclosed by brackets "[]" replaced with your own identifying
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# information: Portions Copyright [yyyy] [name of copyright owner]
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# CDDL HEADER END
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
f16c114c20bbd7d292d93415d1e56c8dd6abd3e7Timo Sirainen# Use is subject to license terms.
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen def __init__(self, max_level=logging.CRITICAL):
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbeTimo Sirainen """ This class defines settings which are global
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbeTimo Sirainen to the client instance """
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # Default maximum number of redirects received before
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # aborting a connection.
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # Default number of retries per-host
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # Default number of seconds to give up if not connected
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # Default number of seconds beneath low-speed limit before
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # Minimum bytes/sec before client thinks about giving up
02b79f9c2636da1829eee5b92753602bba8b67edTimo Sirainen # on connection.
9aa52288a4b53186d81b0ec9afa7d9e0a8ee8753Timo Sirainen # Maximum number of transient errors before we abort an
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen self.pkg_client_max_consecutive_error_default = 4
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen # Maximum number of timeouts before client gives up.
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen self.PKG_CLIENT_MAX_TIMEOUT = int(os.environ.get(
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen "PKG_CLIENT_MAX_TIMEOUT",
dda2c506c8fc8ac2f88272de4523ded42baa0aa0Timo Sirainen # Number of seconds trying to connect before client
9aa52288a4b53186d81b0ec9afa7d9e0a8ee8753Timo Sirainen self.PKG_CLIENT_CONNECT_TIMEOUT = int(os.environ.get(
9aa52288a4b53186d81b0ec9afa7d9e0a8ee8753Timo Sirainen "PKG_CLIENT_CONNECT_TIMEOUT",
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen # Number of seconds below lowspeed limit before
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen # transaction is aborted.
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen self.PKG_CLIENT_LOWSPEED_TIMEOUT = int(os.environ.get(
659fe5d24825b160cae512538088020d97a60239Timo Sirainen "PKG_CLIENT_LOWSPEED_TIMEOUT",
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eeeTimo Sirainen # Number of transient errors before transaction
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eeeTimo Sirainen # is aborted.
659fe5d24825b160cae512538088020d97a60239Timo Sirainen os.environ.get("PKG_CLIENT_MAX_CONSECUTIVE_ERROR",
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eeeTimo Sirainen self.pkg_client_max_consecutive_error_default))
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eeeTimo Sirainen # Number of redirects before a connection is
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eeeTimo Sirainen logger.removeHandler(self.__error_log_handler)
b9ac6179d3aee0d1641a4ee1d78da28628929c61Timo Sirainen """Resets client logging to its default state. This will cause
b9ac6179d3aee0d1641a4ee1d78da28628929c61Timo Sirainen all logging.INFO entries to go to sys.stdout, and all entries of
9aa52288a4b53186d81b0ec9afa7d9e0a8ee8753Timo Sirainen logging.WARNING or higher to go to sys.stderr."""
b3febb0933fdce10394d25093e23ce0a5aadddd3Timo Sirainen # Don't pass messages that are rejected to the root logger.
b3febb0933fdce10394d25093e23ce0a5aadddd3Timo Sirainen # By default, log all informational messages, but not warnings
b3febb0933fdce10394d25093e23ce0a5aadddd3Timo Sirainen # and above to stdout.
b3febb0933fdce10394d25093e23ce0a5aadddd3Timo Sirainen # Minimum logging level for informational messages.
dda2c506c8fc8ac2f88272de4523ded42baa0aa0Timo Sirainen # Enforce maximum logging level for informational messages.
dda2c506c8fc8ac2f88272de4523ded42baa0aa0Timo Sirainen # By default, log all warnings and above to stderr.
6843896c40bee4f9b6680ca7ced598c446e9f999Timo Sirainen # Stash the handles so they can be removed later.
dda2c506c8fc8ac2f88272de4523ded42baa0aa0Timo Sirainen error_log_handler = property(__get_error_log_handler,
dda2c506c8fc8ac2f88272de4523ded42baa0aa0Timo Sirainen info_log_handler = property(__get_info_log_handler,