Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.13 and 1.29

version 1.13, 2004/07/08 10:21:55 version 1.29, 2004/09/10 18:40:56
Line 29  def sortF(x,y): Line 29  def sortF(x,y):
     try:      try:
         return cmp(x[1],y[1])          return cmp(x[1],y[1])
     except:      except:
           try:
               return cmp(str(x[1]),str(y[1]))
           except:           
               print "error",x[1],y[1]
         return 0          return 0
           
 def sortI(x,y):  def sortI(x,y):
Line 76  class MPIWGRoot(ZSQLExtendFolder): Line 80  class MPIWGRoot(ZSQLExtendFolder):
             return ""              return ""
                   
                   
       def redirectIndex_html(self,request):
           #return request['URL1']+'/index_html'
           
           return urllib.urlopen(request['URL1']+'/index_html').read()
   
       
     def formatBibliography(self,here,found):      def formatBibliography(self,here,found):
         """format"""          """format"""
         return formatBibliography(here,found)          return formatBibliography(here,found)
           
     def getValue(self,field):      def getValue(self,fieldStr):
         """Inhalt des Feldes"""          """Inhalt des Feldes"""
   
         if type(field)==StringType:          if type(fieldStr)==StringType:
               field=fieldStr
           else:
               field=fieldStr[0]
             try:              try:
                 if field[len(field)-1]==";":                  if field[len(field)-1]==";":
                     field=field[0:len(text)-1]                  field=field[0:len(field)-1]
             except:              except:
                     """nothing"""  
                           
               """nothing"""
           field=re.sub(r';([^\s])','; \g<1>',field)
             return field.encode('utf-8')              return field.encode('utf-8')
                   
         else:  
             return field[0].encode('utf-8')  
   
           
     def sortedNames(self,list):      def sortedNames(self,list):
Line 282  class MPIWGRoot(ZSQLExtendFolder): Line 294  class MPIWGRoot(ZSQLExtendFolder):
                 if re.match(searchStr,project[1]):                  if re.match(searchStr,project[1]):
                                           
                     if depth:                      if depth:
                         print "ho"  
                         if int(depth)>=len(project[1].split("."))-len(childs.split(".")):                          if int(depth)>=len(project[1].split("."))-len(childs.split(".")):
                                           
                             ret.append(project)                              ret.append(project)
Line 356  class MPIWGRoot(ZSQLExtendFolder): Line 368  class MPIWGRoot(ZSQLExtendFolder):
                           
                           
             splitted=line.split(",")              splitted=line.split(",")
             print splitted             # print splitted
                   
             if not (splitted[0]==""):              if not (splitted[0]==""):
                 newObj=MPIWGStaff.MPIWGStaff(splitted[0],splitted[1],splitted[2])                  newObj=MPIWGStaff.MPIWGStaff(splitted[0],splitted[1],splitted[2])
                                   
                 try:                  try:
                     project._setObject(splitted[0],newObj)                      project._setObject(splitted[0],newObj)
                     print "done:",splitted[0]                      #print "done:",splitted[0]
                 except:                  except:
                     print "not done:",splitted[0]                      print "not done:",splitted[0]
                                           
Line 381  class MPIWGRoot(ZSQLExtendFolder): Line 393  class MPIWGRoot(ZSQLExtendFolder):
         for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']):          for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']):
                                ret.append(x[1].title.decode('utf-8'))                                 ret.append(x[1].title.decode('utf-8'))
                           
         #ret.sort()          ret.sort()
         #print ret          #print ret
       
         return ret          return ret
Line 412  class MPIWGRoot(ZSQLExtendFolder): Line 424  class MPIWGRoot(ZSQLExtendFolder):
                     splittedId=idNr.split(".")                      splittedId=idNr.split(".")
                     depth=len(splittedId)                      depth=len(splittedId)
                     nr=idNr                      nr=idNr
                     title=project[0].WEB_title                      #title=project[0].WEB_title
                                           title=[project[0].getContent('WEB_title')]
                       #print title
                     returnList.append((depth,nr,title,project[0]))                      returnList.append((depth,nr,title,project[0]))
                   
         return returnList          return returnList
   
       def formatElementForOverview(self,element):
           """format the element for output in overview"""
           if element[0]==1: #department
               #print element[3].getContent('xdata_05')
               if element[3].getContent('xdata_05') == "4":
                   return """<h2><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title'))
               if element[3].getContent('xdata_05') == "5":
                   return """<h2><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title'))
               
               return """<h2><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title'))
   
           elif element[0]==2: #mainprojects
               return """<h3><a href="%s">%s</a></h3><p>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title'))
   
           elif element[0]==3:
               return """<p class="p_noindent"><a href="%s">%s</a></p>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title'))
           
     def changePosition(self,treeId,select,RESPONSE=None):      def changePosition(self,treeId,select,RESPONSE=None):
         """Change Postion Entry"""          """Change Postion Entry"""
         numbers=[]          numbers=[]
Line 476  class MPIWGRoot(ZSQLExtendFolder): Line 506  class MPIWGRoot(ZSQLExtendFolder):
                   
                           
                   
       def getRelativeUrlFromPerson(self,list):
           """get urls to person list"""
           ret=[]
           persons=list.split(";")
           for person in persons:
               
               if len(person)>1: #nicht nur Trennzeichen
                   splitted=person.split(",")
                   if len(splitted)==1:
                       splitted=person.split(" ")
                   splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
                   if splittedNew[0]=='':
                       del splittedNew[0]
                   search=string.join(splittedNew,' AND ')
                   
                   if not search=='':
   
                       try:
                           proj=self.MembersCatalog({'title':search})
                       except:
                           proj=None
   
                   if proj:
                       #ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person.encode('utf-8')))
                       ret.append("<a href=%s >%s</a>"%('members/'+proj[0].id+'/index.html',person))
                   else:
                       #ret.append("%s"%person.encode('utf-8'))
                       ret.append("%s"%person)
           return string.join(ret,";")
                   
                           
     def getUrlFromPerson(self,list):      def getUrlFromPerson(self,list):
Line 487  class MPIWGRoot(ZSQLExtendFolder): Line 546  class MPIWGRoot(ZSQLExtendFolder):
             if len(person)>1: #nicht nur Trennzeichen              if len(person)>1: #nicht nur Trennzeichen
                 splitted=person.split(",")                  splitted=person.split(",")
                 if len(splitted)==1:                  if len(splitted)==1:
                     splitted=person.split(" ")                      splitted=person.lstrip().rstrip().split(" ")
                 splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]                  splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
                 if splittedNew[0]=='':                  if splittedNew[0]=='':
                     del splittedNew[0]                      del splittedNew[0]
Line 502  class MPIWGRoot(ZSQLExtendFolder): Line 561  class MPIWGRoot(ZSQLExtendFolder):
   
                 if proj:                  if proj:
                     #ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person.encode('utf-8')))                      #ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person.encode('utf-8')))
                     ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person))                      ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url+"/index.html",person))
                 else:                  else:
                     #ret.append("%s"%person.encode('utf-8'))                      #ret.append("%s"%person.encode('utf-8'))
                     ret.append("%s"%person)                      ret.append("%s"%person)
Line 522  class MPIWGRoot(ZSQLExtendFolder): Line 581  class MPIWGRoot(ZSQLExtendFolder):
         """get project of a member"""          """get project of a member"""
         def sortP(x,y):          def sortP(x,y):
             """sort by sorting number"""              """sort by sorting number"""
                           #print x.xdata_05,y.xdata_05
             return cmp(x.xdata_05,y.xdata_05)              return cmp(x.WEB_title,y.WEB_title)
                   
     
         ret=[]          ret=[]
Line 534  class MPIWGRoot(ZSQLExtendFolder): Line 593  class MPIWGRoot(ZSQLExtendFolder):
   
         y=name          y=name
         splitted=y.split(",")            splitted=y.split(",")  
         for s in splitted:          #XXXX
             splitNeu.append("\""+s+"\"")          splitNeu=["\'"+splitted[1]+" "+splitted[0]+"\'"]
           
           #for s in splitted:
           #    splitNeu.append("\""+s+"\"")
         search=string.join(splitNeu,' AND ')          search=string.join(splitNeu,' AND ')
                           
         proj=self.ProjectCatalog({'xdata_01':search})          proj=self.ProjectCatalog({'xdata_01':search})
   
         if proj:          if proj:
             proj2=[x for x in proj]              proj2=[]
             proj2.sort(sortP)              for x in proj:
             ret.append((y,proj2))               
                   if not((splitted[1]==" Christoph") and (splitted[0]=="Hoffmann") and (str(x.WEB_title).find('Einstein')>0)):
                          
                          #print repr(splitted[1]),repr(splitted[0]),repr(x.WEB_title)
                          proj2.append(x)
           #    proj2.sort(sortP)
           #    ret.append((y,proj2))
           else:
               proj2=[]
   
         proj=self.ProjectCatalog({'xdata_08':search})          proj=self.ProjectCatalog({'xdata_08':search})
         if proj:          if proj:
             proj2=[x for x in proj]              names=[x.WEB_title for x in proj]
               for x in proj:
                   if not x.WEB_title in names:
                       proj2.append(x)
   
   
             proj2.sort(sortP)              proj2.sort(sortP)
             ret.append((y,proj2))  
   
           if len(proj2)>0:
               ret.append((y,proj2))
                   
         return ret          return ret
             
Line 558  class MPIWGRoot(ZSQLExtendFolder): Line 635  class MPIWGRoot(ZSQLExtendFolder):
                   
         splitted=name.split(",")          splitted=name.split(",")
         if len(splitted)==1:          if len(splitted)==1:
             splitted=name.split(" ")              splitted=name.lstrip().rstrip().split(" ")
         splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]          splittedNew=[split.lstrip() for split in splitted]
           
         if splittedNew[0]=='':          if splittedNew[0]=='':
             del splittedNew[0]              del splittedNew[0]
         search=string.join(splittedNew,' AND ')          search=string.join(splittedNew,' AND ')
Line 710  class MPIWGProject(Folder): Line 788  class MPIWGProject(Folder):
         """giveListofDatafields"""          """giveListofDatafields"""
         ret=[]          ret=[]
         for x in range(1,14):          for x in range(1,14):
               if not x in [6,10,9]: # not used fields
             ret.append('xdata_%02i'%x)              ret.append('xdata_%02i'%x)
         return ret          return ret
                           
Line 736  class MPIWGProject(Folder): Line 815  class MPIWGProject(Folder):
                 try:                  try:
                     text =x.encode('utf-8')                      text =x.encode('utf-8')
                 except:                  except:
                     text="ERROR"                      text=x.decode('latin-1').encode('utf-8')
                   
         #delete separator (;) if  is there is one          #delete separator (;) if  is there is one
           ## try:
   ##             print text, text[len(text)-1]
   ##         except:
   ##             print "error:",text
         try:          try:
             if text[len(text)-1]==";":              if text[len(text)-1]==";":
                 text=text[0:len(text)-1].encode('utf-8')                  text=text[0:len(text)-1]
             
                   
         except:          except:
             """nothing"""              """nothing"""
                           
         return text          text2=re.sub(r';([^\s])','; \g<1>',text)
           return text2
           
     def show_html(self):      def show_html(self):
         """simple index"""          """simple index"""
Line 859  def manage_addMPIWGProjectForm(self): Line 944  def manage_addMPIWGProjectForm(self):
 def manage_addMPIWGProject(self,id,RESPONSE=None):  def manage_addMPIWGProject(self,id,RESPONSE=None):
     """method to add a project"""      """method to add a project"""
     #print argv      #print argv
     if self.REQUEST.has_key('fileupload'):      fileupload=self.REQUEST.get('fileupload',None)
         fileupload=self.REQUEST['fileupload']  
         if fileupload:          if fileupload:
           print fileupload
             file_name=fileupload.filename              file_name=fileupload.filename
             filedata=fileupload.read()              filedata=fileupload.read()
   

Removed from v.1.13  
changed lines
  Added in v.1.29


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