def browse(request): """ Browse Files/Directories. """ query = request.GET.copy() abs_path = u'%s' % os.path.join(MEDIA_ROOT, DIRECTORY, query.get('dir', '')) filelisting = FileListing(abs_path, filter_func=filter_browse, sorting_by=query.get('o', DEFAULT_SORTING_BY), sorting_order=query.get('ot', DEFAULT_SORTING_ORDER)) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() # If we do a search, precompile the search pattern now do_search = query.get("q") if do_search: re_q = re.compile(query.get("q").lower(), re.M) filter_type = query.get('filter_type') filter_date = query.get('filter_date') for fileobject in listing: # date/type filter append = False if (not filter_type or fileobject.filetype == filter_type) and (not filter_date or get_filterdate(filter_date, fileobject.date or 0)): append = True # search if do_search and not re_q.search(fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = len(listing) filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get('p', '1') try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render_to_response('filebrowser/index.html', { 'p': p, 'page': page, 'filelisting': filelisting, 'query': query, 'title': _(u'FileBrowser'), 'settings_var': get_settings_var(), 'breadcrumbs': get_breadcrumbs(query, query.get('dir', '')), 'breadcrumbs_title': "" }, context_instance=Context(request))
def browse(request): """ Browse Files/Directories. """ query = request.GET.copy() abs_path = u'%s' % os.path.join(MEDIA_ROOT, DIRECTORY, query.get( 'dir', '')) filelisting = FileListing(abs_path, filter_func=filter_browse, sorting_by=query.get('o', DEFAULT_SORTING_BY), sorting_order=query.get('ot', DEFAULT_SORTING_ORDER)) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() for fileobject in listing: # date/type filter append = False if fileobject.filetype == query.get( 'filter_type', fileobject.filetype) and get_filterdate( query.get('filter_date', ''), fileobject.date or 0): append = True # search if query.get("q") and not re.compile(query.get("q").lower(), re.M).search( fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = filelisting.results_listing_filtered filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get('p', '1') try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render_to_response( 'filebrowser/index.html', { 'p': p, 'page': page, 'filelisting': filelisting, 'query': query, 'title': _(u'FileBrowser'), 'settings_var': get_settings_var(), 'breadcrumbs': get_breadcrumbs(query, query.get('dir', '')), 'breadcrumbs_title': "" }, context_instance=Context(request))
def browse(request): """ Browse Files/Directories. """ query = request.GET.copy() user = request.user.username abs_path = u'%s' % os.path.join(MEDIA_ROOT, DIRECTORY, user, query.get('dir', '')) if not abs_path.startswith(request.user.get_profile().media_path) and \ not request.user.is_superuser: raise Http403("You may not access this directory") filelisting = FileListing(abs_path, filter_func=filter_browse, sorting_by=query.get('o', DEFAULT_SORTING_BY), sorting_order=query.get('ot', DEFAULT_SORTING_ORDER)) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() for fileobject in listing: # date/type filter append = False if fileobject.filetype == query.get('filter_type', fileobject.filetype) and get_filterdate(query.get('filter_date', ''), fileobject.date or 0): append = True # search if query.get("q") and not re.compile(query.get("q").lower(), re.M).search(fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = filelisting.results_listing_filtered filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get('p', '1') try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render_to_response('filebrowser/index.html', { 'p': p, 'page': page, 'filelisting': filelisting, 'query': query, 'title': _(u'FileBrowser'), 'settings_var': get_settings_var(), 'breadcrumbs': get_breadcrumbs(query, query.get('dir', '')), 'breadcrumbs_title': "" }, context_instance=Context(request))
def browse(self, request): "Browse Files/Directories." filter_re = [] for exp in EXCLUDE: filter_re.append(re.compile(exp)) # do not filter if VERSIONS_BASEDIR is being used if not VERSIONS_BASEDIR: for k, v in VERSIONS.items(): exp = (r'_%s(%s)$') % (k, '|'.join(EXTENSION_LIST)) filter_re.append(re.compile(exp, re.IGNORECASE)) def filter_browse(item): "Defining a browse filter" filtered = item.filename.startswith('.') for re_prefix in filter_re: if re_prefix.search(item.filename): filtered = True if filtered: return False return True query = request.GET.copy() path = u'%s' % os.path.join(self.directory, query.get('dir', '')) filelisting = FileListing( path, filter_func=filter_browse, sorting_by=query.get('o', DEFAULT_SORTING_BY), sorting_order=query.get('ot', DEFAULT_SORTING_ORDER), site=self) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() # If we do a search, precompile the search pattern now do_search = query.get("q") if do_search: re_q = re.compile(query.get("q").lower(), re.M) filter_type = query.get('filter_type') filter_date = query.get('filter_date') for fileobject in listing: # date/type filter append = False if (not filter_type or fileobject.filetype == filter_type) and (not filter_date or get_filterdate(filter_date, fileobject.date or 0)): append = True # search if do_search and not re_q.search(fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = len(listing) filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get('p', '1') try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render(request, 'filebrowser/index.html', admin_context({ 'p': p, 'page': page, 'filelisting': filelisting, 'query': query, 'title': _(u'FileBrowser'), 'is_popup': "pop" in request.GET, # ChangeList uses "pop" 'settings_var': get_settings_var(directory=self.directory), 'breadcrumbs': get_breadcrumbs(query, query.get('dir', '')), 'breadcrumbs_title': "", 'filebrowser_site': self }, request))
def browse(self, request): """ Browse Files/Directories. """ filter_re = [] for exp in EXCLUDE: filter_re.append(re.compile(exp)) for k,v in VERSIONS.iteritems(): exp = (r'_%s(%s)') % (k, '|'.join(EXTENSION_LIST)) filter_re.append(re.compile(exp)) def filter_browse(item): filtered = item.filename.startswith('.') for re_prefix in filter_re: if re_prefix.search(item.filename): filtered = True if filtered: return False return True query = request.GET.copy() path = u'%s' % os.path.join(self.directory, query.get('dir', '')) filelisting = FileListing(path, filter_func=filter_browse, sorting_by=query.get('o', DEFAULT_SORTING_BY), sorting_order=query.get('ot', DEFAULT_SORTING_ORDER), site=self) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() # If we do a search, precompile the search pattern now do_search = query.get("q") if do_search: re_q = re.compile(query.get("q").lower(), re.M) filter_type = query.get('filter_type') filter_date = query.get('filter_date') for fileobject in listing: # date/type filter append = False if (not filter_type or fileobject.filetype == filter_type) and (not filter_date or get_filterdate(filter_date, fileobject.date or 0)): append = True # search if do_search and not re_q.search(fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = len(listing) filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get('p', '1') try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render_to_response('filebrowser/index.html', { 'p': p, 'page': page, 'filelisting': filelisting, 'query': query, 'title': _(u'FileBrowser'), 'is_popup': "pop" in request.REQUEST, # ChangeList uses "pop" 'settings_var': get_settings_var(directory=self.directory), 'breadcrumbs': get_breadcrumbs(query, query.get('dir', '')), 'breadcrumbs_title': "", 'filebrowser_site': self }, context_instance=Context(request, current_app=self.name))
def browse(self, request): """ Browse Files/Directories. """ filter_re = [] for exp in EXCLUDE: filter_re.append(re.compile(exp)) for k, v in VERSIONS.iteritems(): exp = (r"_%s(%s)") % (k, "|".join(EXTENSION_LIST)) filter_re.append(re.compile(exp)) def filter_browse(item): filtered = item.filename.startswith(".") for re_prefix in filter_re: if re_prefix.search(item.filename): filtered = True if filtered: return False return True query = request.GET.copy() path = u"%s" % os.path.join(self.directory, query.get("dir", "")) filelisting = FileListing( path, filter_func=filter_browse, sorting_by=query.get("o", DEFAULT_SORTING_BY), sorting_order=query.get("ot", DEFAULT_SORTING_ORDER), site=self, ) files = [] if SEARCH_TRAVERSE and query.get("q"): listing = filelisting.files_walk_filtered() else: listing = filelisting.files_listing_filtered() # If we do a search, precompile the search pattern now do_search = query.get("q") if do_search: re_q = re.compile(query.get("q").lower(), re.M) filter_type = query.get("filter_type") filter_date = query.get("filter_date") for fileobject in listing: # date/type filter append = False if (not filter_type or fileobject.filetype == filter_type) and ( not filter_date or get_filterdate(filter_date, fileobject.date or 0) ): append = True # search if do_search and not re_q.search(fileobject.filename.lower()): append = False # append if append: files.append(fileobject) filelisting.results_total = len(listing) filelisting.results_current = len(files) p = Paginator(files, LIST_PER_PAGE) page_nr = request.GET.get("p", "1") try: page = p.page(page_nr) except (EmptyPage, InvalidPage): page = p.page(p.num_pages) return render_to_response( "filebrowser/index.html", { "p": p, "page": page, "filelisting": filelisting, "query": query, "title": _(u"FileBrowser"), "settings_var": get_settings_var(directory=self.directory), "breadcrumbs": get_breadcrumbs(query, query.get("dir", "")), "breadcrumbs_title": "", "site": self, }, context_instance=Context(request, current_app=self.name), )