In [1]:
from batchcalc import calculator as cal
from batchcalc.calculator import Chemical, Types, PhysicalForm, Reactant

In [2]:
bc = cal.BatchCalculator()

In [4]:
bc.session.query(Chemical, Types.name, PhysicalForm.form).\
                     filter(Chemical.typ == Types.id).\
                     filter(Chemical.physical_form_id == PhysicalForm.id).all()


Out[4]:
[(<Chemical(id= 1, name='sodium hydroxide', formula='NaOH')>,
  u'solution',
  u'crystals'),
 (<Chemical(id= 2, name='potassium hydroxide', formula='KOH')>,
  u'solution',
  u'crystals'),
 (<Chemical(id= 3, name='sodium aluminate', formula='Na2Al2O4')>,
  u'reactant',
  u'crystals'),
 (<Chemical(id= 4, name='aluminium hydroxide', formula='Al(OH)3')>,
  u'solution',
  u'solid'),
 (<Chemical(id= 5, name='aluminium isopropoxide', formula='Al(OC3H7)3')>,
  u'reactant',
  u'solid'),
 (<Chemical(id= 6, name='aluminum sulfate hexadecahydrate', formula='Al2(SO4)3*18H2O')>,
  u'reactant',
  u'crystals'),
 (<Chemical(id= 7, name='colloidal silica AM-30', formula='SiO2')>,
  u'mixture',
  u'liquid'),
 (<Chemical(id= 8, name='colloidal silica HS-40', formula='SiO2')>,
  u'mixture',
  u'liquid'),
 (<Chemical(id= 9, name='fumed silica', formula='SiO2')>,
  u'reactant',
  u'solid'),
 (<Chemical(id=10, name='water', formula='H2O')>, u'reactant', u'liquid'),
 (<Chemical(id=11, name='tetramethylammonium chloride', formula='(CH3)4NCl')>,
  u'reactant',
  u'crystals'),
 (<Chemical(id=12, name='tetramethylammonium hydroxide pentahydride', formula='(CH3)4NOH*5H2O')>,
  u'reactant',
  u'solid'),
 (<Chemical(id=13, name='hexamethylenediamine', formula='NH2(CH2)6NH2')>,
  u'reactant',
  u'solid'),
 (<Chemical(id=14, name='choline chloride', formula='(CH3)3N(Cl)CH2CH2OH')>,
  u'reactant',
  u'crystals'),
 (<Chemical(id=15, name='ethanol', formula='C2H5OH')>, u'reactant', u'liquid'),
 (<Chemical(id=16, name='ethylene glycol', formula='C2H6O2')>,
  u'reactant',
  u'liquid'),
 (<Chemical(id=17, name='1-propanol', formula='C3H7OH')>,
  u'reactant',
  u'liquid'),
 (<Chemical(id=18, name='2-propanol', formula='C3H7OH')>,
  u'reactant',
  u'liquid'),
 (<Chemical(id=19, name='glycerol', formula='C3H8O3')>,
  u'reactant',
  u'liquid'),
 (<Chemical(id=20, name='1-butanol', formula='C4H9OH')>,
  u'reactant',
  u'liquid')]

In [4]:
bc.session.query(Chemical).all()


Out[4]:
[<Chemical(id= 1, name='sodium hydroxide', formula='NaOH')>,
 <Chemical(id= 2, name='potassium hydroxide', formula='KOH')>,
 <Chemical(id= 3, name='sodium aluminate', formula='Na2Al2O4')>,
 <Chemical(id= 4, name='aluminium hydroxide', formula='Al(OH)3')>,
 <Chemical(id= 5, name='aluminium isopropoxide', formula='Al(OC3H7)3')>,
 <Chemical(id= 6, name='aluminum sulfate hexadecahydrate', formula='Al2(SO4)3*18H2O')>,
 <Chemical(id= 7, name='colloidal silica AM-30', formula='SiO2')>,
 <Chemical(id= 8, name='colloidal silica HS-40', formula='SiO2')>,
 <Chemical(id= 9, name='fumed silica', formula='SiO2')>,
 <Chemical(id=10, name='water', formula='H2O')>,
 <Chemical(id=11, name='tetramethylammonium chloride', formula='(CH3)4NCl')>,
 <Chemical(id=12, name='tetramethylammonium hydroxide pentahydride', formula='(CH3)4NOH*5H2O')>,
 <Chemical(id=13, name='hexamethylenediamine', formula='NH2(CH2)6NH2')>,
 <Chemical(id=14, name='choline chloride', formula='(CH3)3N(Cl)CH2CH2OH')>,
 <Chemical(id=15, name='ethanol', formula='C2H5OH')>,
 <Chemical(id=16, name='ethylene glycol', formula='C2H6O2')>,
 <Chemical(id=17, name='1-propanol', formula='C3H7OH')>,
 <Chemical(id=18, name='2-propanol', formula='C3H7OH')>,
 <Chemical(id=19, name='glycerol', formula='C3H8O3')>,
 <Chemical(id=20, name='1-butanol', formula='C4H9OH')>]

In [5]:
fructose = Chemical(name="fructose", formula="C6H12O6", molwt=180.1572, typ=3, concentration=0.99, cas="57-48-7", density=1.69)

In [11]:
bc.session.add(fructose)
bc.session.commit()

In [12]:
bc.session.query(Chemical).all()


Out[12]:
[<Chemical(id= 1, name='sodium hydroxide', formula='NaOH')>,
 <Chemical(id= 2, name='potassium hydroxide', formula='KOH')>,
 <Chemical(id= 3, name='sodium aluminate', formula='Na2Al2O4')>,
 <Chemical(id= 4, name='aluminium hydroxide', formula='Al(OH)3')>,
 <Chemical(id= 5, name='aluminium isopropoxide', formula='Al(OC3H7)3')>,
 <Chemical(id= 6, name='aluminum sulfate hexadecahydrate', formula='Al2(SO4)3*18H2O')>,
 <Chemical(id= 7, name='colloidal silica AM-30', formula='SiO2')>,
 <Chemical(id= 8, name='colloidal silica HS-40', formula='SiO2')>,
 <Chemical(id= 9, name='fumed silica', formula='SiO2')>,
 <Chemical(id=10, name='water', formula='H2O')>,
 <Chemical(id=11, name='tetramethylammonium chloride', formula='(CH3)4NCl')>,
 <Chemical(id=12, name='tetramethylammonium hydroxide pentahydride', formula='(CH3)4NOH*5H2O')>,
 <Chemical(id=13, name='hexamethylenediamine', formula='NH2(CH2)6NH2')>,
 <Chemical(id=14, name='choline chloride', formula='(CH3)3N(Cl)CH2CH2OH')>,
 <Chemical(id=15, name='ethanol', formula='C2H5OH')>,
 <Chemical(id=16, name='ethylene glycol', formula='C2H6O2')>,
 <Chemical(id=17, name='1-propanol', formula='C3H7OH')>,
 <Chemical(id=18, name='2-propanol', formula='C3H7OH')>,
 <Chemical(id=19, name='glycerol', formula='C3H8O3')>,
 <Chemical(id=20, name='1-butanol', formula='C4H9OH')>,
 <Chemical(id=21, name='fructose', formula='C6H12O6')>]

In [6]:
r1.physical_form


Out[6]:
u'crystals'

In [7]:
def check_chemicals():
    query = bc.session.query(Chemical).order_by(Chemical.id).all()
    for item in query:
        print item.id, item.name, item.formula, item.electrolyte_id

In [8]:
check_chemicals()


1 sodium hydroxide NaOH None
2 potassium hydroxide KOH None
3 sodium aluminate Na2Al2O4 None
4 aluminium hydroxide Al(OH)3 None
5 aluminium isopropoxide Al(OC3H7)3 None
6 aluminum sulfate hexadecahydrate Al2(SO4)3*18H2O None
7 colloidal silica AM-30 SiO2 None
8 colloidal silica HS-40 SiO2 None
9 fumed silica SiO2 None
10 water H2O None
11 tetramethylammonium chloride (CH3)4NCl None
12 tetramethylammonium hydroxide pentahydride (CH3)4NOH*5H2O None
13 hexamethylenediamine NH2(CH2)6NH2 None
14 choline chloride (CH3)3N(Cl)CH2CH2OH None
15 ethanol C2H5OH None
16 ethylene glycol C2H6O2 None
17 1-propanol C3H7OH None
18 2-propanol C3H7OH None
19 glycerol C3H8O3 None
20 1-butanol C4H9OH None

In [8]: