--- MPIWGWeb/MPIWGProjects.py 2007/04/18 17:17:55 1.47.2.72 +++ MPIWGWeb/MPIWGProjects.py 2007/05/02 18:32:45 1.47.2.76 @@ -330,15 +330,22 @@ class MPIWGRoot(ZSQLExtendFolder): if not str: return "" if type(str) is StringType: - try: - return str.decode('utf-8') - except: - return str.decode('latin-1') + try: + return str.decode('utf-8') + except: + return str.decode('latin-1') else: - return str + def getat(self,array,idx=0,default=None): + """return array element idx or default (but no exception)""" + if len(array) < idx: + return default + else: + return array[idx] + + def browserCheck(self): """check the browsers request to find out the browser type""" bt = {} @@ -830,7 +837,7 @@ class MPIWGRoot(ZSQLExtendFolder): #create the object e_mail=args[key] try: - newObj=MPIWGStaff.MPIWGStaff(e_mail,res.last_name.encode('utf-8'),res.first_name.encode('utf-8'),k) + newObj=MPIWGStaff.MPIWGStaff(e_mail,res.last_name,res.first_name,k) memberFolder._setObject(e_mail,newObj) obj=getattr(memberFolder,e_mail) obj.reindex_object() @@ -891,8 +898,11 @@ class MPIWGRoot(ZSQLExtendFolder): columns=data.keys() for x in ignoreEntries: - columns.remove(x) - + logging.info("ign rem: %s"%x) + try: #falls in ignore entries felder sind, die nicht in columns sind, fange den fehler ab + columns.remove(x) + except: + pass insert=[] @@ -914,6 +924,8 @@ class MPIWGRoot(ZSQLExtendFolder): # self.ZSQLQuery(queryStr) return True,msg + + def updatePersonalwww_doIt(self): """do the update""" args=self.REQUEST.form @@ -924,8 +936,8 @@ class MPIWGRoot(ZSQLExtendFolder): # generate the new entry if news and (len(news)>0): - ret+="
Neueintrge erscheinen erst auf der Homepage, wenn ihnen eine e-mail Adresse zugeordnet wurde.
" + ret+="Neueinträge erscheinen erst auf der Homepage, wenn ihnen eine e-mail Adresse zugeordnet wurde.
" ret+="Neueintrge erscheinen erst auf der Homepage, wenn ihnen eine e-mail Adresse zugeordnet wurde.
" + ret+="Neueinträge erscheinen erst auf der Homepage, wenn ihnen eine e-mail Adresse zugeordnet wurde.
" ret+="Bitte die Filemaker-db entsprehchend ndern
" - + ret+="Wenn nötig in Filemaker-db ändern:
" + # konflicte for conflict in conflicts.keys(): ignoreEntries=[] displayIgnored=[] @@ -963,23 +975,34 @@ class MPIWGRoot(ZSQLExtendFolder): ret+="" self.updatePersonEntry(resultSet[conflict],ignoreEntries=ignoreEntries) - + + # rest + cl=list(conflicts.keys()) + + for key in resultSet.keys(): + if key not in cl: + self.updatePersonEntry(resultSet[key]) return ret+"