Author: dmeyer
Date: Fri Feb 24 17:40:47 2006
New Revision: 7934

Added:
   trunk/WIP/webserver/src/view/
   trunk/WIP/webserver/src/view/__init__.py
   trunk/WIP/webserver/src/view/view.tmpl

Log:
add view image pages

Added: trunk/WIP/webserver/src/view/__init__.py
==============================================================================
--- (empty file)
+++ trunk/WIP/webserver/src/view/__init__.py    Fri Feb 24 17:40:47 2006
@@ -0,0 +1,71 @@
+import os
+import sys
+import stat
+import md5
+
+import kaa.vfs
+
+import kaa.thumb
+from kaa.thumb.interface import DOT_THUMBNAIL
+import kaa.cherrypy
+
+import freevo.conf
+
+# basic page style
+from freevo.webserver2.pages import header, register
+
+# templates
+import view
+
+kaa.vfs.connect('/home/dmeyer/.vfs')
+
+# root for browse
+class Root:
+    
+    def get_image(self, item):
+        """
+        Return an image for the item.
+        """
+        t = item.getattr('thumbnail')
+        if t.image:
+            return '/thumbnails' + t.image[len(DOT_THUMBNAIL):]
+        return '/mimetypes/folder_image.png'
+
+
+    def get_url(self, item):
+        """
+        Return an url for the item.
+        """
+        if item.getattr('type') == 'dir':
+            return '/view' + item.filename[len(self.config.static['/pics']):]
+        return '/pics' + item.filename[len(self.config.static['/pics']):]
+
+
+    @kaa.cherrypy.expose(template=view)
+    def index(self):
+        dirname = self.config.static['/pics']
+        print dirname
+        listing = kaa.vfs.get(dirname).listdir()
+        
+        return dict(listing=listing, image=self.get_image,
+                    url=self.get_url, header=header('/view'))
+
+    
+    @kaa.cherrypy.expose(template=view)
+    def default(self, *args):
+        dirname = self.config.static['/pics'] + '/' + '/'.join(args)
+        print dirname
+        listing = kaa.vfs.get(dirname).listdir()
+
+        return dict(listing=listing, image=self.get_image,
+                    url=self.get_url, header=header('/view'))
+
+
+# add something to the cherrypy config
+static = kaa.cherrypy.config.static
+static['/pics'] = '/home/dmeyer/images/fotos/Kykladen2002'
+static['/thumbnails'] = DOT_THUMBNAIL
+static['/mimetypes'] = freevo.conf.SHAREDIR + '/icons/themes/blurr/mimetypes'
+
+# register pages
+register(80, '/view', _('View Images'))

Added: trunk/WIP/webserver/src/view/view.tmpl
==============================================================================
--- (empty file)
+++ trunk/WIP/webserver/src/view/view.tmpl      Fri Feb 24 17:40:47 2006
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html>
+  
+  <head>
+    <title>Freevo | Image Browser</title>
+    <meta http-equiv="Content-Type" content= "text/html; charset=utf-8" />
+    <link rel="stylesheet" href="/styles/main.css" type="text/css" />
+  </head>
+  
+  <body>
+    $header
+
+    #set $pos = 0
+
+    <table border="0">
+      <tr>
+       #for $item in $listing
+       #if $item.getattr('type') == 'dir'
+       #if $pos and $pos % 5 == 0
+      </tr>
+      <tr>
+       #end if
+       #set $pos = $pos + 1
+       <td>
+         <a href="$url(item)"><img src="$image(item)" 
alt="$item.getattr('name')"
+                                   title="$item.getattr('name')" 
border="0"></img></a>
+       </td>
+       #end if
+       #end for
+
+       #for $item in $listing
+       #if $item.getattr('type') == 'image'
+       #if $pos and $pos % 5 == 0
+      </tr>
+      <tr>
+       #end if
+       #set $pos = $pos + 1
+       <td>
+         <a href="$url(item)"><img src="$image(item)" 
alt="$item.getattr('name')"
+                                   title="$item.getattr('name')" 
border="0"></img></a>
+       </td>
+       #end if
+       #end for
+      </tr>
+    </table>
+
+    #if $pos == 0
+    <div>
+      No images or subdirectories found
+    </div>
+    #end if
+  </body>
+</html>


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to