~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/dispatch/html.py

  • Committer: mattgiuca
  • Date: 2008-01-12 15:32:54 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:200
fileservice.listing: Now returns a nicer date format for mtime_nice.
    Applies an intuitive algorithm to make the date even shorter,
    (eg. "today" or "3 days ago") and returns this as mtime_short.
util.js: Fixed path_join if the first path is empty. (Was incorrectly adding
    a leading slash).
    Added optional "title" arguments to dom_make_text_elem and
    dom_make_link_elem.
browser.js: Displays mtime_short in the file table instead of mtime_nice
    (it was always too long). Displays the full date as a tooltip.
    Auto-navigates to the user's home directory if accessed from the root.
    (This may be a temporary measure, but it was giving a mean error before).
    Various code makes use of util's new optional "title" arguments.
dispatch.html: Writes a new JavaScript variable, "username", so JavaScript
    code knows which user is logged in.
    Cleaned up JS variables repr (previously they did bad escapes in some
    cases).

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
    req: An IVLE request object. Reads attributes such as title. Also used to
36
36
    write to."""
37
37
 
38
 
    app = conf.apps.app_url[req.app]
39
38
    # Write the XHTML opening and head element
40
39
    # Note the inline JavaScript, which provides the client with constants
41
40
    # derived from the server configuration.
49
48
<head>
50
49
  <title>%sIVLE</title>
51
50
  <meta http-equiv="Content-Type" content="%s; charset=utf-8" />
52
 
  <script type="text/javascript">
53
 
    root_dir = "%s";
 
51
""" % (titlepart, req.content_type))
 
52
    # Write inline JavaScript which gives the client code access to certain
 
53
    # server-side variables.
 
54
    if req.username:
 
55
        username = repr(req.username)
 
56
    else:
 
57
        username = "null"
 
58
    req.write("""  <script type="text/javascript">
 
59
    root_dir = %s;
 
60
    username = %s;
54
61
  </script>
55
 
""" % (titlepart, req.content_type,
56
 
        repr(conf.root_dir)[1:-1]))
57
 
    iconurl = get_icon_url(conf.apps.app_url[req.app])
 
62
""" % (repr(conf.root_dir), username))
 
63
    iconurl = get_icon_url(req.app)
58
64
    if iconurl:
59
65
        req.write("""  <link rel="shortcut icon" href="%s" />
60
66
""" % iconurl)
120
126
        help_path = 'help'
121
127
    return util.make_path(help_path)
122
128
 
123
 
def get_icon_url(app, small=False):
124
 
    """Given an App object, gets the URL of the icon image for this app,
 
129
def get_icon_url(appurl, small=False):
 
130
    """Given an app's url name, gets the URL of the icon image for this app,
125
131
    relative to the site root. Returns None if the app has no icon."""
 
132
    if appurl is None: return None
 
133
    app = conf.apps.app_url[appurl]
126
134
    if small:
127
135
        icon_dir = conf.apps.app_icon_dir_small
128
136
    else:
147
155
            li_attr = ''
148
156
        file.write('    <li%s>' % li_attr)
149
157
        if app.icon:
150
 
            file.write('<img src="%s" alt="" /> ' % get_icon_url(app))
 
158
            file.write('<img src="%s" alt="" /> ' % get_icon_url(urlname))
151
159
        file.write('<a href="%s">%s</a></li>\n'
152
160
            % (util.make_path(urlname), app.name))
153
161