--- MPIWGWeb/MPIWGProjects.py 2004/07/29 08:18:10 1.16 +++ MPIWGWeb/MPIWGProjects.py 2004/08/16 14:19:42 1.21 @@ -29,7 +29,11 @@ def sortF(x,y): try: return cmp(x[1],y[1]) except: - return 0 + try: + return cmp(str(x[1]),str(y[1])) + except: + print "error",x[1],y[1] + return 0 def sortI(x,y): xsplit=x[1].split(".") @@ -80,20 +84,22 @@ class MPIWGRoot(ZSQLExtendFolder): """format""" return formatBibliography(here,found) - def getValue(self,field): + def getValue(self,fieldStr): """Inhalt des Feldes""" - - if type(field)==StringType: - try: - if field[len(field)-1]==";": - field=field[0:len(text)-1] - except: - """nothing""" - - return field.encode('utf-8') + if type(fieldStr)==StringType: + field=fieldStr else: - return field[0].encode('utf-8') + field=fieldStr[0] + try: + if field[len(field)-1]==";": + field=field[0:len(field)-1] + except: + + """nothing""" + field=re.sub(r';([^\s])','; \g<1>',field) + return field.encode('utf-8') + def sortedNames(self,list): @@ -381,7 +387,7 @@ class MPIWGRoot(ZSQLExtendFolder): for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']): ret.append(x[1].title.decode('utf-8')) - #ret.sort() + ret.sort() #print ret return ret @@ -415,7 +421,6 @@ class MPIWGRoot(ZSQLExtendFolder): #title=project[0].WEB_title title=[project[0].getContent('WEB_title')] #print title - returnList.append((depth,nr,title,project[0])) return returnList @@ -423,13 +428,13 @@ class MPIWGRoot(ZSQLExtendFolder): def formatElementForOverview(self,element): """format the element for output in overview""" if element[0]==1: #department - return "
"%(element[3].getContent('WEB_title')) + return """
"""%(element[3].absolute_url(),element[3].getContent('WEB_title'))
elif element[0]==3:
- return "
%s"%(element[3].getContent('WEB_title'))
+ return """%s
"""%(element[3].absolute_url(),element[3].getContent('WEB_title'))
def changePosition(self,treeId,select,RESPONSE=None):
"""Change Postion Entry"""
@@ -557,17 +562,17 @@ class MPIWGRoot(ZSQLExtendFolder):
#return str(members)
for x in members:
ret+=self.getProjectsOfMember(name=x)
-
+
return ret
def getProjectsOfMember(self,name=None,email=None):
"""get project of a member"""
def sortP(x,y):
"""sort by sorting number"""
-
- return cmp(x.xdata_05,y.xdata_05)
+ #print x.xdata_05,y.xdata_05
+ return cmp(x.WEB_title,y.WEB_title)
-
+
ret=[]
splitNeu=[]
if email:
@@ -583,16 +588,24 @@ class MPIWGRoot(ZSQLExtendFolder):
proj=self.ProjectCatalog({'xdata_01':search})
if proj:
proj2=[x for x in proj]
- proj2.sort(sortP)
- ret.append((y,proj2))
-
+ # proj2.sort(sortP)
+ # ret.append((y,proj2))
+ else:
+ proj2=[]
+
proj=self.ProjectCatalog({'xdata_08':search})
if proj:
- proj2=[x for x in proj]
- proj2.sort(sortP)
+ 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)
+
+ if len(proj2)>0:
ret.append((y,proj2))
-
return ret
def givePersonList(self,name):
@@ -752,7 +765,8 @@ class MPIWGProject(Folder):
"""giveListofDatafields"""
ret=[]
for x in range(1,14):
- ret.append('xdata_%02i'%x)
+ if not x in [6,10,9]: # not used fields
+ ret.append('xdata_%02i'%x)
return ret
def getDefinedFields(self):
@@ -781,17 +795,20 @@ class MPIWGProject(Folder):
text=x.decode('latin-1').encode('utf-8')
#delete separator (;) if is there is one
+ ## try:
+## print text, text[len(text)-1]
+## except:
+## print "error:",text
try:
if text[len(text)-1]==";":
- text=text[0:len(text)-1].encode('utf-8')
+ text=text[0:len(text)-1]
+
+
except:
"""nothing"""
- if (type(text)==StringType) or (type(text)==UnicodeType):
- return text
- else:
- return text[0]
-
+ text2=re.sub(r';([^\s])','; \g<1>',text)
+ return text2
def show_html(self):
"""simple index"""
@@ -904,15 +921,15 @@ def manage_addMPIWGProjectForm(self):
def manage_addMPIWGProject(self,id,RESPONSE=None):
"""method to add a project"""
#print argv
- if self.REQUEST.has_key('fileupload'):
- fileupload=self.REQUEST['fileupload']
- if fileupload:
- file_name=fileupload.filename
- filedata=fileupload.read()
-
- argv=xmlhelper.proj2hash(filedata)
-
- #print argv
+ fileupload=self.REQUEST.get('fileupload',None)
+ if fileupload:
+ print fileupload
+ file_name=fileupload.filename
+ filedata=fileupload.read()
+
+ argv=xmlhelper.proj2hash(filedata)
+
+ #print argv
newObj=MPIWGProject(id,argv)
else:
newObj=MPIWGProject(id)