rendered paste body#!/usr/bin/python
import re
import sys
import sqlobject
from sqlobject.sqlite import builder
conn = builder()('sqlobject_demo21.db')
class Account(sqlobject.SQLObject):
_connection = conn
accountnumber = sqlobject.StringCol(length=255, unique=True)
accountname = sqlobject.StringCol(length=255, unique=True)
owner = sqlobject.ForeignKey('Instution')
Account.createTable(ifNotExists=True)
class Instution(sqlobject.SQLObject):
_idName = 'fooID'
_connection = conn
name = sqlobject.StringCol(length=255, unique=True)
accounts = sqlobject.MultipleJoin('Account', joinColumn='owner_id')
# def _set_phonenumber(self, value):
# if not re.match('\([0-9]{3}\) [0-9]{3}-[0-9]{4}', value): #It's not in the format we expect.
# if re.match('[0-9]{10}', value): #It's totally unformatted; add the formatting.
# print "totallu unformatted"
# value = "(%s) %s-%s" % (value[:3], value[3:6], value[6:])
# else:
# raise ValueError, 'Not a number number: %s' % value
# self._SO_set_phonenumber(value)
Instution.createTable(ifNotExists=True)
#newinstution = Instution(company=sys.argv[1],abbrevation=sys.argv[2],address=sys.argv[3],number=sys.argv[4],fax=sys.argv[5])
tfcu = Instution(name='Tucson Federal Credit Union')
pyramid = Instution(name='Pyramid Credit Union')
sharebuilder = Instution(name='Sharebuilder')
chase = Instution(name='Chase')
citibank = Instution(name='Citibank')
print tfcu
print pyramid
print sharebuilder
print chase
print citibank
newaccount = Account(accountnumber='00',accountname='REGULAR SAVINGS ACCT',owner=tfcu)
newaccount1 = Account(accountnumber='09',accountname='CUSTOM CHECKING',owner=tfcu)
newaccount2 = Account(accountnumber='12',accountname='PRIMELINE 2ND',owner=tfcu)
newaccount3 = Account(accountnumber='25',accountname='UNSECURED VISA',owner=tfcu)
newaccount4 = Account(accountnumber='80',accountname='CHECK-LINE RESERVE',owner=tfcu)
newaccount5 = Account(accountnumber='001',accountname='REGULAR',owner=pyramid)
newaccount6 = Account(accountnumber='009',accountname='CHECKING',owner=pyramid)
newaccount7 = Account(accountnumber='100-005234-01',accountname='Individual',owner=sharebuilder)
newaccount8 = Account(accountnumber='3471',accountname='Credit Card',owner=chase)
newaccount9 = Account(accountnumber='5972',accountname='Consumer Credit Card',owner=citibank)
print newaccount
print newaccount9
print tfcu.accounts