def maketorrent(self, request): le = locale.getpreferredencoding() try: tmp = tempfile.mkstemp("", "kamTorrentMaker") make_meta_files( url=request.trackerurl, files=[(request.srcfile).decode(le)], piece_len_pow2=request.log2piecesizebytes, title=request.title, comment=request.comment, target=tmp[1], progressfunc=lambda x: None, filefunc=lambda x: None, ) tmpfile = os.fdopen(tmp[0]) metadata = tmpfile.read() tmpfile.close() os.unlink(tmp[1]) tmp, tmpfile = None, None self.send(metadata, "outbox") except BTFailure, e: print str(e)
def complete(self): try: make_meta_files( self.announce.encode('utf8'), self.file_list, flag=self.flag, progressfunc=self.set_progress_value, filefunc=self.set_file, piece_len_pow2=self.piece_length, title=self.title, comment=self.comment, use_tracker=self.config['use_tracker'], data_dir=self.config['data_dir'], ) if not self.flag.isSet(): self.SetTitle(_("Done.")) self.label.SetLabel(_("Done building torrents.")) self.set_progress_value(1) self.action_area.Show(self.cancelbutton, False) self.action_area.Show(self.seed_button, True) self.action_area.Show(self.done_button, True) self.vbox.Layout() except (OSError, IOError), e: self.SetTitle(_("Error!")) self.label.SetLabel( _("Error building torrents: ") + unicode(e.args[0]))
def complete(self): try: make_meta_files(self.announce_url, self.file_list, self.flag, self.set_progress_value, self.set_file, self.piece_length) if not self.flag.isSet(): self.set_title('Done.') self.label.set_text('Done building torrents.') self.set_progress_value(1) self.action_area.remove(self.cancelbutton) self.action_area.pack_start(self.done_button) self.done_button.show() except (OSError, IOError), e: self.set_title('Error!') self.label.set_text('Error building torrents: ' + str(e))
def complete(self): try: make_meta_files(self.announce.encode('utf8'), self.file_list, flag=self.flag, progressfunc=self.set_progress_value, filefunc=self.set_file, piece_len_pow2=self.piece_length, title=self.title, comment=self.comment, use_tracker=self.config['use_tracker'], data_dir=self.config['data_dir'], ) if not self.flag.isSet(): self.SetTitle(_("Done.")) self.label.SetLabel(_("Done building torrents.")) self.set_progress_value(1) self.action_area.Show(self.cancelbutton, False) self.action_area.Show(self.seed_button, True) self.action_area.Show(self.done_button, True) self.vbox.Layout() except (OSError, IOError), e: self.SetTitle(_("Error!")) self.label.SetLabel(_("Error building torrents: ") + unicode(e.args[0]))
def complete(self): try: make_meta_files(self.announce, self.file_list, flag=self.flag, progressfunc=self.set_progress_value, filefunc=self.set_file, piece_len_pow2=self.piece_length, comment=self.comment, use_tracker=config['use_tracker'], data_dir=config['data_dir'], ) if not self.flag.isSet(): self.set_title(_("Done.")) self.label.set_text(_("Done building torrents.")) self.set_progress_value(1) self.action_area.remove(self.cancelbutton) self.action_area.pack_start(self.seed_button) self.action_area.pack_start(self.done_button) self.seed_button.show() self.done_button.show() except (OSError, IOError), e: self.set_title(_("Error!")) self.label.set_text(_("Error building torrents: ") + str(e))
def maketorrent(self, filename, request, msg): self._logger.debug('Going to make torrent: %s', filename) def dc(v): #print v pass def prog(amount): #print '%.1f%% complete\r' % (amount * 100), #self._logger.debug('%.1f%% complete', amount * 100) pass config = self.maketorent_config trackers = msg['args']['trackers'] if trackers: tracker = trackers[0] else: tracker = config['tracker_name'] msg['trackers'] = [tracker] try: meta = make_meta_files(bytes(tracker), [filename], progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], comment=config['comment'], target=config['target'], filesystem_encoding=config['filesystem_encoding'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) metainfo_file = open(filename + '.torrent', 'rb') metainfo = bdecode(metainfo_file.read()) metainfo_file.close() info = metainfo['info'] info_hash = sha(bencode(info)) msg['args']['sha1'] = info_hash.hexdigest() msg['result'] = 'success' except BTFailure, e: msg['result'] = 'failed' msg['traceback'] = "Excepition BTFailure: %s" % str(e)
print '%.1f%% complete\r' % (amount * 100), if __name__ == '__main__': config, args = configfile.parse_configuration_and_args(defaults, 'maketorrent-console', sys.argv[1:], minargs=2) le = locale.getpreferredencoding() try: url_list = None if config.get('url'): url_list = [config['url']] make_meta_files(args[0], [s.decode(le) for s in args[1:]], url_list=url_list, progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], title=config['title'], comment=config['comment'], content_type=config['content_type'], # what to do in # multifile case? target=config['target'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) except BTFailure, e: print unicode(e.args[0]) sys.exit(1)
def dc(v): print v def prog(amount): print '%.1f%% complete\r' % (amount * 100), if __name__ == '__main__': config, args = configfile.parse_configuration_and_args(defaults, 'maketorrent-console', sys.argv[1:], 0, None) if len(sys.argv) <= 1: printHelp('maketorrent-console', defaults) else: try: make_meta_files(args[0], args[1:], progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], comment=config['comment'], target=config['target'], filesystem_encoding=config['filesystem_encoding'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) except BTFailure, e: print str(e) sys.exit(1)
del name, value, doc def dc(v): print v def prog(amount): print '%.1f%% complete\r' % (amount * 100), if __name__ == '__main__': config, args = configfile.parse_configuration_and_args(defaults, 'maketorrent-console', sys.argv[1:], minargs=1) le = locale.getpreferredencoding() try: make_meta_files(args[0], [s.decode(le) for s in args[1:]], progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], title=config['title'], comment=config['comment'], target=config['target'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) except BTFailure, e: print unicode(e.args[0]) sys.exit(1)
def dc(v): print v def prog(amount): print '%.1f%% complete\r' % (amount * 100), if __name__ == '__main__': config, args = configfile.parse_configuration_and_args( defaults, 'maketorrent-console', sys.argv[1:], 0, None) if len(sys.argv) <= 1: printHelp('maketorrent-console', defaults) else: try: make_meta_files(args[0], args[1:], progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], comment=config['comment'], target=config['target'], filesystem_encoding=config['filesystem_encoding'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) except BTFailure, e: print str(e) sys.exit(1)
if __name__ == '__main__': config, args = configfile.parse_configuration_and_args( defaults, 'maketorrent-console', sys.argv[1:], minargs=2) le = locale.getpreferredencoding() try: url_list = None if config.get('url'): url_list = [config['url']] make_meta_files( args[0], [s.decode(le) for s in args[1:]], url_list=url_list, progressfunc=prog, filefunc=dc, piece_len_pow2=config['piece_size_pow2'], title=config['title'], comment=config['comment'], content_type=config['content_type'], # what to do in # multifile case? target=config['target'], use_tracker=config['use_tracker'], data_dir=config['data_dir']) except BTFailure, e: print unicode(e.args[0]) sys.exit(1)