1
1
"""
2
2
Base class for Scrapy commands
3
3
"""
4
-
5
4
import os
6
5
import warnings
7
6
from optparse import OptionGroup
10
9
from scrapy .utils .conf import arglist_to_dict
11
10
from scrapy .exceptions import UsageError , ScrapyDeprecationWarning
12
11
12
+
13
13
class ScrapyCommand (object ):
14
14
15
15
requires_project = False
@@ -21,7 +21,7 @@ class ScrapyCommand(object):
21
21
exitcode = 0
22
22
23
23
def __init__ (self ):
24
- self .settings = None # set in scrapy.cmdline
24
+ self .settings = None # set in scrapy.cmdline
25
25
26
26
def set_crawler (self , crawler ):
27
27
assert not hasattr (self , '_crawler' ), "crawler already set"
@@ -38,12 +38,14 @@ def crawler(self):
38
38
39
39
old_start = crawler .start
40
40
self .crawler_process .started = False
41
+
41
42
def wrapped_start ():
42
43
if self .crawler_process .started :
43
44
old_start ()
44
45
else :
45
46
self .crawler_process .started = True
46
47
self .crawler_process .start ()
48
+
47
49
crawler .start = wrapped_start
48
50
49
51
self .set_crawler (crawler )
@@ -81,22 +83,22 @@ def add_options(self, parser):
81
83
Populate option parse with options available for this command
82
84
"""
83
85
group = OptionGroup (parser , "Global Options" )
84
- group .add_option ("--logfile" , metavar = "FILE" , \
86
+ group .add_option ("--logfile" , metavar = "FILE" ,
85
87
help = "log file. if omitted stderr will be used" )
86
- group .add_option ("-L" , "--loglevel" , metavar = "LEVEL" , \
87
- default = None , \
88
+ group .add_option ("-L" , "--loglevel" , metavar = "LEVEL" , default = None ,
88
89
help = "log level (default: %s)" % self .settings ['LOG_LEVEL' ])
89
- group .add_option ("--nolog" , action = "store_true" , \
90
+ group .add_option ("--nolog" , action = "store_true" ,
90
91
help = "disable logging completely" )
91
- group .add_option ("--profile" , metavar = "FILE" , default = None , \
92
+ group .add_option ("--profile" , metavar = "FILE" , default = None ,
92
93
help = "write python cProfile stats to FILE" )
93
- group .add_option ("--lsprof" , metavar = "FILE" , default = None , \
94
+ group .add_option ("--lsprof" , metavar = "FILE" , default = None ,
94
95
help = "write lsprof profiling stats to FILE" )
95
- group .add_option ("--pidfile" , metavar = "FILE" , \
96
+ group .add_option ("--pidfile" , metavar = "FILE" ,
96
97
help = "write process ID to FILE" )
97
- group .add_option ("-s" , "--set" , action = "append" , default = [], metavar = "NAME=VALUE" , \
98
+ group .add_option ("-s" , "--set" , action = "append" , default = [], metavar = "NAME=VALUE" ,
98
99
help = "set/override setting (may be repeated)" )
99
100
group .add_option ("--pdb" , action = "store_true" , help = "enable pdb on failure" )
101
+
100
102
parser .add_option_group (group )
101
103
102
104
def process_options (self , args , opts ):
0 commit comments