Skip to content

Commit

Permalink
Per-spider settings documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
curita authored and dangra committed Sep 2, 2014
1 parent 9ef3972 commit 16e62e9
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 deletions.
1 change: 1 addition & 0 deletions docs/topics/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ Settings API
'default': 0,
'command': 10,
'project': 20,
'spider': 30,
'cmdline': 40,
}

Expand Down
20 changes: 14 additions & 6 deletions docs/topics/settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ different precedence. Here is the list of them in decreasing order of
precedence:

1. Command line options (most precedence)
2. Project settings module
3. Default settings per-command
4. Default global settings (less precedence)
2. Settings per-spider
3. Project settings module
4. Default settings per-command
5. Default global settings (less precedence)

The population of these settings sources is taken care of internally, but a
manual handling is possible using API calls. See the
Expand All @@ -59,22 +60,29 @@ Example::

scrapy crawl myspider -s LOG_FILE=scrapy.log

2. Project settings module
2. Settings per-spider
----------------------

Spiders (See the :ref:`topics-spiders` chapter for reference) can define their
own settings that will take precedence and override the project ones. They can
do so by setting their :attr:`scrapy.spider.Spider.custom_settings` attribute.

3. Project settings module
--------------------------

The project settings module is the standard configuration file for your Scrapy
project. It's where most of your custom settings will be populated. For
example:: ``myproject.settings``.

3. Default settings per-command
4. Default settings per-command
-------------------------------

Each :doc:`Scrapy tool </topics/commands>` command can have its own default
settings, which override the global default settings. Those custom command
settings are specified in the ``default_settings`` attribute of the command
class.

4. Default global settings
5. Default global settings
--------------------------

The global defaults are located in the ``scrapy.settings.default_settings``
Expand Down
9 changes: 9 additions & 0 deletions docs/topics/spiders.rst
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,15 @@ Spider
listed here. The subsequent URLs will be generated successively from data
contained in the start URLs.

.. attribute:: custom_settings

A dictionary of settings that will be overridden from the project wide
configuration when running this spider. It must be defined as a class
attribute since the settings are updated before instantiation.

For a list of available built-in settings see:
:ref:`topics-settings-ref`.

.. attribute:: crawler

This attribute is set by the :meth:`from_crawler` class method after
Expand Down

0 comments on commit 16e62e9

Please sign in to comment.