示例#1
0
    def POST(self):
        inp = web.input()
        try:
            wd = WadukDaily.get(int(inp.get('pk')))
            wd.set(**{inp.get('name'): float(inp.get('value', 0))})
            wd = wd.sqlmeta.asDict()
            waktu = wd['waktu']
            tgl = waktu.strftime('%Y-%m-%d')
            id = wd['posID']
            tma6 = wd['tma6']
            tma12 = wd['tma12']
            tma18 = wd['tma18']
            # memeriksa apakah table 'tma' telah terisi dari pos dan waktu
            if tma6:
                tmas = [
                    t for t in TinggiMukaAir.select(
                        AND(TinggiMukaAir.q.agent == id, TinggiMukaAir.q.waktu
                            == tgl, TinggiMukaAir.q.jam == '6'))
                ]
                if tmas == []:
                    TinggiMukaAir(
                        **{
                            'agent': id,
                            'waktu': waktu,
                            'jam': '6',
                            'manual': tma6,
                            'origin': 'web'
                        })
                if tmas:
                    tma = [t for t in tmas if t.jam == '6'][0]
                    tma.set(**{'jam': '6', 'manual': tma6})
                    tma.syncUpdate()
            if tma12:
                tmas = [
                    t for t in TinggiMukaAir.select(
                        AND(TinggiMukaAir.q.agent == id, TinggiMukaAir.q.waktu
                            == tgl, TinggiMukaAir.q.jam == '12'))
                ]
                if tmas == []:
                    TinggiMukaAir(
                        **{
                            'agent': id,
                            'waktu': waktu,
                            'jam': '12',
                            'manual': tma12,
                            'origin': 'web'
                        })
                if tmas:
                    tma = [t for t in tmas if t.jam == '12'][0]
                    tma.set(**{'jam': '12', 'manual': tma12})
                    tma.syncUpdate()
            if tma18:
                tmas = [
                    t for t in TinggiMukaAir.select(
                        AND(TinggiMukaAir.q.agent == id, TinggiMukaAir.q.waktu
                            == tgl, TinggiMukaAir.q.jam == '18'))
                ]
                if tmas == []:
                    TinggiMukaAir(
                        **{
                            'agent': id,
                            'waktu': waktu,
                            'jam': '18',
                            'manual': tma18,
                            'origin': 'web'
                        })
                if tmas:
                    tma = [t for t in tmas if t.jam == '18'][0]
                    tma.set(**{'jam': '18', 'manual': tma18})
                    tma.syncUpdate()
        except SQLObjectNotFound:
            return web.notfound()

        return {"Ok": "true"}
示例#2
0
#f = open('/tmp/out.txt', 'w')
for l in lines:
    (n, d, data) = l.strip().split('\t', 2)
    # print n
    b = 11
    waktu = datetime.date(th, b, 1)
    pows = data.strip().split('\t')
    for i in range(len(pows)):
        if not i % 2:
            while waktu.day <= 15:
                sql = "SELECT id FROM waduk_daily WHERE pos_id=%s AND waktu='%s'" % (
                    dict_agent[n], waktu)
                rst = conn.queryAll(sql)
                if rst:
                    wd = WadukDaily.get(rst[0][0])
                    print wd.waktu, n
                    wd.po_outflow_q = float(pows[i])
                    #print rst
                else:
                    wd = WadukDaily(**dict(pos=dict_agent[n],
                                           waktu=waktu,
                                           po_outflow_q=float(pows[i])))
                    print n, waktu
                #print dict_agent[n], n, waktu, pows[i]
                waktu += datetime.timedelta(days=1)
        else:
            while waktu.day != 1:
                sql = "SELECT id FROM waduk_daily WHERE pos_id=%s AND waktu='%s'" % (
                    dict_agent[n], waktu)
                rst = conn.queryAll(sql)