File:  [Repository] / MPIWGWeb / bibliography.py
Revision 1.7.2.11: download - view: text, annotated - select for diffs - revision graph
Wed Feb 18 15:42:00 2009 UTC (15 years, 3 months ago) by dwinter
Branches: r2
cvs korrigiert

    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))+". &quot;"+getBib(foundIB.title)+". &quot; "+"<i>%s</i>"%getBib(foundIB.secondary_title)+" "+getBib(foundIB.volume)+" ("
   33:         if not self.ZSQLisEmpty(foundIB.number):
   34:             ret+=foundIB.number+"&nbsp;"
   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))+". &quot;"+getBib(foundIB.title)+".&quot; 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)+". &quot;"+foundIB.title+".&quot; <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)+". &quot;"+foundIB.title+".&quot; <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>