fix bug of thread exiting

This commit is contained in:
ricterz 2015-05-10 16:29:13 +08:00
parent ccd1b54cdc
commit e8d38fe820
4 changed files with 10 additions and 9 deletions

View File

@ -1,11 +1,11 @@
#!/usr/bin/env python2.7 #!/usr/bin/env python2.7
#coding: utf-8 #coding: utf-8
from nhentai.cmdline import cmd_parser, banner from cmdline import cmd_parser, banner
from nhentai.parser import dojinshi_parser, search_parser, print_dojinshi from parser import dojinshi_parser, search_parser, print_dojinshi
from nhentai.dojinshi import Dojinshi from dojinshi import Dojinshi
from nhentai.downloader import Downloader from downloader import Downloader
from nhentai.logger import logger from logger import logger
__version__ = '0.1' __version__ = '0.1'

View File

@ -1,6 +1,6 @@
import Queue import Queue
from constant import DETAIL_URL, IMAGE_URL from constant import DETAIL_URL, IMAGE_URL
from nhentai.logger import logger from logger import logger
class Dojinshi(object): class Dojinshi(object):

View File

@ -6,11 +6,12 @@ import threading
import Queue import Queue
import requests import requests
from urlparse import urlparse from urlparse import urlparse
from nhentai.logger import logger from logger import logger
# global timeout # global timeout
timeout = 30 timeout = 30
THREAD_TIMEOUT = 99999
socket.setdefaulttimeout(timeout) socket.setdefaulttimeout(timeout)
@ -89,7 +90,7 @@ class Downloader(object):
while len(self.threads) > 0: while len(self.threads) > 0:
try: try:
self.threads = [t.join(1) for t in self.threads if t is not None and t.isAlive()] self.threads = [t.join(THREAD_TIMEOUT) for t in self.threads if t and t.isAlive()]
except KeyboardInterrupt: except KeyboardInterrupt:
logger.warning('Ctrl-C received, sending kill signal.') logger.warning('Ctrl-C received, sending kill signal.')
self.kill_received = True self.kill_received = True

View File

@ -3,7 +3,7 @@ import re
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from constant import DETAIL_URL, SEARCH_URL from constant import DETAIL_URL, SEARCH_URL
from nhentai.logger import logger from logger import logger
def dojinshi_parser(id): def dojinshi_parser(id):