1: #TO DO author_semi_kolon etc. ersetzen durch Funktionen
2: def formatBibliography(self,found):
3: ret=""
4: if found.id_institutsbibliographie and (not found.id_institutsbibliographie==''):
5: ret+=formatBiblHelp(self,found,table='institutsbiblio',id=found.id_institutsbibliographie)
6: else:
7: ret+=formatBiblHelp(self,found,table='bibliography',id=found.id_gen_bib)
8: return ret
9:
10: def CRListToSemicolon(list):
11: if list:
12: return "; ".join(list.split("\n"))
13: else:
14: return None
15:
16: def getBib(value):
17: if value:
18: return value
19: else:
20: return ""
21:
22: def formatBiblHelp(self,found,table,id,foundIB=None):
23: ret=""
24: if not foundIB:
25: try:
26: foundIB=self.ZSQLInlineSearch(_table=table,id=id,_op_id="eq")[0]
27:
28: except:
29: return ret
30:
31: if foundIB.reference_type.lower()=='journal article':
32: ret+=getBib(CRListToSemicolon(foundIB.author))+". ""+getBib(foundIB.title)+". " "+"<i>%s</i>"%getBib(foundIB.secondary_title)+" "+getBib(foundIB.volume)+" ("
33: if not self.ZSQLisEmpty(foundIB.number):
34: ret+=foundIB.number+" "
35:
36: if foundIB.year:
37: ret+=getattr(foundIB,'year','')
38: ret+=")"
39: if foundIB.pages and (not foundIB.pages)=='':
40: ret+=": "+foundIB.pages+"."
41:
42: elif foundIB.reference_type.lower()=='edited book':
43: if foundIB.author:
44: ret+=CRListToSemicolon(foundIB.author)+" (Editor/s). "
45: if foundIB.title and (not foundIB.title==""):
46: ret+="<i>"+foundIB.title+"</i>. "
47: if foundIB.place_published and (not foundIB.place_published==''):
48: ret+=foundIB.place_published+": "
49: if foundIB.publisher and (not foundIB.publisher==''):
50: ret+=foundIB.publisher+", "
51: ret+=getBib(foundIB.year)+"."
52:
53: elif foundIB.reference_type.lower()=='book section' or foundIB.reference_type.lower()=='in book':
54: ret+=getBib(CRListToSemicolon(foundIB.author))+". ""+getBib(foundIB.title)+"." In: <i>"+getBib(foundIB.secondary_title)+"</i>"
55: if (CRListToSemicolon(foundIB.secondary_author)) and (not CRListToSemicolon(foundIB.secondary_author)==''):
56: ret+=", eds.: "+CRListToSemicolon(foundIB.secondary_author)
57: ret+=". "
58: if foundIB.pages and (not foundIB.pages)=='':
59: ret+=foundIB.pages+". "
60: if foundIB.place_published and (not foundIB.place_published==''):
61: ret+=foundIB.place_published+": "
62: if foundIB.publisher and (not foundIB.publisher==''):
63: ret+=foundIB.publisher+", "
64: ret+=getBib(foundIB.year)+"."
65:
66:
67: elif foundIB.reference_type.lower()=='book':
68: ret+=getBib(CRListToSemicolon(foundIB.author))+". <i>"+getBib(foundIB.title)+"</i>. "
69: # if foundIB.pages and (not foundIB.pages==''):
70: #% ret+=foundIB.pages+". "
71: if foundIB.place_published and (not foundIB.place_published==''):
72: ret+=foundIB.place_published+": "
73: if foundIB.publisher and (not foundIB.publisher==''):
74: ret+=foundIB.publisher+", "
75: ret+=getBib(foundIB.year)+"."
76:
77: elif foundIB.reference_type.lower()=='newspaper article':
78: ret+=CRListToSemicolon(foundIB.author)+". ""+foundIB.title+"." <i>"+foundIB.secondary_title+"</i>, "
79: ret+=foundIB.date+"."+foundIB.year+","
80: if foundIB.pages and (not foundIB.pages==''):
81: ret+=foundIB.pages+". "
82: elif foundIB.reference_type.lower()=='magazine article':
83: ret+=CRListToSemicolon(foundIB.author)+". ""+foundIB.title+"." <i>"+foundIB.secondary_title+"</i>, "
84: if foundIB.date:
85: ret+=foundIB.date+"."
86: if foundIB.year:
87: ret+=foundIB.year+","
88: if foundIB.pages and (not foundIB.pages==''):
89: ret+=foundIB.pages+". "
90:
91:
92:
93:
94:
95: return ret
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>