Export時出現錯誤
sfs00784 opened this issue · comments
- Fetch 成功了
- python export.py backup.tar 時,blog出如下錯誤,导致长时间停:
File "export.py", line 167, in
export_all(tar_name)
File "export.py", line 145, in export_all
export_blogs(client_app, user['uid'])
File "export.py", line 118, in export_blogs
save_file(client, '/blog/{blog_id}'.format(blog_id=blog['id']))
File "export.py", line 51, in save_file
output_html = trans_relative_path(resp.data.decode(), local_path)
File "export.py", line 36, in trans_relative_path
flags=re.M | re.DOTALL)
File "C:\Users\xxx.virtualenvs\renrenBackup-master-RLOICigy\lib\re.py", line 192, in sub
return _compile(pattern, flags).sub(repl, string, count)
註:在python web.py中显示正常
这个感觉是有人在 blog 里嵌了其他的相册链接,导致转化路径时出错,因为 36 行时在转相册的相对路径
这块你可以先试试看把 save_file 时的 blog_id 打出来,然后看看那篇 blog 里有没有嵌相册链接,可以试试看先跳过去
回头我把整个程序日志体系梳理下,好在报错时能更好的把错误现场直接给出来
Exception on /blog/418609634 [GET]
Traceback (most recent call last):
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 2683, in execute_sql
cursor.execute(sql, params or ())
sqlite3.OperationalError: too many SQL variables
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask_compat.py", line 35, in reraise
raise value
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "I:\renrenBackup-master\web.py", line 116, in blog_detail_page
extra = entry_comments_api(entry_id=blog_id)
File "I:\renrenBackup-master\web.py", line 66, in entry_comments_api
for u in User.select().where(User.uid.in_(uids)).dicts():
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 5952, in iter
self.execute()
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 1604, in inner
return method(self, database, *args, **kwargs)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 1675, in execute
return self._execute(database)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 1826, in _execute
cursor = database.execute(self)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 2696, in execute
return self.execute_sql(sql, params, commit=commit)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 2690, in execute_sql
self.commit()
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 2481, in exit
reraise(new_type, new_type(*exc_args), traceback)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 178, in reraise
raise value.with_traceback(tb)
File "C:\Users\XXX.virtualenvs\renrenBackup-master-RLOICigy\lib\site-packages\peewee.py", line 2683, in execute_sql
cursor.execute(sql, params or ())
peewee.OperationalError: too many SQL variables
这个看起来是这篇日志的回复人数太多了,导致 SQL 爆掉了,之前偷懒没做分段取还是有坑啊 😅
一会修掉来