/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()