FileListing¶
- class FileListing(path, filter_func=None, sorting_by=None, sorting_order=None)¶
Returns a list of FileObjects for a server path, see FileObject.
Parameters: - path – Relative path to a location within site.storage.location.
- filter_func – Filter function, see example below.
- sorting_by – Sort the files by any attribute of FileObject.
- sorting_order – Sorting order, either “asc” or “desc”.
If you want to list all files within a storage location you do:
from filebrowser.sites import site
from filebrowser.base import FileListing
filelisting = FileListing(site.storage.location, sorting_by='date', sorting_order='desc')
Use a custom filter function to limit the list of files:
def filter_filelisting(item):
# item is a FileObject
return item.filetype != "Folder"
filelisting = FileListing(site.storage.location, filter_func=filter_listing, sorting_by='date', sorting_order='desc')
Methods¶
For the below examples, we’re using this folder-structure.:
/media/uploads/testfolder/testimage.jpg
/media/uploads/blog/1/images/blogimage.jpg
Note
We defined filter_browse as filter_func (see sites.py). And we did not define a VERSIONS_BASEDIR for this demonstration, though it is highly recommended to use one.
- listing()¶
Returns all items for the given path with os.listdir(path):
>>> for item in filelisting.listing(): ... print item blog testfolder
- walk()¶
Returns all items for the given path with os.walk(path):
>>> for item in filelisting.walk(): ... print item blog blog/1 blog/1/images blog/1/images/blogimage.jpg blog/1/images/blogimage_admin_thumbnail.jpg blog/1/images/blogimage_medium.jpg blog/1/images/blogimage_small.jpg blog/1/images/blogimage_thumbnail.jpg testfolder testfolder/testimage.jpg
- files_listing_total()¶
Returns a sorted list of FileObjects for listing():
>>> for item in filelisting.files_listing_total(): ... print item uploads/blog/ uploads/testfolder/
- files_walk_total()¶
Returns a sorted list of FileObjects for walk():
>>> for item in filelisting.files_walk_total(): ... print item uploads/blog/ uploads/blog/1/ uploads/blog/1/images/ uploads/blog/1/images/blogimage.jpg uploads/blog/1/images/blogimage_admin_thumbnail.jpg uploads/blog/1/images/blogimage_medium.jpg uploads/blog/1/images/blogimage_small.jpg uploads/blog/1/images/blogimage_thumbnail.jpg uploads/testfolder/ uploads/testfolder/testimage.jpg
- files_listing_filtered()¶
Returns a sorted and filtered list of FileObjects for listing():
>>> for item in filelisting.files_listing_filtered(): ... print item uploads/blog/ uploads/testfolder/
- files_walk_filtered()¶
Returns a sorted and filtered list of FileObjects for walk():
>>> for item in filelisting.files_walk_filtered(): ... print item uploads/blog/ uploads/blog/1/ uploads/blog/1/images/ uploads/blog/1/images/blogimage.jpg uploads/testfolder/ uploads/testfolder/testimage.jpg
Note
The versions are not listed (compared with files_walk_total) because of filter_func.
- results_listing_total()¶
Number of total files, based on files_listing_total():
>>> filelisting.results_listing_total() 2
- results_walk_total()¶
Number of total files, based on files_walk_total():
>>> filelisting.results_walk_total() 10
- results_listing_filtered()¶
Number of filtered files, based on files_listing_filtered():
>>> filelisting.results_listing_filtered() 2
- results_walk_filtered()¶
Number of filtered files, based on files_walk_filtered():
>>> filelisting.results_walk_filtered() 6