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 directories.""" 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 from translate.storage import factory 30 from os import path 3133 """This class represents a directory.""" 377139 """Iterator over (dir, filename) for all files in this directory.""" 40 if not self.filedata: 41 self.scanfiles() 42 for filetuple in self.filedata: 43 yield filetuple4446 """Returns a list of (dir, filename) tuples for all the file names in 47 this directory.""" 48 return [filetuple for filetuple in self.file_iter()]4951 """Iterator over all the units in all the files in this directory.""" 52 for dirname, filename in self.file_iter(): 53 store = factory.getobject(path.join(dirname, filename)) 54 #TODO: don't regenerate all the storage objects 55 for unit in store.unit_iter(): 56 yield unit5759 """List of all the units in all the files in this directory.""" 60 return [unit for unit in self.unit_iter()]6163 """Populate the internal file data.""" 64 self.filedata = [] 65 def addfile(arg, dirname, fnames): 66 for fname in fnames: 67 if path.isfile(path.join(dirname, fname)): 68 self.filedata.append((dirname, fname))69 70 path.walk(self.dir, addfile, None)
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Sep 23 13:51:37 2008 | http://epydoc.sourceforge.net |