]> git.phdru.name Git - m_librarian.git/blob - m_librarian/download.py
361f7aa735549a783e80a0f4adcef6ae67464f43
[m_librarian.git] / m_librarian / download.py
1 #! /usr/bin/env python
2
3 import os
4 from time import mktime
5 from shutil import copyfileobj
6 from zipfile import ZipFile
7 from .config import get_config
8
9 __all__ = ['download']
10
11
12 _library_path = None
13
14
15 def download(archive, filename, date, path=None):
16     if path is None:
17         global _library_path
18         if _library_path is None:
19             _library_path = get_config().get('library', 'path')
20         path = _library_path
21
22     zf = ZipFile(os.path.join(path, archive),  'r')
23     infile = zf.open(filename)
24     outfile = open(filename, 'wb')
25     copyfileobj(infile, outfile)
26     outfile.close()
27     infile.close()
28     zf.close()
29     dt = mktime(date.timetuple())
30     os.utime(filename, (dt, dt))