/ui/file_picker.py

https://github.com/tdamdouni/Pythonista
Python | 21 lines | 16 code | 2 blank | 3 comment | 4 complexity | 3516c1f4492e37fc27a38149983f708d MD5 | raw file
  1. # @ui update for version 1.6
  2. # https://github.com/jsbain/uicomponents/blob/master/file_picker.py
  3. # coding: utf-8
  4. import dropdown, os, fnmatch
  5. class FilteredFileDropdown(dropdown.DropdownView):
  6. def __init__(self,frame=(0,0,300,32),name='dropdown', filter='*',base=os.path.expanduser('~/Documents/Dropbox')):
  7. self.frame=frame
  8. self.filter=filter
  9. self.base=base
  10. super(type(self),self).__init__(frame=frame,name=name,items=self.path_generator)
  11. def path_generator(self):
  12. for filename in os.listdir(self.base):
  13. if self.abort():
  14. return
  15. if fnmatch.fnmatch(filename,self.filter):
  16. yield filename
  17. if __name__=='__main__':
  18. d=FilteredFileDropdown(filter='*.py')
  19. d.present()