--- MPIWGWeb/bibliography.py 2004/07/06 16:54:33 1.1
+++ MPIWGWeb/bibliography.py 2008/10/22 15:37:47 1.7.2.9
@@ -1,4 +1,4 @@
-
+#TO DO author_semi_kolon etc. ersetzen durch Funktionen
def formatBibliography(self,found):
ret=""
if found.id_institutsbibliographie and (not found.id_institutsbibliographie==''):
@@ -7,62 +7,77 @@ def formatBibliography(self,found):
ret+=formatBiblHelp(self,found,table='bibliography',id=found.id_gen_bib)
return ret
+def CRListToSemicolon(list):
+ if list:
+ return "; ".join(list.split("\n"))
+ else:
+ return None
+
def getBib(value):
if value:
return value
else:
return ""
-def formatBiblHelp(self,found,table,id):
+
+def formatBiblHelp(self,found,table,id,foundIB=None):
ret=""
- try:
- foundIB=self.ZSQLInlineSearch(_table=table,id=id)[0]
+ if not foundIB:
+ try:
+ foundIB=self.ZSQLInlineSearch(_table=table,id=id,_op_id="eq")[0]
- except:
- return ret
+ except:
+ return ret
if foundIB.reference_type.lower()=='journal article':
-
- ret+=getBib(foundIB.author_semi_colon)+". ""+getBib(foundIB.title)+". " "+"%s"%getBib(foundIB.secondary_title)+" "+getBib(foundIB.volume)+" ("
+ ret+=getBib(CRListToSemicolon(foundIB.author))+". ""+getBib(foundIB.title)+". " "+"%s"%getBib(foundIB.secondary_title)+" "+getBib(foundIB.volume)+" ("
if not self.ZSQLisEmpty(foundIB.number):
ret+=foundIB.number+" "
- ret+=foundIB.year+")"
- if not foundIB.pages=='':
+
+ if foundIB.year:
+ ret+=getattr(foundIB,'year','')
+ ret+=")"
+ if foundIB.pages and (not foundIB.pages)=='':
ret+=": "+foundIB.pages+"."
elif foundIB.reference_type.lower()=='edited book':
- ret+=foundIB.author_semi_colon+" (Editor/s). "+foundIB.title+"."
- if not foundIB.place_published=='':
+ if foundIB.author:
+ ret+=CRListToSemicolon(foundIB.author)+" (Editor/s). "
+ if foundIB.title and (not foundIB.title==""):
+ ret+=""+foundIB.title+". "
+ if foundIB.place_published and (not foundIB.place_published==''):
ret+=foundIB.place_published+": "
- if not foundIB.publisher=='':
+ if foundIB.publisher and (not foundIB.publisher==''):
ret+=foundIB.publisher+", "
- ret+=foundIB.year+"."
+ ret+=getBib(foundIB.year)+"."
- elif foundIB.reference_type.lower()=='book section':
- ret+=foundIB.author_semi_colon+". ""+foundIB.title+"." In "+foundIB.secondary_title+""
- if not foundIB.secondary_author_semi_colon=='':
- ret+=", eds.: "+foundIB.secondary_author_semi_colon
+ elif foundIB.reference_type.lower()=='book section' or foundIB.reference_type.lower()=='in book':
+ ret+=getBib(CRListToSemicolon(foundIB.author))+". ""+getBib(foundIB.title)+"." In: "+getBib(foundIB.secondary_title)+""
+ if (CRListToSemicolon(foundIB.secondary_author)) and (not CRListToSemicolon(foundIB.secondary_author)==''):
+ ret+=", eds.: "+CRListToSemicolon(foundIB.secondary_author)
ret+=". "
- if not foundIB.pages=='':
+ if foundIB.pages and (not foundIB.pages)=='':
ret+=foundIB.pages+". "
- if not foundIB.place_published=='':
+ if foundIB.place_published and (not foundIB.place_published==''):
ret+=foundIB.place_published+": "
- if not foundIB.publisher=='':
+ if foundIB.publisher and (not foundIB.publisher==''):
ret+=foundIB.publisher+", "
- ret+=foundIB.year+"."
+ ret+=getBib(foundIB.year)+"."
+
+
elif foundIB.reference_type.lower()=='book':
- ret+=foundIB.author_semi_colon+". "+foundIB.title+". "
- if not foundIB.pages=='':
- ret+=foundIB.pages+". "
- if not foundIB.place_published=='':
+ ret+=getBib(CRListToSemicolon(foundIB.author))+". "+getBib(foundIB.title)+". "
+# if foundIB.pages and (not foundIB.pages==''):
+#% ret+=foundIB.pages+". "
+ if foundIB.place_published and (not foundIB.place_published==''):
ret+=foundIB.place_published+": "
- if not foundIB.publisher=='':
+ if foundIB.publisher and (not foundIB.publisher==''):
ret+=foundIB.publisher+", "
- ret+=foundIB.year+"."
+ ret+=getBib(foundIB.year)+"."
elif foundIB.reference_type.lower()=='newspaper article':
- ret+=foundIB.author_semi_colon+". ""+foundIB.title+"." "+foundIB.secondary_title+", "
+ ret+=CRListToSemicolon(foundIB.author)+". ""+foundIB.title+"." "+foundIB.secondary_title+", "
ret+=foundIB.date+"."+foundIB.year+","
- if not foundIB.pages=='':
+ if foundIB.pages and (not foundIB.pages==''):
ret+=foundIB.pages+". "