--- documentViewer/documentViewer.py 2010/06/16 18:40:18 1.69.2.6 +++ documentViewer/documentViewer.py 2010/06/17 17:38:59 1.71 @@ -7,11 +7,15 @@ from AccessControl import getSecurityMan from Globals import package_home from Ft.Xml import EMPTY_NAMESPACE, Parse +from Ft.Xml.Domlette import PrettyPrint, Print import os.path import sys import urllib import urllib2 import logging +import math +import urlparse +import cStringIO def logger(txt,method,txt2): """logging""" @@ -68,7 +72,7 @@ def getHttpData(url, data=None, num_trie if sys.version_info < (2, 6): # set timeout on socket -- ugly :-( import socket - socket.setdefaulttimeout(timeout) + socket.setdefaulttimeout(float(timeout)) response = urllib2.urlopen(url) else: response = urllib2.urlopen(url,timeout=float(timeout)) @@ -141,7 +145,7 @@ class documentViewer(Folder): self._setObject('template',templateFolder) # old style try: import MpdlXmlTextServer - textServer = MpdlXmlTextServer(id='fulltextclient') + textServer = MpdlXmlTextServer.MpdlXmlTextServer(id='fulltextclient',serverName=textServerName) #templateFolder['fulltextclient'] = xmlRpcClient templateFolder._setObject('fulltextclient',textServer) except Exception, e: @@ -213,7 +217,7 @@ class documentViewer(Folder): pt = getattr(self.template, 'thumbs_main_rss') if viewMode=="auto": # automodus gewaehlt - if docinfo.get("textURL",'') and self.textViewerUrl: #texturl gesetzt und textViewer konfiguriert + if docinfo.has_key("textURL") or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert viewMode="text" else: viewMode="images" @@ -239,17 +243,16 @@ class documentViewer(Folder): return "ERROR: template folder missing!" if not getattr(self, 'digilibBaseUrl', None): - self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" + self.digilibBaseUrl = self.findDigilibUrl() or "http://digilib.mpiwg-berlin.mpg.de/digitallibrary" docinfo = self.getDocinfo(mode=mode,url=url) - if tocMode != "thumbs": # get table of contents docinfo = self.getToc(mode=tocMode, docinfo=docinfo) if viewMode=="auto": # automodus gewaehlt - if docinfo.get("textURL",''): #texturl gesetzt und textViewer konfiguriert + if docinfo.has_key('textURL') or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert viewMode="text_dict" else: viewMode="images" @@ -263,8 +266,8 @@ class documentViewer(Folder): ret="" if mk is None: return "" - if type(mk) is not ListType: - mk=[mk] + if type(mk) is not ListType: + mk=[mk] for m in mk: ret+="mk=%s"%m return ret @@ -564,7 +567,8 @@ class documentViewer(Folder): if viewerUrls and (len(viewerUrls) > 0): viewerUrl = getTextFromNode(viewerUrls[0]) docinfo['viewerURL'] = viewerUrl - + + # old style text URL textUrls = dom.xpath("//texttool/text") if textUrls and (len(textUrls) > 0): textUrl = getTextFromNode(textUrls[0]) @@ -576,6 +580,7 @@ class documentViewer(Folder): docinfo['textURL'] = textUrl + # new style text-url-path textUrls = dom.xpath("//texttool/text-url-path") if textUrls and (len(textUrls) > 0): textUrl = getTextFromNode(textUrls[0])