X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fdownload.py;h=e10e9fe0e49fad48421354bce8ebd04915710ce6;hb=b446a389796d3e6922ce93f089e25324765a8c62;hp=8e309cb3cbda9a26b856d4f778fbcb25157740ab;hpb=8d0cd0faf04cf7a988b77d6fe2a4285444a2f3ea;p=m_librarian.git diff --git a/m_librarian/download.py b/m_librarian/download.py index 8e309cb..e10e9fe 100755 --- a/m_librarian/download.py +++ b/m_librarian/download.py @@ -1,5 +1,6 @@ #! /usr/bin/env python +from __future__ import print_function import os from time import mktime from shutil import copyfileobj @@ -20,7 +21,7 @@ def _compile_format(): compile_format = False try: format = get_config().get('download', 'format') - except: + except Exception: return got_percent = False compiled = [] @@ -63,12 +64,12 @@ def _compile_format(): _library_path = None -def download(book, path=None, a_format=None): - if path is None: +def download(book, dest_path=None, lib_path=None, a_format=None): + if lib_path is None: global _library_path if _library_path is None: _library_path = get_config().get('library', 'path') - path = _library_path + lib_path = _library_path global format, compile_format, compiled_format if a_format: @@ -91,24 +92,26 @@ def download(book, path=None, a_format=None): if '%(extension)s' not in compiled_format: compiled_format += '.%(extension)s' filename = compiled_format % bdict + full_path = os.path.join(dest_path, filename) try: - os.makedirs(os.path.dirname(filename)) + os.makedirs(os.path.dirname(full_path)) except OSError: pass # Already exists - zf = ZipFile(os.path.join(path, book.archive), 'r') + zf = ZipFile(os.path.join(lib_path, book.archive), 'r') infile = zf.open('%s.%s' % (book.file, book.extension.name)) - outfile = open(filename, 'wb') + outfile = open(full_path, 'wb') copyfileobj(infile, outfile) outfile.close() infile.close() zf.close() dt = mktime(book.date.timetuple()) - os.utime(filename, (dt, dt)) + os.utime(full_path, (dt, dt)) def test(): _compile_format() - print compiled_format + print(compiled_format) + if __name__ == '__main__': test()