# Create torrent file.
bt.create_torrent(transcode_config['output_file'])
- # The torrent file is created in the same directory with the
- # source file. Move it to the torrents directory.
- shutil.move(transcode_config['output_file'] + '.tstream', \
- config.TORRENTS_PATH)
-
output_file = transcode_config['output_file'] + '.tstream'
output_file = output_file[(output_file.rindex('/') + 1):]
+
+ # The torrent file is created in the same directory with the
+ # source file. Move it to the torrents directory.
+ #if not os.path.exists(
+ # os.path.join(output_file, config.TORRENTS_PATH)):
+ try:
+ shutil.move(transcode_config['output_file'] + '.tstream', \
+ config.TORRENTS_PATH)
+ except:
+ pass
# * SEED TORRENTS
Server.bit_torrent.start_torrent( \
f = urllib.urlopen(url)
f.read()
+
+ def notify_error(self, code):
+ logger.log_msg('#%s: notifying web server about the error...'\
+ % self.job_id)
+
+ if config.WS_ERROR[len(config.WS_ERROR) - 1] == '/':
+ url = config.WS_ERROR + code
+ else:
+ url = config.WS_ERROR + '/' + code
+ url = url + '/' + 'internal_error'
+
+ f = urllib.urlopen(url)
+ f.read()
def run(self):
while True:
except cis_exceptions.FileAlreadyExistsException as e:
logger.log_msg('#%s: %s' \
% (job['code'], repr(e)), logger.LOG_LEVEL_ERROR)
+ self.notify_error(job['code'])
continue
except Exception as e:
logger.log_msg('#%s: error while transferring in: %s' \
- % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ self.notify_error(job['code'])
continue
# * TRANSCODE RAW VIDEO
except cis_exceptions.FileAlreadyExistsException as e:
logger.log_msg('#%s: %s' \
% (job['code'], repr(e)), logger.LOG_LEVEL_ERROR)
+ self.notify_error(job['code'])
continue
except Exception as e:
logger.log_msg('#%s: error while transcoding: %s' \
- % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ self.notify_error(job['code'])
continue
# * EXTRACT THUMBNAIL IMAGES
except cis_exceptions.FileAlreadyExistsException as e:
logger.log_msg('#%s: %s' \
% (job['code'], repr(e)), logger.LOG_LEVEL_ERROR)
+ self.notify_error(job['code'])
continue
except Exception as e:
logger.log_msg( \
'#%s: error while extracting thumbnail images: %s' \
- % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ self.notify_error(job['code'])
continue
# * CREATE TORRENTS AND START SEEDING OF TRANSCODED VIDEOS
except Exception as e:
logger.log_msg('#%s: error while transferring out: %s' \
% (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ self.notify_error(job['code'])
continue
# * NOTIFY WEB SERVER ABOUT CONTENT INGESTION COMPLETION
- # TODO in the future web server should also be notified about errors
try:
self.notify_completion(job['code'])
except Exception as e:
logger.log_msg(
'#%s: error while notifying web server about the job completion: %s' \
- % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ % (job['code'], repr(e)), logger.LOG_LEVEL_FATAL)
+ self.notify_error(job['code'])
continue
# * CLEANUP RAW VIDEOS AND THUMBNAIL IMAGES