Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.47.2.39 and 1.47.2.51

version 1.47.2.39, 2005/10/24 22:56:22 version 1.47.2.51, 2006/04/21 17:58:45
Line 762  class MPIWGRoot(ZSQLExtendFolder): Line 762  class MPIWGRoot(ZSQLExtendFolder):
                   
     def updateHomepages(self,RESPONSE=None):      def updateHomepages(self,RESPONSE=None):
         """ update"""          """ update"""
         #FIXME: seite wird hinter apache mehrfach ausgefŸhrt          
         RESPONSE.setHeader('Content-type', 'text/html')          RESPONSE.setHeader('Content-type', 'text/html')
         RESPONSE.write("<html><body>\n")          RESPONSE.write("<html><body>\n")
         url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=10000&-findall"          url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=20000&-findall"
         dom = NonvalidatingReader.parseUri(url)          dom = NonvalidatingReader.parseUri(url)
         #fh=urllib.urlopen(url)          #fh=urllib.urlopen(url)
         #dom=xml.dom.minidom.parse(fh)          #dom=xml.dom.minidom.parse(fh)
Line 787  class MPIWGRoot(ZSQLExtendFolder): Line 787  class MPIWGRoot(ZSQLExtendFolder):
             name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
             vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
             title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
               position=getTextFromNode(row.xpath('./dn:Position',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
             e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
             e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
             date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])              date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0])
Line 822  class MPIWGRoot(ZSQLExtendFolder): Line 823  class MPIWGRoot(ZSQLExtendFolder):
                     RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8'))                      RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8'))
                     obj=getattr(memberFolder,username)                      obj=getattr(memberFolder,username)
                     ret=obj.createNewDBEntry(publish_the_data,id,name,                      ret=obj.createNewDBEntry(publish_the_data,id,name,
                                           vorname,username,title,e_mail,                                            vorname,username,title,position,e_mail,
                                           e_mail_p,date_from,date_to,                                            e_mail_p,date_from,date_to,
                                           abteilung,heimat_inst,funded_by,                                            abteilung,heimat_inst,funded_by,
                                           e_mail2,txt,txt_p)                                            e_mail2,txt,txt_p,stay_at_mpiwg)
                     RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8'))                      RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8'))
                 except:                  except:
                     RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8')))                      RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8')))
Line 849  class MPIWGRoot(ZSQLExtendFolder): Line 850  class MPIWGRoot(ZSQLExtendFolder):
   
                 obj=getattr(memberFolder,username)                  obj=getattr(memberFolder,username)
                                   
                 obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data,                  done= obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data,
                                    date_from=date_from,                                     date_from=date_from,
                                    date_to=date_to,stay_at_mpiwg=stay_at_mpiwg)                                     date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position,abteilung=abteilung)
                   if not done and (publish_the_data=='yes'):
                           
                       ret=obj.createNewDBEntry(publish_the_data,id,name,
                                             vorname,username,title,position,e_mail,
                                             e_mail_p,date_from,date_to,
                                             abteilung,heimat_inst,funded_by,
                                             e_mail2,txt,txt_p,stay_at_mpiwg)
                       if not ret[0]:
   
                               RESPONSE.write("<p>Error: %s</p>\n"%repr(ret[1]))
                       else:
                           RESPONSE.write("<p>New: %s</p>\n"%repr(ret[1]))
   
           #TODO: reindexCatlogs and updatePublications wieder einbaue
         #self.reindexCatalogs(RESPONSE)          #self.reindexCatalogs(RESPONSE)
           
         #self.updatePublicationDB()           #self.updatePublicationDB() 
                   
           #self.ZSQLResetConnection()
     RESPONSE.write("<h2>Done</h2></body></html>")      RESPONSE.write("<h2>Done</h2></body></html>")
                                         
         return True          return True
Line 874  class MPIWGRoot(ZSQLExtendFolder): Line 889  class MPIWGRoot(ZSQLExtendFolder):
                   
           
                         
              
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
Line 918  class MPIWGRoot(ZSQLExtendFolder): Line 934  class MPIWGRoot(ZSQLExtendFolder):
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
                   
   #    def getAllMembers(self,reset=None):
   #        """give list of all members"""
   #        ret=[]
   #
   #
   #        if reset or (getattr(self,'_v_membersList',None) is None):
   #            for member in self.members._objects:
   #                if member['meta_type']=='MPIWGStaff':
   #                    memberObj=getattr(self.members,member['id'])
   #                    if memberObj.isPublished():
   #                           ret.append(memberObj.title.decode('utf-8'))
   #            
   #            ret.sort()
   #            self._v_membersList=ret[0:]
   #        print ret
   #  
   #        return self._v_membersList
   
     def getAllMembers(self):      def getAllMembers(self):
         """give list of all members"""          #ret=[]
         ret=[]  
   
         #for x in self.members.objectValues('MPIWGStaff'):          results=self.MembersCatalog({'isPublished':True})
             #print x.title  
         #    ret.append(x.title.decode('utf-8'))  
   
         for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']):  
             if x[1].isPublished():  
                                ret.append(x[1].title.decode('utf-8'))  
                           
         ret.sort()          ret=[", ".join([proj.lastName, proj.firstName]).decode('utf-8') for proj in results]
         #print ret  
       
       ret.sort()
         return ret          return ret
   
     def printAllMembers(self):      def printAllMembers(self):
         """prin"""          """print"""
         members=self.getAllMembers()          members=self.getAllMembers()
         ret=""          ret=""
         for x in members:          for x in members:
Line 1171  class MPIWGRoot(ZSQLExtendFolder): Line 1197  class MPIWGRoot(ZSQLExtendFolder):
         """give tuple member /projects"""          """give tuple member /projects"""
         ret=[]          ret=[]
         members=self.getAllMembers()          members=self.getAllMembers()
          
         #return str(members)          #return str(members)
         for x in members:          for x in members:
            
             ret+=self.getProjectsOfMember(name=x,date=date)              ret+=self.getProjectsOfMember(name=x,date=date)
                           
         return ret          return ret
Line 1398  class MPIWGProject(CatalogAware,Folder): Line 1426  class MPIWGProject(CatalogAware,Folder):
                   
           
     def copyImageToMargin(self,RESPONSE=None):      def copyImageToMargin(self,RESPONSE=None):
         #TODO: copy more than one image  
         """copy inline images to marginal images"""          """copy inline images to marginal images"""
         self.getContent('WEB_project_description',filter='yes')  
   
         filename=self.imageURL.split("/")[-1]          
           #getImages from WEB_project_description
           description=self.getContent('WEB_project_description')
           
           text2=description
           splitted=text2.split("""<p class="picture">""")
           
           imageURLs=[]
           imageCaptions=[]
           for split in  splitted[1:]:
                   tmp=split.split("</p>")
                   #return repr(splitted[1])
                   try:
                           imageURLs.append(tmp[0].split("\"")[1].encode('utf-8'))
                   except:
                           imageURLs.append(tmp[0].split("src=")[1].split(" ")[0].encode('utf-8'))
                   
                   split2="</p>".join(tmp[1:])
   
   
                   splitted=split2.split("""<p class="picturetitle">""")
                   if len(splitted)>1:
                       tmp=splitted[1].split("</p>")
                       imageCaptions.append(tmp[0].encode('utf-8'))
   
   
                   else:
                       #keine caption
   
                       imageCaptions.append("")
                   
             
   
           
           
           
           
           #eintragen:
           for imageURL in imageURLs:
               filename=imageURL.split("/")[-1]
         #lege neues images object an, mit leerem bild          #lege neues images object an, mit leerem bild
   
         if self.ZopeFind(self,obj_ids=[filename]):          if self.ZopeFind(self,obj_ids=[filename]):
             #existiert das bild schon, dann neueun filenamen                  #existiert das bild schon, dann neuen filenamen
             filename="project_image_"+filename              filename="project_image_"+filename
                           
         self.addImage(None,self.imagecap,filename=filename)              self.addImage(None,imageCaptions[imageURLs.index(imageURL)],filename=filename)
         #hole die bilddaten aus der url          #hole die bilddaten aus der url
         url=self.absolute_url()+"/"+self.imageURL              url=self.absolute_url()+"/"+imageURL
         #url=self.absolute_url()+"/"+filename          #url=self.absolute_url()+"/"+filename
                   
         try:#relative url          try:#relative url

Removed from v.1.47.2.39  
changed lines
  Added in v.1.47.2.51


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>