Hi

I use this code to solve this problem:

result = json.dumps(result, indent=4, sort_keys=True, default=str)

Don't know what it does but it solves my problem.

I found it here:
https://stackoverflow.com/questions/11875770/how-to-overcome-datetime-datetime-not-json-serializable




On Wed, 17 Jun 2020 at 23:41, Pierre <pcg...@gmail.com> wrote:

> Gooday,
> In the controler the function works correctly.  But as a task, it gives an
> error about Json not beeing able to deal with datetime.
> any suggestion would be appreciated :)
>
> here is the error :  TypeError: datetime.datetime(2020, 6, 16, 5, 17, 49)
> is not JSON serializable
>
> here is the code:
>
> #reload(sys)
> #sys.setdefaultencoding('utf-8')
> import sys
> import os
> import time
> import datetime
> import sqlite3
> #
>
> #------------------------------------------------------------------------------
> def pump_most_recent():
>     state = 'unknown'
>     try:
>         conn=sqlite3.connect('z:/alarm.sqlite')
>     except sqlite3.Error as err:
>         state = err # ='connexion impossible'
>     else:
>         state = 'connection ok'
>     #   last entry in the local storage is kept in the acue table, have to
> get this in order to query the prod databases
>         k = db(db.acue).select(db.acue.dstd2) # get the row
>         l = k[0].dstd2                        # get the date of interest
>         curs=conn.cursor()
>         rows = curs.execute("select * from log_txt where date > ?",
> (l,)).fetchall()
>         curs.close()
>         conn.close()
>     #
>         for row in rows:
>             a = datetime.datetime.strptime(row[1],'%Y-%m-%d : %H:%M:%S') #
> date avec le temps
>             b = row[2]
>             c = row[3]
>             d = row[4]
>             e = row[5]
>             f = row[6]
>             g = row[7]
>             h = row[8]
>             i = row[9]
>             j = row[10]
>     #
>
> db.alogs.insert(quand=a,etat=b,zone1=c,zone2=d,zone3=e,zone4=f,zone5=g,zone6=h,zone7=i,note=j)
>     finally:
>         return locals()
> #
>
> #-------------------------------------------------------------------------------
> #
> def acue_src_dst_update():
> #
>     z = acue_src_dst_show()
>     a = z.get('a')
>     b = z.get('b')
>     c = z.get('c')
>     d = z.get('d')
> #
>     db.acue.truncate()
>     db.acue.insert(srcd1=a,srcd2=b,dstd1=c, dstd2=d)
>     acue_after_update = db(db.acue).select()
> #
>     return locals()
>
> #------------------------------------------------------------------------------------------------------
> from gluon.scheduler import Scheduler
>
> Scheduler(db,dict(sync_data=pump_most_recent,sync_dates=acue_src_dst_update))
>
> --
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to web2py+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/web2py/ba7a30ef-1e82-430e-8295-8fd4be74c806o%40googlegroups.com
> <https://groups.google.com/d/msgid/web2py/ba7a30ef-1e82-430e-8295-8fd4be74c806o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/CACWMBMOyiV-rV2%3DbdHMB3JUht03yagZLT%2BuXtw_Z0yB%3D4gkztA%40mail.gmail.com.

Reply via email to