Beispiel #1
0
 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]))
Beispiel #3
0
 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_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_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]))
Beispiel #7
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)
Beispiel #13
0

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)