Exemple #1
0
def cdata_post_fpimage(device, raw_data, head):
    '''
    FPImage 时间戳时
    '''
    pin, fid, image_file=(head['PIN'], head['FID'], head['FPImage'])
    fName = os.path.split(image_file)[1]
    fName = os.path.splitext(fName)
    save_model_file(Template, 
        "%s/%s/%s-%s%s" % (pin, fid, device.id, fName[0].split("_")[-1], fName[1]), 
        raw_data, "fpimage") 
    return "FP"
Exemple #2
0
def cdata_post_fpimage(device, raw_data, head):
    '''
    FPImage 时间戳时
    '''
    pin, fid, image_file = (head['PIN'], head['FID'], head['FPImage'])
    fName = os.path.split(image_file)[1]
    fName = os.path.splitext(fName)
    save_model_file(
        Template, "%s/%s/%s-%s%s" %
        (pin, fid, device.id, fName[0].split("_")[-1], fName[1]), raw_data,
        "fpimage")
    return "FP"
Exemple #3
0
def post_photo(request):
    '''
    http://xxx/fdata
    设备采集现场图片并上传到服务器
    '''
    network_monitor(request)
    device = check_device(request)
    if device is None:
        return unknown_device_response()
    else:
        try:
            pin = request.REQUEST.get("PIN", "")

            pin = pin.split(".")[0].split("-")
            dt = pin[0]
            if len(pin) == 2:  #Success Picture
                pin = pin[1]
            else:
                pin = ""
            d = request.raw_post_data
            if "CMD=uploadphoto" in d: d = d.split("CMD=uploadphoto")[1][1:]
            if "CMD=realupload" in d: d = d.split("CMD=realupload")[1][1:]
            if len(d) > 0:
                if 0 and SYNC_MODEL:
                    save_attphoto(
                        "%s/%s/%s" % (device.sn, dt[:4], dt[4:8]) + "/" +
                        format_pin(pin) + "_" + dt[8:] + ".jpg", d, "picture")
                else:
                    from mysite.iclock.models import Transaction
                    save_model_file(
                        Transaction,
                        "%s/%s/%s" % (device.sn, dt[:4], dt[4:8]) + "/" +
                        format_pin(pin) + "_" + dt[8:] + ".jpg", d, "picture")
            else:
                return device_response_write("No photo data!\n")

            if request.REQUEST.has_key('PhotoStamp'):
                if SYNC_MODEL:
                    device.photo_stamp = request.REQUEST['PhotoStamp']
                    device.set('photo_stamp')  #####更新考勤照片时间戳
                else:
                    DevLog(SN=device,
                           Cnt=1,
                           OP=u"PICTURE",
                           Object=pin,
                           OpTime=datetime.datetime.now()).save()
                    device.photo_stamp = request.REQUEST['PhotoStamp']
                    device.save()

            #check_and_save_cache(device)
        except:
            pass
        return device_response_write("OK\n")
def check_upload_file(request, data):
    '''
    保存模型相关文件
    '''
    d = request.raw_post_data
    index = d.find("Content=")
    if not index: return
    d = d[index + 8:]
    if not d: return
    try:
        fname = data['FILENAME']
    except:
        fname = ""
    if not fname: return
    save_model_file(Device, "%s/%s-%s"%(data["SN"], fname, data['ID']), 
        d, "upload_file")
def post_photo(request):
    '''
    http://xxx/fdata
    设备采集现场图片并上传到服务器
    '''
    network_monitor(request)
    
    response = device_response()
    device = check_device(request)
    if device is None: 
        response.write("UNKNOWN DEVICE")
        return response
    try:
        pin = request.REQUEST.get("PIN","")
        
        pin = pin.split(".")[0].split("-")
        dt = pin[0]
        if len(pin) == 2: #Success Picture
            pin = pin[1]
        else:
            pin = ""
        d = request.raw_post_data
        if "CMD=uploadphoto" in d: d = d.split("CMD=uploadphoto")[1][1:]
        if "CMD=realupload" in d: d = d.split("CMD=realupload")[1][1:]
        if len(d)>0:
            save_model_file(Transaction,
            "%s/%s/%s" % (device.sn, dt[:4], dt[4:8])+"/"+ pin+"_"+ dt[8:] + ".jpg", 
            d, "picture")
        else:
            response.write("No photo data!\n")
            return response
            
        if request.REQUEST.has_key('PhotoStamp'):
            DevLog(SN=device, Cnt=1, OP=u"PICTURE", Object=pin, OpTime=datetime.datetime.now()).save()
            device.photo_stamp = request.REQUEST['PhotoStamp']
            device.save()
            
        check_and_save_cache(device)
    except:
        pass
#        errorLog(request)
    response.write("OK\n")
    return response