Index: documentViewer.py
===================================================================
--- documentViewer.py	(revision 51)
+++ documentViewer.py	(revision 52)
@@ -3,5 +3,5 @@
 from OFS.Folder import Folder
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
-from Products.PageTemplates.PageTemplateFile import PageTemplateFile
+from Products.PageTemplates.PageTemplateFile import PageTemplateFile 
 from AccessControl import ClassSecurityInfo
 from AccessControl import getSecurityManager
@@ -19,7 +19,12 @@
 import urllib
 import logging
-import zLOG
+
 import urlparse 
 
+def logger(txt,method,txt2):
+    """logging"""
+    logging.info(txt+ txt2)
+    
+    
 def getInt(number, default=0):
     """returns always an int (0 in case of problems)"""
@@ -110,5 +115,5 @@
         '''
         
-        zLOG.LOG("documentViewer (index)", zLOG.INFO, "mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn))
+        logger("documentViewer (index)", logging.INFO, "mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn))
         
         if not hasattr(self, 'template'):
@@ -128,5 +133,6 @@
             else:
                 viewMode="images"
-                
+               
+
         return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode)
   
@@ -150,5 +156,5 @@
     def getStyle(self, idx, selected, style=""):
         """returns a string with the given style and append 'sel' if path == selected."""
-        #zLOG.LOG("documentViewer (getstyle)", zLOG.INFO, "idx: %s selected: %s style: %s"%(idx,selected,style))
+        #logger("documentViewer (getstyle)", logging.INFO, "idx: %s selected: %s style: %s"%(idx,selected,style))
         if idx == selected:
             return style + 'sel'
@@ -160,7 +166,7 @@
         """returns if access to the resource is granted"""
         access = docinfo.get('accessType', None)
-        zLOG.LOG("documentViewer (accessOK)", zLOG.INFO, "access type %s"%access)
+        logger("documentViewer (accessOK)", logging.INFO, "access type %s"%access)
         if access is not None and access == 'free':
-            zLOG.LOG("documentViewer (accessOK)", zLOG.INFO, "access is free")
+            logger("documentViewer (accessOK)", logging.INFO, "access is free")
             return True
         elif access is None or access in self.authgroups:
@@ -173,5 +179,5 @@
                 return False
         
-        zLOG.LOG("documentViewer (accessOK)", zLOG.INFO, "unknown access type %s"%access)
+        logger("documentViewer (accessOK)", logging.INFO, "unknown access type %s"%access)
         return False
     
@@ -185,5 +191,5 @@
         infoUrl=self.digilibBaseUrl+"/dirInfo-xml.jsp?mo=dir&fn="+path
     
-        zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo from %s"%(infoUrl))
+        logger("documentViewer (getparamfromdigilib)", logging.INFO, "dirInfo from %s"%(infoUrl))
         
         for cnt in range(num_retries):
@@ -194,10 +200,10 @@
                 break
             except:
-                zLOG.LOG("documentViewer (getdirinfofromdigilib)", zLOG.ERROR, "error reading %s (try %d)"%(infoUrl,cnt))
+                logger("documentViewer (getdirinfofromdigilib)", logging.ERROR, "error reading %s (try %d)"%(infoUrl,cnt))
         else:
             raise IOError("Unable to get dir-info from %s"%(infoUrl))
         
         sizes=dom.xpath("//dir/size")
-        zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo:size"%sizes)
+        logger("documentViewer (getparamfromdigilib)", logging.INFO, "dirInfo:size"%sizes)
         
         if sizes:
@@ -232,5 +238,5 @@
                 break
             except:
-                zLOG.LOG("ERROR documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
+                logger("ERROR documentViewer (getIndexMata)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2])
                 
         if dom is None:
@@ -261,5 +267,5 @@
                 break
             except:
-                zLOG.LOG("ERROR documentViewer (getPresentationInfoXML)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
+                logger("ERROR documentViewer (getPresentationInfoXML)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2])
                 
         if dom is None:
@@ -271,5 +277,5 @@
     def getAuthinfoFromIndexMeta(self,path,docinfo=None,dom=None):
         """gets authorization info from the index.meta file at path or given by dom"""
-        zLOG.LOG("documentViewer (getauthinfofromindexmeta)", zLOG.INFO,"path: %s"%(path))
+        logger("documentViewer (getauthinfofromindexmeta)", logging.INFO,"path: %s"%(path))
         
         access = None
@@ -293,5 +299,5 @@
     def getBibinfoFromIndexMeta(self,path,docinfo=None,dom=None):
         """gets bibliographical info from the index.meta file at path or given by dom"""
-        zLOG.LOG("documentViewer (getbibinfofromindexmeta)", zLOG.INFO,"path: %s"%(path))
+        logger("documentViewer (getbibinfofromindexmeta)", logging.INFO,"path: %s"%(path))
         
         if docinfo is None:
@@ -315,5 +321,10 @@
             docinfo['title']=getTextFromNode(dom.xpath("//bib/%s"%bibmap['title'][0])[0])
             docinfo['year']=getTextFromNode(dom.xpath("//bib/%s"%bibmap['year'][0])[0])
-        
+            
+            logging.info("bla")
+            try:
+                docinfo['lang']=getTextFromNode(dom.xpath("//bib/lang")[0])
+            except:
+                docinfo['lang']=''
         return docinfo
 
@@ -321,8 +332,10 @@
     def getDocinfoFromTextTool(self,url,dom=None,docinfo=None):
        """parse texttool tag in index meta"""
-       zLOG.LOG("documentViewer (getdocinfofromtexttool)", zLOG.INFO,"url: %s"%(url))
+       logger("documentViewer (getdocinfofromtexttool)", logging.INFO,"url: %s"%(url))
        if docinfo is None:
            docinfo = {}
            
+       if docinfo.get('lang',None) is None:
+           docinfo['lang']='' # default keine Sprache gesetzt
        if dom is None:
            dom = self.getIndexMeta(url)
@@ -335,5 +348,5 @@
            archiveName=getTextFromNode(archiveNames[0])
        else:
-           zLOG.LOG("documentViewer (getdocinfofromtexttool)", zLOG.WARNING,"resource/name missing in: %s"%(url))
+           logger("documentViewer (getdocinfofromtexttool)", logging.WARNING,"resource/name missing in: %s"%(url))
        
        archivePaths=dom.xpath("//resource/archive-path")
@@ -347,5 +360,5 @@
        else:
            # try to get archive-path from url
-           zLOG.LOG("documentViewer (getdocinfofromtexttool)", zLOG.WARNING,"resource/archive-path missing in: %s"%(url))
+           logger("documentViewer (getdocinfofromtexttool)", logging.WARNING,"resource/archive-path missing in: %s"%(url))
            if (not url.startswith('http')):
                archivePath = url.replace('index.meta', '')
@@ -359,7 +372,12 @@
            imageDir=getTextFromNode(imageDirs[0])
        else:
-           # we balk with no image tag
-           raise IOError("No text-tool info in %s"%(url))
-           
+           # we balk with no image tag / not necessary anymore because textmode is now standard
+           #raise IOError("No text-tool info in %s"%(url))
+           imageDir=""
+           docinfo['numPages']=1 # im moment einfach auf eins setzen, navigation ueber die thumbs geht natuerlich nicht
+       
+           docinfo['imagePath'] = "" # keine Bilder
+           docinfo['imageURL'] = ""
+
        if imageDir and archivePath:
            #print "image: ", imageDir, " archivepath: ", archivePath
@@ -385,5 +403,7 @@
    
        presentationUrls=dom.xpath("//texttool/presentation")
-       if presentationUrls and (len(presentationUrls)>0):
+       docinfo = self.getBibinfoFromIndexMeta(url,docinfo=docinfo,dom=dom)   # get info von bib tag
+       
+       if presentationUrls and (len(presentationUrls)>0): # ueberschreibe diese durch presentation informationen 
             # presentation url ergiebt sich ersetzen von index.meta in der url der fr die Metadaten
             # durch den relativen Pfad auf die presentation infos
@@ -391,7 +411,7 @@
            
            docinfo = self.getBibinfoFromTextToolPresentation(presentationUrl,docinfo=docinfo,dom=dom)
-       else:
-           docinfo = self.getBibinfoFromIndexMeta(url,docinfo=docinfo,dom=dom)   
-       docinfo = self.getAuthinfoFromIndexMeta(url,docinfo=docinfo,dom=dom)
+
+           
+
        return docinfo
    
@@ -408,5 +428,5 @@
     def getDocinfoFromImagePath(self,path,docinfo=None):
         """path ist the path to the images it assumes that the index.meta file is one level higher."""
-        zLOG.LOG("documentViewer (getdocinfofromimagepath)", zLOG.INFO,"path: %s"%(path))
+        logger("documentViewer (getdocinfofromimagepath)", logging.INFO,"path: %s"%(path))
         if docinfo is None:
             docinfo = {}
@@ -424,5 +444,5 @@
     def getDocinfo(self, mode, url):
         """returns docinfo depending on mode"""
-        zLOG.LOG("documentViewer (getdocinfo)", zLOG.INFO,"mode: %s, url: %s"%(mode,url))
+        logger("documentViewer (getdocinfo)", logging.INFO,"mode: %s, url: %s"%(mode,url))
         # look for cached docinfo in session
         if self.REQUEST.SESSION.has_key('docinfo'):
@@ -430,5 +450,5 @@
             # check if its still current
             if docinfo is not None and docinfo.get('mode') == mode and docinfo.get('url') == url:
-                zLOG.LOG("documentViewer (getdocinfo)", zLOG.INFO,"docinfo in session: %s"%docinfo)
+                logger("documentViewer (getdocinfo)", logging.INFO,"docinfo in session: %s"%docinfo)
                 return docinfo
         # new docinfo
@@ -439,8 +459,8 @@
             docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo)
         else:
-            zLOG.LOG("documentViewer (getdocinfo)", zLOG.ERROR,"unknown mode!")
+            logger("documentViewer (getdocinfo)", logging.ERROR,"unknown mode!")
             raise ValueError("Unknown mode %s"%(mode))
                         
-        zLOG.LOG("documentViewer (getdocinfo)", zLOG.INFO,"docinfo: %s"%docinfo)
+        logger("documentViewer (getdocinfo)", logging.INFO,"docinfo: %s"%docinfo)
         self.REQUEST.SESSION['docinfo'] = docinfo
         return docinfo
Index: zpt/image_main.zpt
===================================================================
--- zpt/image_main.zpt	(revision 50)
+++ zpt/image_main.zpt	(revision 52)
@@ -1,4 +1,4 @@
 <tal:block tal:define="docinfo options/docinfo; pageinfo options/pageinfo; mode python:options.get('viewMode','images')">
  <iframe tal:condition="python:mode=='images'" height="100%" width="100%" tal:attributes="src string:${here/imageViewerUrl}fn=${docinfo/imagePath}&pn=${pageinfo/current}"/>
- <iframe tal:condition="python:mode=='text'" height="100%" width="100%" tal:attributes="src string:${here/textViewerUrl}fn=${docinfo/textURL}&pn=${pageinfo/current}"/>
+ <iframe tal:condition="python:mode=='text'" height="100%" width="100%" tal:attributes="src string:${here/textViewerUrl}fn=${docinfo/textURL}&pn=${pageinfo/current}&lang=${docinfo/lang}"/>
 </tal:block>
