def get_rows_db(): # from reporter.engine.basedb.models import * #TrudovDogovor, Person, SalaryCalculation, Naznachenie from reporter.engine.basedb import docs #TrudovDogovor, Person, SalaryCalculation, Naznachenie from reporter.engine.basedb.simpleDB import DB #print "\n\nLOCALS:\n", locals() #print "\n\nDOCS_LOCALS:\n", docs.__dict__ DB.reset( docs.__dict__) baiIvan = docs.Person() aln = baiIvan.ime #boza was aln.alias boza, aln.ime = ( 'baiIvan', 'Ivan Shivachev') baiMamul = docs.Person() aln = baiMamul.ime boza, aln.ime = ( 'baiMamul', 'Kalmuk Mamulev') shefa = docs.Rabotodatel() shefa.ime.ime = 'Chichko Mnogov Parichkov' td = baiIvanNaznachenie = docs.TrudovDogovor() td.rabotodatel = shefa td.sluzhitel = baiIvan td.osnovna_zaplata = 2000 td1 = baiMamulNaznachenie = docs.TrudovDogovor() td1.rabotodatel = shefa td1.sluzhitel = baiMamul td1.osnovna_zaplata = 2500 DB.save( locals()) #print "\n\nLOCALS:\n", locals() test_data =(3*[[ 18, 19]] + 3*[[ 16, 19]] + 3*[[ 16, 20]] + 3*[[ 45, 45]] ) k = 0 test_db = [] for i in test_data: k += 1 sc = docs.SalaryCalculation() sc.naznachenie = k % 3 and baiIvanNaznachenie or baiMamulNaznachenie sc.otraboteni_dni = i[0] sc.rabotni_dni_za_perioda = i[1] r = ZaplataRow( sluzhitel = sc.naznachenie.sluzhitel.ime.ime, osn_zaplata = sc.osnovna_zaplata , otrab_dni = sc.otraboteni_dni , dni_za_mes = sc.rabotni_dni_za_perioda , realna_zap = sc.realna_zaplata ) test_db.append( r) return test_db
RowType = RowTrDogovor model_mapping = dict( sluzhitel = 'employment.slujitel.name.name', short_name = 'employment.slujitel.name.alias', osn_zaplata = 'employment.osnovna_zaplata') def setup( me): me.group( th_mod_1000, None, [ AggTrDogovor]) from reporter.engine.basedb.docs import TrudovDogovor, Person, SalaryCalculation, Employment, populateAll if __name__ == "__main__": from reporter.engine.basedb.simpleDB import DB populateAll( DB, 10) column_order = ['sluzhitel', 'short_name', 'osn_zaplata', 'percent'] spr = SprExtCalc() if 10: viewdescr = dict( sluzhitel = FldView( align='l', border='lr'), short_name = FldView( align='l', border='r'), osn_zaplata = FldView( format_str='%.2f', align='r', border='r'), percent = FldView( format_str='%.2f %%', align='r', border='r'), ) else: viewdescr = dict() spr.update( iter(DB.query( TrudovDogovor))) print View2( spr, viewdescr).make_str( column_order) # vim:ts=4:sw=4:expandtab