Mercurial > hg > documentViewer
comparison documentViewer.py @ 128:4db49915d825 Root_modularisierung
Last lemma
author | abukhman |
---|---|
date | Fri, 11 Jun 2010 12:34:24 +0200 |
parents | 49f381f896d0 |
children | 5c779d7b5f71 |
comparison
equal
deleted
inserted
replaced
127:49f381f896d0 | 128:4db49915d825 |
---|---|
637 raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode)) | 637 raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode)) |
638 | 638 |
639 logger("documentViewer (getdocinfo)", logging.INFO,"docinfo: %s"%docinfo) | 639 logger("documentViewer (getdocinfo)", logging.INFO,"docinfo: %s"%docinfo) |
640 self.REQUEST.SESSION['docinfo'] = docinfo | 640 self.REQUEST.SESSION['docinfo'] = docinfo |
641 return docinfo | 641 return docinfo |
642 | 642 |
643 | |
644 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, tocMode=None): | 643 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, tocMode=None): |
645 """returns pageinfo with the given parameters""" | 644 """returns pageinfo with the given parameters""" |
646 pageinfo = {} | 645 pageinfo = {} |
647 current = getInt(current) | 646 current = getInt(current) |
648 pageinfo['current'] = current | 647 pageinfo['current'] = current |
659 if (docinfo is not None) and ('numPages' in docinfo): | 658 if (docinfo is not None) and ('numPages' in docinfo): |
660 np = int(docinfo['numPages']) | 659 np = int(docinfo['numPages']) |
661 pageinfo['end'] = min(pageinfo['end'], np) | 660 pageinfo['end'] = min(pageinfo['end'], np) |
662 pageinfo['numgroups'] = int(np / grpsize) | 661 pageinfo['numgroups'] = int(np / grpsize) |
663 if np % grpsize > 0: | 662 if np % grpsize > 0: |
664 pageinfo['numgroups'] += 1 | 663 pageinfo['numgroups'] += 1 |
665 | |
666 | |
667 pageinfo['viewMode'] = viewMode | 664 pageinfo['viewMode'] = viewMode |
668 pageinfo['tocMode'] = tocMode | 665 pageinfo['tocMode'] = tocMode |
669 pageinfo['query'] = self.REQUEST.get('query',' ') | 666 pageinfo['query'] = self.REQUEST.get('query',' ') |
670 pageinfo['queryType'] = self.REQUEST.get('queryType',' ') | 667 pageinfo['queryType'] = self.REQUEST.get('queryType',' ') |
671 pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') | 668 pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') |
678 pageinfo['textPages'] =int (toc) | 675 pageinfo['textPages'] =int (toc) |
679 | 676 |
680 if 'tocSize_%s'%tocMode in docinfo: | 677 if 'tocSize_%s'%tocMode in docinfo: |
681 tocSize = int(docinfo['tocSize_%s'%tocMode]) | 678 tocSize = int(docinfo['tocSize_%s'%tocMode]) |
682 tocPageSize = int(pageinfo['tocPageSize']) | 679 tocPageSize = int(pageinfo['tocPageSize']) |
683 # cached toc | 680 # cached toc |
684 | |
685 if tocSize%tocPageSize>0: | 681 if tocSize%tocPageSize>0: |
686 tocPages=tocSize/tocPageSize+1 | 682 tocPages=tocSize/tocPageSize+1 |
687 else: | 683 else: |
688 tocPages=tocSize/tocPageSize | 684 tocPages=tocSize/tocPageSize |
689 pageinfo['tocPN'] = min (tocPages,toc) | 685 pageinfo['tocPN'] = min (tocPages,toc) |
690 | |
691 pageinfo['searchPN'] =self.REQUEST.get('searchPN','1') | 686 pageinfo['searchPN'] =self.REQUEST.get('searchPN','1') |
692 pageinfo['sn'] =self.REQUEST.get('sn','') | 687 pageinfo['sn'] =self.REQUEST.get('sn','') |
693 | |
694 return pageinfo | 688 return pageinfo |
695 | 689 |
696 def getSearch(self, pn=1, pageinfo=None, docinfo=None, query=None, queryType=None): | 690 def getSearch(self, pn=1, pageinfo=None, docinfo=None, query=None, queryType=None, lemma=None): |
697 """get search list""" | 691 """get search list""" |
698 docpath = docinfo['textURLPath'] | 692 docpath = docinfo['textURLPath'] |
699 url = docinfo['url'] | 693 url = docinfo['url'] |
700 logging.debug("documentViewer (gettoc) docpath: %s"%(docpath)) | 694 logging.debug("documentViewer (gettoc) docpath: %s"%(docpath)) |
701 logging.debug("documentViewer (gettoc) url: %s"%(url)) | 695 logging.debug("documentViewer (gettoc) url: %s"%(url)) |
723 href = hrefNode.nodeValue | 717 href = hrefNode.nodeValue |
724 if href.startswith('page-fragment.xql'): | 718 if href.startswith('page-fragment.xql'): |
725 selfurl = self.absolute_url() | 719 selfurl = self.absolute_url() |
726 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN)) | 720 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN)) |
727 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) | 721 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) |
728 return serializeNode(pagenode) | 722 return serializeNode(pagenode) |
729 | |
730 if (queryType=="fulltextMorph"): | 723 if (queryType=="fulltextMorph"): |
731 pagedivs = pagedom.xpath("//div[@class='queryResult']") | 724 pagedivs = pagedom.xpath("//div[@class='queryResult']") |
732 if len(pagedivs)>0: | 725 if len(pagedivs)>0: |
733 pagenode=pagedivs[0] | 726 pagenode=pagedivs[0] |
734 links=pagenode.xpath("//a") | 727 links=pagenode.xpath("//a") |
739 if href.startswith('page-fragment.xql'): | 732 if href.startswith('page-fragment.xql'): |
740 selfurl = self.absolute_url() | 733 selfurl = self.absolute_url() |
741 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN)) | 734 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN)) |
742 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) | 735 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) |
743 if href.startswith('../lt/lemma.xql'): | 736 if href.startswith('../lt/lemma.xql'): |
744 | 737 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma_New'%(selfurl)) |
745 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma'%selfurl) | |
746 l.setAttributeNS(None, 'target', '_blank') | 738 l.setAttributeNS(None, 'target', '_blank') |
747 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") | 739 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") |
748 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') | 740 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') |
749 pagedivs = pagedom.xpath("//div[@class='queryResultMorphExpansion']") | 741 pagedivs = pagedom.xpath("//div[@class='queryResultMorphExpansion']") |
750 return serializeNode(pagenode) | 742 return serializeNode(pagenode) |
751 | |
752 if (queryType=="ftIndex")or(queryType=="ftIndexMorph"): | 743 if (queryType=="ftIndex")or(queryType=="ftIndexMorph"): |
753 pagedivs= pagedom.xpath("//div[@class='queryResultPage']") | 744 pagedivs= pagedom.xpath("//div[@class='queryResultPage']") |
754 if len(pagedivs)>0: | 745 if len(pagedivs)>0: |
755 pagenode=pagedivs[0] | 746 pagenode=pagedivs[0] |
756 links=pagenode.xpath("//a") | 747 links=pagenode.xpath("//a") |
757 for l in links: | 748 for l in links: |
758 hrefNode = l.getAttributeNodeNS(None, u"href") | 749 hrefNode = l.getAttributeNodeNS(None, u"href") |
759 if hrefNode: | 750 if hrefNode: |
760 href = hrefNode.nodeValue | 751 href = hrefNode.nodeValue |
761 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s'%(viewMode,tocMode,tocPN,pn)) | 752 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s'%(viewMode,tocMode,tocPN,pn)) |
762 | |
763 if href.startswith('../lt/lex.xql'): | 753 if href.startswith('../lt/lex.xql'): |
764 hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl) | 754 hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl) |
765 l.setAttributeNS(None, 'target', '_blank') | 755 l.setAttributeNS(None, 'target', '_blank') |
766 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") | 756 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") |
767 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') | 757 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') |
788 url = docinfo['url'] | 778 url = docinfo['url'] |
789 viewMode= pageinfo['viewMode'] | 779 viewMode= pageinfo['viewMode'] |
790 tocMode = pageinfo['tocMode'] | 780 tocMode = pageinfo['tocMode'] |
791 tocPN = pageinfo['tocPN'] | 781 tocPN = pageinfo['tocPN'] |
792 selfurl = self.absolute_url() | 782 selfurl = self.absolute_url() |
793 | |
794 #pn = pageinfo['searchPN'] | |
795 | |
796 if mode == "text_dict": | 783 if mode == "text_dict": |
797 textmode = "textPollux" | 784 textmode = "textPollux" |
798 else: | 785 else: |
799 textmode = mode | 786 textmode = mode |
800 | 787 |
801 textParam = "document=%s&mode=%s&pn=%s"%(docpath,textmode,pn) | 788 textParam = "document=%s&mode=%s&pn=%s"%(docpath,textmode,pn) |
802 if highlightQuery is not None: | 789 if highlightQuery is not None: |
803 textParam +="&highlightQuery=%s&sn=%s"%(highlightQuery,sn) | 790 textParam +="&highlightQuery=%s&sn=%s"%(highlightQuery,sn) |
804 | |
805 pagexml=self.template.fulltextclient.eval("/mpdl/interface/page-fragment.xql", textParam, outputUnicode=False) | 791 pagexml=self.template.fulltextclient.eval("/mpdl/interface/page-fragment.xql", textParam, outputUnicode=False) |
806 pagedom = Parse(pagexml) | 792 pagedom = Parse(pagexml) |
807 # plain text mode | 793 # plain text mode |
808 if mode == "text": | 794 if mode == "text": |
809 # first div contains text | 795 # first div contains text |
810 pagedivs = pagedom.xpath("/div") | 796 pagedivs = pagedom.xpath("/div") |
811 #queryResultPage | |
812 if len(pagedivs) > 0: | 797 if len(pagedivs) > 0: |
813 pagenode = pagedivs[0] | 798 pagenode = pagedivs[0] |
814 links = pagenode.xpath("//a") | 799 links = pagenode.xpath("//a") |
815 for l in links: | 800 for l in links: |
816 hrefNode = l.getAttributeNodeNS(None, u"href") | 801 hrefNode = l.getAttributeNodeNS(None, u"href") |
817 | |
818 if hrefNode: | 802 if hrefNode: |
819 href= hrefNode.nodeValue | 803 href= hrefNode.nodeValue |
820 if href.startswith('#note-'): | 804 if href.startswith('#note-'): |
821 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) | 805 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) |
822 | |
823 return serializeNode(pagenode) | 806 return serializeNode(pagenode) |
824 if mode == "xml": | 807 if mode == "xml": |
825 # first div contains text | 808 # first div contains text |
826 pagedivs = pagedom.xpath("/div") | 809 pagedivs = pagedom.xpath("/div") |
827 if len(pagedivs) > 0: | 810 if len(pagedivs) > 0: |
852 # change href | 835 # change href |
853 hrefNode.nodeValue = href.replace('lt/lex.xql','%s/template/head_main_voc'%selfurl) | 836 hrefNode.nodeValue = href.replace('lt/lex.xql','%s/template/head_main_voc'%selfurl) |
854 # add target | 837 # add target |
855 l.setAttributeNS(None, 'target', '_blank') | 838 l.setAttributeNS(None, 'target', '_blank') |
856 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") | 839 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") |
857 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') | 840 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') |
858 | |
859 if href.startswith('lt/lemma.xql'): | 841 if href.startswith('lt/lemma.xql'): |
860 selfurl = self.absolute_url() | 842 selfurl = self.absolute_url() |
861 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) | 843 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) |
862 l.setAttributeNS(None, 'target', '_blank') | 844 l.setAttributeNS(None, 'target', '_blank') |
863 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") | 845 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") |
864 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') | 846 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') |
865 | |
866 if href.startswith('#note-'): | 847 if href.startswith('#note-'): |
867 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) | 848 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) |
868 | |
869 | |
870 return serializeNode(pagenode) | 849 return serializeNode(pagenode) |
871 | |
872 return "no text here" | 850 return "no text here" |
873 | 851 |
874 def getTranslate(self, query=None, language=None): | 852 def getTranslate(self, query=None, language=None): |
875 """translate into another languages""" | 853 """translate into another languages""" |
876 pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query))) | 854 pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query))) |
877 return pagexml | 855 return pagexml |
878 | 856 |
879 def getLemma(self, lemma=None, language=None): | 857 def getLemma(self, lemma=None, language=None): |
880 """simular words lemma """ | 858 """simular words lemma """ |
881 pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(lemma))) | 859 pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(lemma))) |
882 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","lemma=%s&language=%s"%(lemma,language),outputUnicode=False) | 860 return pagexml |
861 | |
862 def getLemmaNew(self, query=None, language=None): | |
863 """simular words lemma """ | |
864 pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(query))) | |
883 return pagexml | 865 return pagexml |
884 | 866 |
885 def getQuery (self, docinfo=None, pageinfo=None, query=None, queryType=None, pn=1): | 867 def getQuery (self, docinfo=None, pageinfo=None, query=None, queryType=None, pn=1): |
886 """number of""" | 868 """number of""" |
887 docpath = docinfo['textURLPath'] | 869 docpath = docinfo['textURLPath'] |
888 pagesize = pageinfo['queryPageSize'] | 870 pagesize = pageinfo['queryPageSize'] |
889 pn = pageinfo['searchPN'] | 871 pn = pageinfo['searchPN'] |
890 query =pageinfo['query'] | 872 query =pageinfo['query'] |
891 queryType =pageinfo['queryType'] | 873 queryType =pageinfo['queryType'] |
892 | |
893 tocSearch = 0 | 874 tocSearch = 0 |
894 tocDiv = None | 875 tocDiv = None |
895 pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath, 'text', queryType, query, pagesize, pn) ,outputUnicode=False) | 876 pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath, 'text', queryType, query, pagesize, pn) ,outputUnicode=False) |
896 | |
897 pagedom = Parse(pagexml) | 877 pagedom = Parse(pagexml) |
898 numdivs = pagedom.xpath("//div[@class='queryResultHits']") | 878 numdivs = pagedom.xpath("//div[@class='queryResultHits']") |
899 tocSearch = int(getTextFromNode(numdivs[0])) | 879 tocSearch = int(getTextFromNode(numdivs[0])) |
900 tc=int((tocSearch/10)+1) | 880 tc=int((tocSearch/10)+1) |
901 logging.debug("documentViewer (gettoc) tc: %s"%(tc)) | 881 logging.debug("documentViewer (gettoc) tc: %s"%(tc)) |
903 | 883 |
904 def getToc(self, mode="text", docinfo=None): | 884 def getToc(self, mode="text", docinfo=None): |
905 """loads table of contents and stores in docinfo""" | 885 """loads table of contents and stores in docinfo""" |
906 logging.debug("documentViewer (gettoc) mode: %s"%(mode)) | 886 logging.debug("documentViewer (gettoc) mode: %s"%(mode)) |
907 if mode == "none": | 887 if mode == "none": |
908 return docinfo | 888 return docinfo |
909 | |
910 if 'tocSize_%s'%mode in docinfo: | 889 if 'tocSize_%s'%mode in docinfo: |
911 # cached toc | 890 # cached toc |
912 return docinfo | 891 return docinfo |
913 | 892 |
914 docpath = docinfo['textURLPath'] | 893 docpath = docinfo['textURLPath'] |
927 pagedom = Parse(pagexml) | 906 pagedom = Parse(pagexml) |
928 # get number of entries | 907 # get number of entries |
929 numdivs = pagedom.xpath("//div[@class='queryResultHits']") | 908 numdivs = pagedom.xpath("//div[@class='queryResultHits']") |
930 if len(numdivs) > 0: | 909 if len(numdivs) > 0: |
931 tocSize = int(getTextFromNode(numdivs[0])) | 910 tocSize = int(getTextFromNode(numdivs[0])) |
932 # div contains text | |
933 #pagedivs = pagedom.xpath("//div[@class='queryResultPage']") | |
934 #if len(pagedivs) > 0: | |
935 # tocDiv = pagedivs[0] | |
936 | |
937 docinfo['tocSize_%s'%mode] = tocSize | 911 docinfo['tocSize_%s'%mode] = tocSize |
938 #docinfo['tocDiv_%s'%mode] = tocDiv | |
939 return docinfo | 912 return docinfo |
940 | 913 |
941 def getTocPage(self, mode="text", pn=1, pageinfo=None, docinfo=None): | 914 def getTocPage(self, mode="text", pn=1, pageinfo=None, docinfo=None): |
942 """returns single page from the table of contents""" | 915 """returns single page from the table of contents""" |
943 # TODO: this should use the cached TOC | 916 # TODO: this should use the cached TOC |
944 if mode == "text": | 917 if mode == "text": |
945 queryType = "toc" | 918 queryType = "toc" |
946 else: | 919 else: |
947 queryType = mode | 920 queryType = mode |
948 docpath = docinfo['textURLPath'] | 921 docpath = docinfo['textURLPath'] |
949 path = docinfo['textURLPath'] | 922 path = docinfo['textURLPath'] |
950 #logging.debug("documentViewer (gettoc) pathNomer: %s"%(pathNomer)) | |
951 pagesize = pageinfo['tocPageSize'] | 923 pagesize = pageinfo['tocPageSize'] |
952 pn = pageinfo['tocPN'] | 924 pn = pageinfo['tocPN'] |
953 url = docinfo['url'] | 925 url = docinfo['url'] |
954 selfurl = self.absolute_url() | 926 selfurl = self.absolute_url() |
955 viewMode= pageinfo['viewMode'] | 927 viewMode= pageinfo['viewMode'] |
956 tocMode = pageinfo['tocMode'] | 928 tocMode = pageinfo['tocMode'] |
957 tocPN = pageinfo['tocPN'] | 929 tocPN = pageinfo['tocPN'] |
958 | |
959 pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql", "document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn), outputUnicode=False) | 930 pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql", "document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn), outputUnicode=False) |
960 page = pagexml.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s'%(selfurl,url, viewMode, tocMode, tocPN)) | 931 page = pagexml.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s'%(selfurl,url, viewMode, tocMode, tocPN)) |
961 text = page.replace('mode=image','mode=texttool') | 932 text = page.replace('mode=image','mode=texttool') |
962 return text | 933 return text |
963 # post-processing downloaded xml | 934 |
964 #pagedom = Parse(text) | 935 def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None): |
965 # div contains text | |
966 #pagedivs = pagedom.xpath("//div[@class='queryResultPage']") | |
967 #if len(pagedivs) > 0: | |
968 # pagenode = pagedivs[0] | |
969 # return serializeNode(pagenode) | |
970 #else: | |
971 # return "No TOC!" | |
972 | |
973 def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None): | |
974 """init document viewer""" | 936 """init document viewer""" |
975 self.title=title | 937 self.title=title |
976 self.digilibBaseUrl = digilibBaseUrl | 938 self.digilibBaseUrl = digilibBaseUrl |
977 self.thumbrows = thumbrows | 939 self.thumbrows = thumbrows |
978 self.thumbcols = thumbcols | 940 self.thumbcols = thumbcols |
979 self.authgroups = [s.strip().lower() for s in authgroups.split(',')] | 941 self.authgroups = [s.strip().lower() for s in authgroups.split(',')] |
980 if RESPONSE is not None: | 942 if RESPONSE is not None: |
981 RESPONSE.redirect('manage_main') | 943 RESPONSE.redirect('manage_main') |
982 | |
983 | |
984 | 944 |
985 def manage_AddDocumentViewerForm(self): | 945 def manage_AddDocumentViewerForm(self): |
986 """add the viewer form""" | 946 """add the viewer form""" |
987 pt=PageTemplateFile('zpt/addDocumentViewer', globals()).__of__(self) | 947 pt=PageTemplateFile('zpt/addDocumentViewer', globals()).__of__(self) |
988 return pt() | 948 return pt() |
993 self._setObject(id,newObj) | 953 self._setObject(id,newObj) |
994 | 954 |
995 if RESPONSE is not None: | 955 if RESPONSE is not None: |
996 RESPONSE.redirect('manage_main') | 956 RESPONSE.redirect('manage_main') |
997 | 957 |
998 | |
999 ## | |
1000 ## DocumentViewerTemplate class | 958 ## DocumentViewerTemplate class |
1001 ## | |
1002 class DocumentViewerTemplate(ZopePageTemplate): | 959 class DocumentViewerTemplate(ZopePageTemplate): |
1003 """Template for document viewer""" | 960 """Template for document viewer""" |
1004 meta_type="DocumentViewer Template" | 961 meta_type="DocumentViewer Template" |
1005 | 962 |
1006 | 963 |