| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/usr/bin/env python
- # The contents of this file are subject to the BitTorrent Open Source License
- # Version 1.1 (the License). You may not copy or use this file, in either
- # source code or executable form, except in compliance with the License. You
- # may obtain a copy of the License at http://www.bittorrent.com/license/.
- #
- # Software distributed under the License is distributed on an AS IS basis,
- # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- # for the specific language governing rights and limitations under the
- # License.
- # Written by Bram Cohen
- app_name = "BitTorrent"
- from BTL.translation import _
- import sys
- import locale
- from BitTorrent.defaultargs import get_defaults
- from BitTorrent import configfile
- from BitTorrent.makemetafile import make_meta_files
- from BitTorrent.parseargs import parseargs, printHelp
- from BitTorrent import BTFailure
- defaults = get_defaults('maketorrent-console')
- defaults.extend([
- ('target', '',
- _("optional target file for the torrent")),
- ])
- defconfig = dict([(name, value) for (name, value, doc) in defaults])
- 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=2)
- 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'],
- 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)
|