Project

General

Profile

AQuickTutorial » History » Version 5

Aurynn Shaw, 01/22/2009 09:08 AM

1 1 Aurynn Shaw
= Simpycity in a Hurry =
2
And what to expect when you use it.
3
4
== Setup ==
5
6
First, set up Simpycity:
7
8
{{{
9 2 Aurynn Shaw
from simpycity.core import Function
10 1 Aurynn Shaw
from simpycity import config
11
12
config.host = 'localhost'
13
config.port = 5432
14 2 Aurynn Shaw
config.user = 'user'
15
config.password = 'password'
16
config.database = 'dbname'
17
18
}}}
19
20
Then, create some basic functions.
21
{{{
22 5 Aurynn Shaw
f = Function("get_row",['id'])
23
f_all = Function("get_rows")
24 2 Aurynn Shaw
}}}
25
26 3 Aurynn Shaw
'''f_all''' maps to the stored procedure "get_rows", which takes no arguments.
27 2 Aurynn Shaw
28 3 Aurynn Shaw
'''f''', on the other hand, maps to the stored procedure "get_row", which takes a single argument, which we've named id.
29 2 Aurynn Shaw
30 3 Aurynn Shaw
To call f_all, it's a standard python function:
31 1 Aurynn Shaw
{{{
32
all_results = f_all()
33 3 Aurynn Shaw
}}}
34
35
For get_row, it's the same Python call semantics, both positional and keyword arguments being supported
36
{{{
37
result = f(1) # get id 1
38
result = f(id=1) # also get id 1
39 1 Aurynn Shaw
}}}
40 4 Aurynn Shaw
41
The results (look kind of like) a result set from psycopg2, and can be iterated over as per normal:
42
{{{
43
for row in all_result:
44
  # do row stuff
45
}}}
46
47
and in the case of a single result, you can also call .next() or .fetchone() and get the row object.
48
{{{
49
row = result.next()
50
# or
51
row = result.fetchone()
52
}}}