Skip to Content.
Sympa Menu

idok-commit - [idok-commit] idok commit r51 - trunk/python/pydok/test

idok-commit AT lists.psi.ch

Subject: Commit emails of the iDok project

List archive

[idok-commit] idok commit r51 - trunk/python/pydok/test


Chronological Thread 
  • From: "AFS account Roman Geus" <geus AT savannah.psi.ch>
  • To: idok-commit AT lists.psi.ch
  • Subject: [idok-commit] idok commit r51 - trunk/python/pydok/test
  • Date: Thu, 20 Mar 2008 16:31:28 +0100
  • List-archive: <https://lists.web.psi.ch/pipermail/idok-commit/>
  • List-id: Commit emails of the iDok project <idok-commit.lists.psi.ch>

Author: geus
Date: Thu Mar 20 16:31:28 2008
New Revision: 51

Log:
Improved usability and functionality of file and directory selection in
idok_upload_cgi.py

Modified:
trunk/python/pydok/test/idok_upload_cgi.py

Modified: trunk/python/pydok/test/idok_upload_cgi.py
==============================================================================
--- trunk/python/pydok/test/idok_upload_cgi.py (original)
+++ trunk/python/pydok/test/idok_upload_cgi.py Thu Mar 20 16:31:28 2008
@@ -191,57 +191,55 @@
idok_cli(["mkdir", "-m", "Created by idok_upload_cgi.py",
new_folder_url])
fo = StringIO.StringIO()
fo.write('<h1>Upload or link file to iDok</h1>')
- fo.write('<h2>Step 1 - Choose upload destination folder or file to
link</h2>')
- fo.write('<p>Current location: %s</p>' % folder_url)
- # Link to parent folder
- if folder != "":
- idx = folder.rfind("/")
- if idx == -1:
- parent_folder = ""
- else:
- parent_folder = folder[:idx]
- fo.write('<p>Go to parent folder: <a href="%s">Up</a></p>' %
- generate_self_url(output_mode, "folder", repository,
parent_folder))
+ fo.write('<h2>Choose upload destination folder or file to link</h2>')
+ fo.write('<p><b>Current location:</b> %s</p>' % folder_url)
+ # Continue button
+ fo.write('<form style="display:inline" action="idok_upload_cgi.py"
method="post">')
+ fo.write('<input type="submit" value="Continue to Upload">')
+ fo.write('<input type="hidden" name="output_mode" value=%s>' %
quoteattr(output_mode))
+ fo.write('<input type="hidden" name="page" value="upload">')
+ fo.write('<input type="hidden" name="repository" value=%s>' %
quoteattr(repository))
+ fo.write('<input type="hidden" name="folder" value=%s>' %
quoteattr(folder))
+ fo.write('</form>')
# Create new folder form
- fo.write('<form action="idok_upload_cgi.py" method="post">')
- fo.write('<p>Create new subfolder: <input name="dir_entry" type="text"
size="30" maxlength="30"><input type="submit" value=" Create "></p>')
+ fo.write('&nbsp;')
+ fo.write('<form style="display:inline" action="idok_upload_cgi.py"
method="post">')
+ fo.write('<input type="submit" value=" Create new folder">&nbsp;<input
name="dir_entry" type="text" size="30" maxlength="30">')
fo.write('<input type="hidden" name="output_mode" value=%s>' %
quoteattr(output_mode))
fo.write('<input type="hidden" name="page" value="folder">')
fo.write('<input type="hidden" name="repository" value=%s>' %
quoteattr(repository))
fo.write('<input type="hidden" name="folder" value=%s>' %
quoteattr(folder))
fo.write('</form>')
# Link to sub folders and files
+ fo.write('<ul>')
+ if folder != "":
+ # Link to parent folder
+ idx = folder.rfind("/")
+ if idx == -1:
+ parent_folder = ""
+ else:
+ parent_folder = folder[:idx]
+ fo.write('<li
style="list-style-image:url(/icons/small/back.gif);white-space:nowrap"><a
href="%s">..</a></li>' %
+ generate_self_url(output_mode, "folder", repository,
parent_folder))
+ # List of subdirectories
subdirs, files = idok_get_subdirs_and_files(folder_url)
- if subdirs:
- fo.write('Descend to subfolder:')
- fo.write('<ul>')
- for entry in subdirs:
- if folder == "":
- repository_path = entry
- else:
- repository_path = folder + "/" + entry
- sub_url = generate_self_url(output_mode, "folder", repository,
repository_path)
- fo.write('<li><a href="%s">%s</a></li>' % (sub_url,
escape(entry)))
- fo.write('</ul>')
- if files:
- fo.write('Link to file:')
- fo.write('<ul>')
- for entry in files:
- if output_mode == "iframe":
- sub_url = generate_self_url(output_mode, "link_file",
repository, folder) \
+ for entry in subdirs:
+ if folder == "":
+ repository_path = entry
+ else:
+ repository_path = folder + "/" + entry
+ sub_url = generate_self_url(output_mode, "folder", repository,
repository_path)
+ fo.write('<li
style="list-style-image:url(/icons/small/dir.gif);white-space:nowrap"><a
href="%s">%s</a></li>' % (sub_url, escape(entry)))
+ # List of files
+ for entry in files:
+ view_url = generate_idok_url(BASE_URL, repository, folder, entry)

+ if output_mode == "iframe":
+ link_url = generate_self_url(output_mode, "link_file",
repository, folder) \
+ "&dir_entry=" + urllib.quote_plus(entry)
- else:
- sub_url = generate_idok_url(BASE_URL, repository, folder,
entry)
- fo.write('<li><a href="%s">%s</a></li>' % (sub_url,
escape(entry)))
- fo.write('</ul>')
- # Continue button
- fo.write('<form action="idok_upload_cgi.py" method="post">')
- fo.write('<p><input type="submit" value="Continue to Upload"></p>')
- fo.write('<input type="hidden" name="output_mode" value=%s>' %
quoteattr(output_mode))
- fo.write('<input type="hidden" name="page" value="upload">')
- fo.write('<input type="hidden" name="repository" value=%s>' %
quoteattr(repository))
- fo.write('<input type="hidden" name="folder" value=%s>' %
quoteattr(folder))
- fo.write('</form>')
+ fo.write('<li
style="list-style-image:url(/icons/small/text.gif);white-space:nowrap"><a
href="%s">%s</a>&nbsp;<a href="%s">&rarr;</a></li>' % (view_url,
escape(entry), link_url))
+ else:
+ fo.write('<li
style="list-style-image:url(/icons/small/text.gif);white-space:nowrap"><a
href="%s">%s</a></li>' % (view_url, escape(entry)))
+ fo.write('</ul>')
print "Content-Type: text/html; charset=utf-8"
print
print """<html>
@@ -251,7 +249,7 @@
print """</body>
</html>
"""
-
+
def page_upload(form):
"Handle page choosing the file to be uploaded and perform the actual
upload"
output_mode = form.getfirst("output_mode", "standalone")
@@ -265,7 +263,7 @@
dest_folder_url = generate_idok_url(BASE_URL, repository, folder)
fo = StringIO.StringIO()
fo.write("<h1>Upload or link file to iDok</h1>")
- fo.write('<h2>Step 2 - Choose file to upload</h2>')
+ fo.write('<h2>Choose file to upload</h2>')
fo.write('<p>Files will be uploaded to <a href="%s"
target="_blank">%s</a></p>' %
(dest_folder_url, escape(dest_folder_url)))
# Choose file form
@@ -320,7 +318,7 @@
tempf.close()
# Link back to step 1
back_url = generate_self_url(output_mode, "folder", repository, folder)
- fo.write('<p><a href="%s">Back to step 1</a></p>' % back_url)
+ fo.write('<p><a href="%s">Back to folder/file selection</a></p>' %
back_url)
# Write output, format depending on output_mode
if output_mode == "js" and callback:
import json
@@ -346,6 +344,7 @@
print """</body>
</html>
"""
+
def page_link_file(form):
"""Complete the "link file" operation by sending a "Location" header




  • [idok-commit] idok commit r51 - trunk/python/pydok/test, AFS account Roman Geus, 03/20/2008

Archive powered by MHonArc 2.6.19.

Top of Page