def index(request, wiki, path): w = get_object_or_404(Wiki, slug=wiki) filelist = [] # Get the folder path inside git repository if path: gitfolder = os.path.join('__media__', path) else: gitfolder = '__media__' # Check if the directory exists if w.repo.exists(gitfolder): # Get file list files = w.repo.get_folder_tree(gitfolder) # Append files to the list for the view for f in files: filelist.append({ 'url': urljoin(path, f['name']), 'name': f['name'], 'mimetype': f['type'] }) return {'wiki': { 'files': filelist, 'obj': w, 'breadcrumbs': breadcrumbify(path), 'forms': { 'upload': UploadDocumentForm({}) } }}
def index(request, wiki, path): w = get_object_or_404(Wiki, slug=wiki) attach_page = request.GET.get('attach', settings.WIKI_INDEX) if not w.repo.exists(u'{0}.md'.format(attach_page)): attach_page = settings.WIKI_INDEX filelist = [] # Get the folder path inside git repository if path: gitfolder = os.path.join('__media__', path) else: gitfolder = '__media__' # Check if the directory exists if w.repo.exists(gitfolder): # List directory directories, files = w.repo.listdir(gitfolder) # Append directories for d in directories: filelist.append({ 'url': urljoin(path, d.encode('utf-8')), 'name': d, 'mimetype': 'inode/directory' }) # Append files for f in files: filelist.append({ 'url': urljoin(path, f.encode('utf-8')), 'name': f, 'mimetype': w.repo.mimetype(os.path.join(gitfolder, f)) }) return {'wiki': { 'files': filelist, 'obj': w, 'attach_page': attach_page, 'breadcrumbs': breadcrumbify(path), 'forms': { 'upload': UploadDocumentForm({}) } }}