当前位置: 首页>>代码示例>>Python>>正文


Python Settings.getbool方法代码示例

本文整理汇总了Python中scrapy.settings.Settings.getbool方法的典型用法代码示例。如果您正苦于以下问题:Python Settings.getbool方法的具体用法?Python Settings.getbool怎么用?Python Settings.getbool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scrapy.settings.Settings的用法示例。


在下文中一共展示了Settings.getbool方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_get

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
 def test_get(self):
     settings = Settings({
         'TEST_ENABLED1': '1',
         'TEST_ENABLED2': True,
         'TEST_ENABLED3': 1,
         'TEST_DISABLED1': '0',
         'TEST_DISABLED2': False,
         'TEST_DISABLED3': 0,
         'TEST_INT1': 123,
         'TEST_INT2': '123',
         'TEST_FLOAT1': 123.45,
         'TEST_FLOAT2': '123.45',
         'TEST_LIST1': ['one', 'two'],
         'TEST_LIST2': 'one,two',
         'TEST_STR': 'value',
         'TEST_DICT1': {'key1': 'val1', 'ke2': 3},
         'TEST_DICT2': '{"key1": "val1", "ke2": 3}',
     })
     assert settings.getbool('TEST_ENABLED1') is True
     assert settings.getbool('TEST_ENABLED2') is True
     assert settings.getbool('TEST_ENABLED3') is True
     assert settings.getbool('TEST_ENABLEDx') is False
     assert settings.getbool('TEST_ENABLEDx', True) is True
     assert settings.getbool('TEST_DISABLED1') is False
     assert settings.getbool('TEST_DISABLED2') is False
     assert settings.getbool('TEST_DISABLED3') is False
     self.assertEqual(settings.getint('TEST_INT1'), 123)
     self.assertEqual(settings.getint('TEST_INT2'), 123)
     self.assertEqual(settings.getint('TEST_INTx'), 0)
     self.assertEqual(settings.getint('TEST_INTx', 45), 45)
     self.assertEqual(settings.getfloat('TEST_FLOAT1'), 123.45)
     self.assertEqual(settings.getfloat('TEST_FLOAT2'), 123.45)
     self.assertEqual(settings.getfloat('TEST_FLOATx'), 0.0)
     self.assertEqual(settings.getfloat('TEST_FLOATx', 55.0), 55.0)
     self.assertEqual(settings.getlist('TEST_LIST1'), ['one', 'two'])
     self.assertEqual(settings.getlist('TEST_LIST2'), ['one', 'two'])
     self.assertEqual(settings.getlist('TEST_LISTx'), [])
     self.assertEqual(
         settings.getlist('TEST_LISTx', ['default']), ['default'])
     self.assertEqual(settings['TEST_STR'], 'value')
     self.assertEqual(settings.get('TEST_STR'), 'value')
     self.assertEqual(settings['TEST_STRx'], None)
     self.assertEqual(settings.get('TEST_STRx'), None)
     self.assertEqual(settings.get('TEST_STRx', 'default'), 'default')
     self.assertEqual(
         settings.getdict('TEST_DICT1'), {'key1': 'val1', 'ke2': 3})
     self.assertEqual(
         settings.getdict('TEST_DICT2'), {'key1': 'val1', 'ke2': 3})
     self.assertEqual(settings.getdict('TEST_DICT3'), {})
     self.assertEqual(
         settings.getdict('TEST_DICT3', {'key1': 5}), {'key1': 5})
     self.assertRaises(ValueError, settings.getdict, 'TEST_LIST1')
开发者ID:pyarnold,项目名称:scrapy,代码行数:54,代码来源:test_settings.py

示例2: configure_logging

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
def configure_logging(settings=None):
    """Initialize and configure default loggers

    This function does:
      - Route warnings and twisted logging through Python standard logging
      - Set FailureFormatter filter on Scrapy logger
      - Assign DEBUG and ERROR level to Scrapy and Twisted loggers respectively
      - Create a handler for the root logger according to given settings
    """
    if not sys.warnoptions:
        # Route warnings through python logging
        logging.captureWarnings(True)

    observer = twisted_log.PythonLoggingObserver('twisted')
    observer.start()

    dictConfig(DEFAULT_LOGGING)

    if isinstance(settings, dict):
        settings = Settings(settings)

    if settings:
        logging.root.setLevel(logging.NOTSET)

        if settings.getbool('LOG_STDOUT'):
            sys.stdout = StreamLogger(logging.getLogger('stdout'))

        # Set up the default log handler
        filename = settings.get('LOG_FILE')
        if filename:
            encoding = settings.get('LOG_ENCODING')
            handler = logging.FileHandler(filename, encoding=encoding)
        elif settings.getbool('LOG_ENABLED'):
            handler = logging.StreamHandler()
        else:
            handler = logging.NullHandler()

        formatter = logging.Formatter(
            fmt=settings.get('LOG_FORMAT'),
            datefmt=settings.get('LOG_DATEFORMAT')
        )
        handler.setFormatter(formatter)
        handler.setLevel(settings.get('LOG_LEVEL'))
        handler.addFilter(TopLevelFormatter(['scrapy']))
        logging.root.addHandler(handler)
开发者ID:247DigitalGroup,项目名称:scrapy,代码行数:47,代码来源:log.py

示例3: setup_spider_logging

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
def setup_spider_logging(spider, settings):
    """Initialize and configure default loggers

    Copied from Scrapy and updated, because version from Scrapy:

     1) doesn't close handlers and observers
     2) opens logobserver for twisted logging each time it's called -
        you can find N log observers logging the same message N
        after N crawls.

    so there's no way to reuse it.

    :return: method that should be called to cleanup handler.

    """
    if isinstance(settings, dict):
        settings = Settings(settings)

    # Looging stdout is a bad idea when mutiple crawls are running
    # if settings.getbool('LOG_STDOUT'):
    #     sys.stdout = StreamLogger(logging.getLogger('stdout'))
    filename = settings.get('LOG_FILE')
    if filename:
        encoding = settings.get('LOG_ENCODING')
        handler = logging.FileHandler(filename, encoding=encoding)
    elif settings.getbool('LOG_ENABLED'):
        handler = logging.StreamHandler()
    else:
        handler = logging.NullHandler()
    formatter = logging.Formatter(
        fmt=settings.get('LOG_FORMAT'),
        datefmt=settings.get('LOG_DATEFORMAT')
    )
    handler.setFormatter(formatter)
    handler.setLevel(settings.get('LOG_LEVEL'))
    filters = [
        TopLevelFormatter(['scrapy']),
        SpiderFilter(spider),
    ]
    for _filter in filters:
        handler.addFilter(_filter)
    logging.root.addHandler(handler)

    _cleanup_functions = [
        lambda: [handler.removeFilter(f) for f in filters],
        lambda: logging.root.removeHandler(handler),
        handler.close,
    ]

    def cleanup():
        for func in _cleanup_functions:
            try:
                func()
            except Exception as e:
                err(e)

    return cleanup
开发者ID:SmileyJames,项目名称:scrapyrt,代码行数:59,代码来源:log.py

示例4: test_get

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
 def test_get(self):
     settings = Settings({
         'TEST_ENABLED1': '1',
         'TEST_ENABLED2': True,
         'TEST_ENABLED3': 1,
         'TEST_DISABLED1': '0',
         'TEST_DISABLED2': False,
         'TEST_DISABLED3': 0,
         'TEST_INT1': 123,
         'TEST_INT2': '123',
         'TEST_FLOAT1': 123.45,
         'TEST_FLOAT2': '123.45',
         'TEST_LIST1': ['one', 'two'],
         'TEST_LIST2': 'one,two',
         'TEST_STR': 'value',
     })
     assert settings.getbool('TEST_ENABLED1') is True
     assert settings.getbool('TEST_ENABLED2') is True
     assert settings.getbool('TEST_ENABLED3') is True
     assert settings.getbool('TEST_ENABLEDx') is False
     assert settings.getbool('TEST_ENABLEDx', True) is True
     assert settings.getbool('TEST_DISABLED1') is False
     assert settings.getbool('TEST_DISABLED2') is False
     assert settings.getbool('TEST_DISABLED3') is False
     self.assertEqual(settings.getint('TEST_INT1'), 123)
     self.assertEqual(settings.getint('TEST_INT2'), 123)
     self.assertEqual(settings.getint('TEST_INTx'), 0)
     self.assertEqual(settings.getint('TEST_INTx', 45), 45)
     self.assertEqual(settings.getfloat('TEST_FLOAT1'), 123.45)
     self.assertEqual(settings.getfloat('TEST_FLOAT2'), 123.45)
     self.assertEqual(settings.getfloat('TEST_FLOATx'), 0.0)
     self.assertEqual(settings.getfloat('TEST_FLOATx', 55.0), 55.0)
     self.assertEqual(settings.getlist('TEST_LIST1'), ['one', 'two'])
     self.assertEqual(settings.getlist('TEST_LIST2'), ['one', 'two'])
     self.assertEqual(settings.getlist('TEST_LISTx'), [])
     self.assertEqual(settings.getlist('TEST_LISTx', ['default']), ['default'])
     self.assertEqual(settings['TEST_STR'], 'value')
     self.assertEqual(settings.get('TEST_STR'), 'value')
     self.assertEqual(settings['TEST_STRx'], None)
     self.assertEqual(settings.get('TEST_STRx'), None)
     self.assertEqual(settings.get('TEST_STRx', 'default'), 'default')
开发者ID:073palmer,项目名称:scrapy,代码行数:43,代码来源:test_settings.py

示例5: __init__

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
    def __init__(self, download_func=None, settings=None):
        self.download_func = download_func

        if isinstance(settings, dict) or settings is None:
            settings = Settings(settings)
        resolve = functools.partial(self._key_for_pipe,
                                    base_class_name="MediaPipeline",
                                    settings=settings)
        self.allow_redirects = settings.getbool(
            resolve('MEDIA_ALLOW_REDIRECTS'), False
        )
        self._handle_statuses(self.allow_redirects)
开发者ID:ArturGaspar,项目名称:scrapy,代码行数:14,代码来源:media.py

示例6: qwebkit_settings

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
def qwebkit_settings(settings=None):
    if settings is None:
        settings = Settings()
    elif settings.getbool("__WT__"):
        return settings
    else:
        settings = settings.copy()
        settings.frozen = False
    for name in dir(defs):
        if name.startswith("WT_") and settings.get(name) is None:
            settings.set(name, getattr(defs, name))
    settings.set("__WT__", True)
    return settings
开发者ID:StrongZhu,项目名称:scrapy-webtools,代码行数:15,代码来源:utils.py

示例7: configure_logging

# 需要导入模块: from scrapy.settings import Settings [as 别名]
# 或者: from scrapy.settings.Settings import getbool [as 别名]
def configure_logging(settings=None, install_root_handler=True):
    """
    Initialize logging defaults for Scrapy.

    :param settings: settings used to create and configure a handler for the
        root logger (default: None).
    :type settings: dict, :class:`~scrapy.settings.Settings` object or ``None``

    :param install_root_handler: whether to install root logging handler
        (default: True)
    :type install_root_handler: bool

    This function does:

    - Route warnings and twisted logging through Python standard logging
    - Assign DEBUG and ERROR level to Scrapy and Twisted loggers respectively
    - Route stdout to log if LOG_STDOUT setting is True

    When ``install_root_handler`` is True (default), this function also
    creates a handler for the root logger according to given settings
    (see :ref:`topics-logging-settings`). You can override default options
    using ``settings`` argument. When ``settings`` is empty or None, defaults
    are used.
    """
    if not sys.warnoptions:
        # Route warnings through python logging
        logging.captureWarnings(True)

    observer = twisted_log.PythonLoggingObserver('twisted')
    observer.start()

    dictConfig(DEFAULT_LOGGING)

    if isinstance(settings, dict) or settings is None:
        settings = Settings(settings)

    if settings.getbool('LOG_STDOUT'):
        sys.stdout = StreamLogger(logging.getLogger('stdout'))

    if install_root_handler:
        logging.root.setLevel(logging.NOTSET)
        handler = _get_handler(settings)
        logging.root.addHandler(handler)
开发者ID:Vlsarro,项目名称:scrapy,代码行数:45,代码来源:log.py


注:本文中的scrapy.settings.Settings.getbool方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。