It is not normal. Is there some kind of indication of a reason why it stops?
Like a message outputted or something.
For example, something like this:
Traceback (most recent call last):
File "btfriend.py", line 266, in ?
CheckSharing()
File "btfriend.py", line 257, in CheckSharing
Share(file, key, prio)
File "btfriend.py", line 225, in Share
DownloadTorrent(key, file)
File "btfriend.py", line 163, in DownloadTorrent
response = urlopen(url).read()
File "/usr/lib/python2.3/urllib2.py", line 129, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.3/urllib2.py", line 326, in open
'_open', req)
File "/usr/lib/python2.3/urllib2.py", line 306, in _call_chain
result = func(*args)
File "/usr/lib/python2.3/site-packages/BitTorrent/zurllib.py", line 30, in http_open
fp = HTTPHandler.http_open(self,req)
File "/usr/lib/python2.3/urllib2.py", line 901, in http_open
return self.do_open(httplib.HTTP, req)
File "/usr/lib/python2.3/urllib2.py", line 886, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error (110, 'Connection timed out')>
If there is, perhaps the reason why it stops is shown there.
As a workaround, you can use this:
while :;do python btfriend.py;done
(for unix shells. Someone can maybe write an example that works in windowsland.)