コード例 #1
0
ファイル: views.py プロジェクト: linkdd/pompadour-wiki
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({})
        }
    }}
コード例 #2
0
ファイル: views.py プロジェクト: 9h37/pompadour-wiki
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({})
        }
    }}