In your code you have many calls to this:
db(db.mydb.id==request.args(0)).select().first()
which could be simplified into the equivalent expression
db.mydb(request.args(0))
You also have this:
records=db(db.mydb.id==request.args(0)).select()
...
counter=len(records)
but id is unique so counter is always only 1 or 0.
You also have:
check=db(db.mydb.id==request.args(0)).select().first()
if check !=None:
....
else:
row = db(db.mydb.id==request.args(0)).select().first()
so row is exactly like check and therefore always None.
Basically you code is equivalent to this:
def my_func():
if request.args:
row = db.mydb(request.args(0))
counter = 1 if row else 0
if not row: # should be if row?
my_id=row.id # always fails!
(filename, stream)
= db.mydb.myfield.retrieve(row.resourcefield)
myfunc(id,filename,stream)
else:
redirect(URL('mycontroller','this_function'))
records = [row] if row else []
return(counter=counter, records=recods, row=row)
On Jan 21, 5:54 am, web-dev-m <[email protected]> wrote:
> Dear Massimo,
>
> Thank you in advance for your time just looking. If I can write a
> functional web application, you must be brilliant to have created this
> software.
>
> I am essentially trying to write a google docs clone with the ability
> to add notes.
>
> My users upload documents which a python function uses, modifies, and
> then stores the text in the database. The view displays the text from
> the page in a set of divs. I then use AJAX to create a note on the
> side via a form.
>
> The text from the document and the document title/file are in
> different tables. Also, there is not guaranteed to be file text yet,
> as not every user that uploads a file will need to see the text, so I
> upload the file and get the text in two separate functions.
>
> My workflow is:
>
> 1.) check to see if file exists in database
> 2.) IF it doesnt, make it, and store the text in a table, then get the
> text fields.
> 3.) IF it does, get the text fields from one table and the filename
> from another
> 4.) Display file text in the view
>
> I then use AJAX to add a form which allows the user to add a note next
> to the text.