Home | Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # 4 # Copyright 2007 Zuza Software Foundation 5 # 6 # This file is part of translate. 7 # 8 # translate is free software; you can redistribute it and/or modify 9 # it under the terms of the GNU General Public License as published by 10 # the Free Software Foundation; either version 2 of the License, or 11 # (at your option) any later version. 12 # 13 # translate is distributed in the hope that it will be useful, 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License 19 # along with translate; if not, write to the Free Software 20 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 22 """This module provides functionality to work with zip files.""" 23 24 # Perhaps all methods should work with a wildcard to limit searches in some 25 # way (examples: *.po, base.xlf, pootle-terminology.tbx) 26 27 #TODO: consider also providing directories as we currently provide files 28 29 #TODO: refactor with existing zip code (xpi.py, etc.) 30 31 from os import path 32 from zipfile import ZipFile 33 34 from translate.storage import factory 35 from translate.storage import directory 36 from translate.misc import wStringIO 37 3840 """This class represents a ZIP file like a directory.""" 41 456347 """Iterator over all the units in all the files in this zip file.""" 48 for dirname, filename in self.file_iter(): 49 strfile = wStringIO.StringIO(self.archive.read(path.join(dirname, filename))) 50 strfile.filename = filename 51 store = factory.getobject(strfile) 52 #TODO: don't regenerate all the storage objects 53 for unit in store.unit_iter(): 54 yield unit55
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Jan 19 17:50:26 2011 | http://epydoc.sourceforge.net |