/bin/GitHub Tools/gitview/repo_finder.py

https://bitbucket.org/Thulsey/pythonista
Python | 20 lines | 18 code | 2 blank | 0 comment | 5 complexity | 03623cb7cc4941f82d8c55a2b6d47018 MD5 | raw file
  1. import dropdown, os, fnmatch
  2. class FilteredDirDropdown(dropdown.DropdownView):
  3. def __init__(self,frame=(0,0,300,32),name='dropdown', filter='*',base=os.path.expanduser('~/Documents'), exclude='.Trash'):
  4. self.frame=frame
  5. self.filter=filter
  6. self.base=base
  7. self.exclude=exclude
  8. super(type(self),self).__init__(
  9. frame=frame,
  10. name=name,
  11. items=self.path_generator)
  12. def path_generator(self):
  13. for rootpath,dirs,_ in os.walk(self.base):
  14. for d in dirs:
  15. if self.abort():
  16. return
  17. if fnmatch.fnmatch(d,self.filter) and self.exclude not in rootpath:
  18. yield os.path.relpath(rootpath,self.base)