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 translate.storage import factory 32 from translate.storage import directory 33 from translate.misc import wStringIO 34 from os import path 35 from zipfile import ZipFile 3638 """This class represents a ZIP file like a directory.""" 426044 """Iterator over all the units in all the files in this zip file.""" 45 for dirname, filename in self.file_iter(): 46 strfile = wStringIO.StringIO(self.archive.read(path.join(dirname, filename))) 47 strfile.filename = filename 48 store = factory.getobject(strfile) 49 #TODO: don't regenerate all the storage objects 50 for unit in store.unit_iter(): 51 yield unit52
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Mar 3 16:38:14 2010 | http://epydoc.sourceforge.net |