Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
looyolo
scrapy
提交
45bc12e2
S
scrapy
项目概览
looyolo
/
scrapy
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
scrapy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
45bc12e2
编写于
9月 02, 2009
作者:
P
Pablo Hoffman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added scrapy.utils.pdb module with set_trace() function
上级
19c0093e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
13 deletion
+36
-13
scrapy/log.py
scrapy/log.py
+11
-9
scrapy/shell.py
scrapy/shell.py
+5
-4
scrapy/utils/pdb.py
scrapy/utils/pdb.py
+20
-0
未找到文件。
scrapy/log.py
浏览文件 @
45bc12e2
...
...
@@ -5,6 +5,7 @@ See documentation in docs/topics/logging.rst
"""
import
sys
from
traceback
import
format_exc
from
contextlib
import
contextmanager
from
twisted.python
import
log
from
scrapy.xlib.pydispatch
import
dispatcher
...
...
@@ -34,8 +35,6 @@ log_level = DEBUG
started
=
False
_prev_descriptors
=
(
sys
.
stdout
,
sys
.
stderr
)
def
start
(
logfile
=
None
,
loglevel
=
None
,
logstdout
=
None
):
"""Initialize and start logging facility"""
global
log_level
,
started
...
...
@@ -56,13 +55,6 @@ def start(logfile=None, loglevel=None, logstdout=None):
file
=
open
(
logfile
,
'a'
)
if
logfile
else
sys
.
stderr
log
.
startLogging
(
file
,
setStdout
=
logstdout
)
def
_switch_descriptors
():
global
_prev_descriptors
cur
=
(
sys
.
stdout
,
sys
.
stderr
)
sys
.
stdout
,
sys
.
stderr
=
_prev_descriptors
_prev_descriptors
=
cur
def
msg
(
message
,
level
=
INFO
,
component
=
BOT_NAME
,
domain
=
None
):
"""Log message according to the level"""
dispatcher
.
send
(
signal
=
logmessage_received
,
message
=
message
,
level
=
level
,
\
...
...
@@ -81,3 +73,13 @@ def err(*args, **kwargs):
component
=
kwargs
.
pop
(
'component'
,
BOT_NAME
)
kwargs
[
'system'
]
=
domain
if
domain
else
component
log
.
err
(
*
args
,
**
kwargs
)
_std_descriptors_backup
=
(
sys
.
stdout
,
sys
.
stderr
)
@
contextmanager
def
_std_descriptors
():
cur
=
(
sys
.
stdout
,
sys
.
stderr
)
sys
.
stdout
,
sys
.
stderr
=
_std_descriptors_backup
yield
sys
.
stdout
,
sys
.
stderr
=
cur
scrapy/shell.py
浏览文件 @
45bc12e2
...
...
@@ -4,6 +4,8 @@ Scrapy Shell
See documentation in docs/topics/shell.rst
"""
from
__future__
import
with_statement
import
os
import
urllib
import
urlparse
...
...
@@ -149,7 +151,6 @@ class Shell(object):
def
inspect_response
(
response
):
"""Open a shell to inspect the given response"""
shell
=
Shell
(
nofetch
=
True
)
log
.
_switch_descriptors
()
shell
.
inspect_response
(
response
)
log
.
_switch_descriptors
()
with
log
.
_std_descriptors
():
shell
=
Shell
(
nofetch
=
True
)
shell
.
inspect_response
(
response
)
scrapy/utils/pdb.py
0 → 100644
浏览文件 @
45bc12e2
"""
Function for invoking the Python Debugger from Scrapy
"""
from
__future__
import
absolute_import
,
with_statement
from
pdb
import
Pdb
from
scrapy
import
log
class
ScrapyPdb
(
Pdb
):
def
setup
(
self
,
f
,
t
):
Pdb
.
setup
(
self
,
f
,
t
)
self
.
curindex
-=
2
def
set_trace
():
"""Like pdb.set_trace() but works nice with the Scrapy log"""
with
log
.
_std_descriptors
():
ScrapyPdb
().
set_trace
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录