Example #1
0
def verifysms():
    payload = json.loads(request.data)
    request_url = url + \
        f"/api/v1/users/{payload['id']}/factors/{payload['factorId']}/lifecycle/activate"
    headers = {
        'Accept': 'application/json',
        'Authorization': 'SSWS ' + api_key,
    }
    session = requests.Session()
    session.headers.update(headers)
    body = {"passCode": payload['passCode']}
    r = session.post(request_url, json=body)

    req_url = url + \
        f"/api/v1/users/{payload['id']}/lifecycle/activate?sendEmail=false"
    r = session.post(req_url)

    req_url = url + f"/api/v1/users/{payload['id']}/factors?activate=true"
    data = {
        "factorType": "call",
        "provider": "OKTA",
        "profile": {
            "phoneNumber": payload['phone']
        }
    }
    r = session.post(req_url, json=data)
    return '', 204
Example #2
0
def autorenew(nid, password):
    header = {
        'Accept':
        'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Encoding':
        'gzip, deflate, br',
        'Accept-Language':
        'zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2',
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
    }
    session = requests.Session()
    if len(nid) == 8:
        nid = nid + '0'
    logininfo = {'code': nid, 'pin': password, 'submit': '送出'}
    start = session.post("https://innopac.lib.fcu.edu.tw/patroninfo*cht",
                         data=logininfo,
                         headers=header)
    if ('請輸入密碼' in start.text):
        return ('帳號或密碼錯誤')
    else:
        bookurl = start.url[:-3] + 'items'
        books = session.get(bookurl)
        booksoup = BeautifulSoup(books.text, "html.parser")
        day = booksoup.findAll('td', {'class': 'patFuncStatus'})
        id = booksoup.findAll('input', {'type': 'checkbox'})
        renew = {
            'currentsortorder': 'current_checkout',
            'currentsortorder': 'current_checkout',
            'requestRenewSome': '續借選取館藏'
        }
        if len(day) != 0:
            flag = 0
            for i in range(len(day)):
                if cleckday(day[i].text.split(' ')[2]) <= 5:
                    renew.setdefault(id[i]['id'], id[i]['value'])
                    flag = flag + 1
            if flag > 0:
                session.post(bookurl, data=renew, headers=header)
                renew.pop('requestRenewSome')
                renew.setdefault('renewsome', '是')
                result = session.post(bookurl, data=renew, headers=header)
                if 'color="red"' in result.text:
                    return ('續借失敗,書籍將在5天內到期')
                else:
                    return ('成功續借' + str(flag) + '本書')
            else:
                return ('您的書籍還不需續借')
        else:
            return ('您沒有任何館藏借出')
Example #3
0
def do_login(id, pw, json_return = False):
    try:
        body = {'type': 'general',
         'id': id,
         'pushid': '',
         'password': pw,
         'profile': '0',
         'networktype': '',
         'carrier': '',
         'mcc': '',
         'mnc': '',
         'markettype': 'unknown',
         'adid': '',
         'simoperator': '',
         'installerpackagename': ''}
        url = '%s/login?%s' % (config['base_url'], urllib.parse.urlencode(config['base_parameter']))
        response = session.post(url, json=body, headers=config['headers'])
        data = response.json()
        if 'credential' in data:
            if json_return:
                return data
            else:
                return data['credential']
        #else:
            #logger.debug('login fail!!')
            #if 'resultcode' in data:
                #logger.debug(data['resultmessage'])
    except Exception as e:
        pass
Example #4
0
def add_room():
    form = NewRoomForm()

    if form.validate_on_submit():
        payload = {
            'room_type': form.room_type.data,
            'capacity': form.capacity.data,
            'bathroom': form.bathroom.data,
            'balcony': form.balcony.data,
            'price': form.price.data
        }
        header = {"Content-Type": "application/json"}
        r = session.post(DB_ADAPTER_URL + '/add_room',
                         headers=header,
                         json=payload)

        title = 'Operation result'
        description = '%s for %s people - %s lei per night' % (
            form.room_type.data, form.capacity.data, form.price.data)

        status = r.json()['status']
        reason = r.json()['reason']

        return render_template('result.html',
                               title=title,
                               description=description,
                               status=status,
                               reason=reason)
    return render_template('form.html', form=form, title='Add a room')
Example #5
0
def book_room():
    form = BookingForm()
    form.room.choices = get_room_ids()

    if form.validate_on_submit() and correct_dates(form.check_in.data,
                                                   form.check_out.data):
        room_id = form.room.data
        payload = {
            'room_id': form.room.data,
            'first_name': form.first_name.data,
            'last_name': form.last_name.data,
            'check_in': form.check_in.data,
            'check_out': form.check_out.data
        }
        header = {"Content-Type": "application/json"}
        r = session.post(DB_ADAPTER_URL + '/book_room',
                         headers=header,
                         data=payload)
        title = 'Booking result'
        description = 'Your booking for %s between %s and %s' % (
            current_rooms[int(room_id)][1],
            form.check_in.data.strftime('%d %b %Y'),
            form.check_out.data.strftime('%d %b %Y'))
        status = r.json()['status']
        reason = r.json()['reason']

        return render_template('result.html',
                               title=title,
                               description=description,
                               status=status,
                               reason=reason)
    return render_template('book_room.html', form=form)
Example #6
0
def account_certificate():
    if not is_loggedin():
        return home()
    if request.method == "POST":
        session.cookies.clear()
        response = session.post("https://core:10443/account/certificate", data={}, cert=cert_key, cookies={'userID': request.cookies.get(userid)})
        if (response.status_code == 200):
            username = json.loads(urlsafe_b64decode(request.cookies.get(userid)).decode())['username']
            filename = username + "_certificate.p12"
            response = make_response(urlsafe_b64decode(response.content))
            response.headers.set('Content-Type', 'application/octet-stream')
            response.headers.set('Content-Disposition', 'attachment', filename=filename)
            return response
        if (response.status_code == 400):
            session.cookies.clear()
            response = session.get("https://core:10443/account/certificate", cert=cert_key, cookies={'userID': request.cookies.get(userid)})
            if response.status_code == 200:
                username = json.loads(urlsafe_b64decode(request.cookies.get(userid)).decode())['username']
                filename = username + "_certificate.pem"
                response = make_response(response.content)
                response.headers.set('Content-Type', 'application/text')
                response.headers.set('Content-Disposition', 'attachment', filename=filename)
                return response
            else:
                return home()
Example #7
0
def account():
    if not is_loggedin():
        return home()
    if request.method == "GET":
        session.cookies.clear()
        response = session.get("https://*****:*****@_!#$%^&*()<>?/\|}{~:]')
        regex_email = re.compile('[_!#$%^&*()<>?/\|}{~:]')
        if form.validate() and regex.search(request.form['firstname']) == None and regex.search(request.form['lastname']) == None and regex_email.search(request.form['email']) == None:
            data = None
            if request.form['password'] != '':
                data = {"lastname": request.form['lastname'], "firstname": request.form['firstname'], "email": request.form['email'], "password": request.form['password']}
            else :
                data = {"lastname": request.form['lastname'], "firstname": request.form['firstname'], "email": request.form['email']}
            session.cookies.clear()
            response = session.post("https://core:10443/account", data=data, cert=cert_key, cookies={'userID': request.cookies.get(userid)})
            if response.status_code == 200:
                data = json.loads(response.content)
                return render_template('account.html', msg='Your information has been updated', form=form, lastname=data['lastname'], firstname=data['firstname'], email=data['email'])
            else:
                return home()
        return render_template('account.html', msg='The inputs are not correct', form=form, lastname=request.form['lastname'], firstname=request.form['firstname'], email=request.form['email'])
Example #8
0
File: app.py Project: s7chak/4DByD
def searchFile(name, date):

    print("name {} date {}".format(name,date))
    # fileName = request.args.get('name')
    # date = request.args.get('date')
    queryJson = {"query": { "statement": "SELECT * FROM enaio:object WHERE CONTAINS ('{}') AND enaio:creationDate = '{}'".format(name,date), "skipCount": 0, "maxItems": 50}}
    print(jsonify(queryJson))
    headerDict = {}
    baseUrl = 'https' + '://' + 'api.yuuvis.io'
    header_name = 'Content-Type'
    header_name = 'Ocp-Apim-Subscription-Key'
    headerDict['Ocp-Apim-Subscription-Key'] = api_key
    session = requests.Session()
    multipart_form_data = {
        'data': ('data.json', queryJson, 'application/json')
    }
    print(type(multipart_form_data))

    # print("resp"+response)
    response = session.post(str(baseUrl + '/dms/objects/search'), json=queryJson, headers=headerDict)
    jsonResponse = response.content.decode('utf8').replace("'", '"')

    # Load the JSON to a Python list & dump it back out as formatted JSON
    data = json.loads(jsonResponse)
    s = json.dumps(data, sort_keys=True)
    # print(s[0][5].split(':')[0])
    print(s)
    openfile(name+'.code-workspace')

    # obj = s['enaio:objectTypeId']
    redirect(url_for('search', message="Success finding files"))
Example #9
0
File: app.py Project: s7chak/4DByD
def createFolder(ProjectName):

    today = date.today()
    mmddyy = today.strftime("%m-%d-%y")
    folderName = mmddyy + ""
    metaDataJson = { "objects": [{"properties": {"enaio:objectTypeId" : {"value" : "userDirectory"}, "name": {"value": folderName}}}] }

    jsonPath = r'json/metadataparent.json'
    fd = os.open(jsonPath, os.O_RDWR|os.O_CREAT)
    with open(jsonPath, 'w') as fd:
        fd.write(json.dumps(metaDataJson))

    headerDict = {}
    baseUrl = 'https' + '://' + 'api.yuuvis.io'

    header_name = 'Content-Type'
    # headerDict['Content-Type'] = 'multipart_form_data, application/x-www-form-urlencoded'
    # headerDict['Content-Type'] = 'application/json'

    header_name = 'Ocp-Apim-Subscription-Key'
    headerDict['Ocp-Apim-Subscription-Key'] = api_key

    session = requests.Session()

    multipart_form_data = {
        'data' :('data.json', open(jsonPath, 'rb'), 'application/json')
    }

    print("resp:")
    response = session.post(str(baseUrl + '/dms/objects'), files=multipart_form_data, headers=headerDict)
    print(response.json())
    addFile(folderName, ProjectName)
    return (response.content)
Example #10
0
def make_post_request_with_form_data(session,formDataDefault, resOriginal, parkID ,dateTime):
    soup = BeautifulSoup(resOriginal.text,'lxml')
    form = deepcopy(formDataDefault)
    form = formData(soup, form)
    form[config.ctlUtility],form[config.ctltxtDate] = parkID ,dateTime
    headers = deepcopy(config.headers)
    res = session.post(config.BASE_URL, form, headers = headers, verify=False)
    return session,res
Example #11
0
def ajax_request(session, url, params, data, retries=10, sleep=20):
    for _ in range(retries):
        response = session.post(url, params=params, data=data)
        if response.status_code == 200:
            response_dict = json.loads(response.text)
            return response_dict.get('page_token', None), response_dict['html_content']
        else:
            time.sleep(sleep)
Example #12
0
File: test.py Project: chusta/pasta
    def test_unsupported_http_methods(self):
        """ check for use of unsupported http methods """
        bad_methods = ["PUT", "DELETE", "TRACE", "CONNECT", "PATCH", "FAKE"]

        # create login session
        url = "http://localhost:8080"
        session = requests.session()
        data = {"username": "******", "password": "******"}
        session.post(url + "/login", data=data)

        # cycle through invalid methods and expect code 405
        for method in bad_methods:
            req = requests.Request(method, url + "/")
            pre = session.prepare_request(req)
            resp = session.send(pre)
            self.assertEqual(resp.status_code, 405)
        session.close()
Example #13
0
 def ajax_request(session, url, params=None, data=None, headers=None, retries=5, sleep=20):
     for _ in range(retries):
         response = session.post(url, params=params, data=data, headers=headers)
         if response.status_code == 200:
             return response.json()
         if response.status_code in [403, 413]:
             return {}
         else:
             time.sleep(sleep)
Example #14
0
def _create_folder(session, folder_name, parent_id="root"):
    cf_url = 'https://www.googleapis.com/drive/v2/files'
    cf_headers = {'Content-Type': 'application/json'}
    cf_body = {'title': folder_name, 'parents': [{'id': parent_id}],
               'mimeType': "application/vnd.google-apps.folder"}
    cf_response = session.post(cf_url, headers=cf_headers, data=json.dumps(cf_body))
    fid = cf_response.json()['id']
    #print_in_color(cf_response.json()['id'], Color.PURPLE)
    _record_file_id(folder_name, fid)
Example #15
0
def login():
    if request.method == "POST":
        data = {"username": request.form['username'], "password": request.form['password']}
        session.cookies.clear()
        response = session.post("https://core:10443/login", data=data, cert=cert_key)
        if response.status_code == 200:
            res = make_response(render_template('home.html'))
            res.set_cookie(userid, response.cookies.get('userID'), max_age=MAX_AGE)
            return res
        else:
            return render_template('login.html', msg='Wrong credentials!')
    else:
        home()
Example #16
0
def user():
    payload = json.loads(request.data)
    request_url = url + "/api/v1/users?activate=false"
    data = {
        "profile": {
            "firstName": "Update",
            "lastName": "User",
            "email": payload['login'],
            "login": payload['login']
        },
        "credentials": {
            "password": {
                "value": payload['password']
            }
        }
    }

    headers = {
        'Accept': 'application/json',
        'Authorization': 'SSWS ' + api_key,
    }
    session = requests.Session()
    session.headers.update(headers)
    res = session.post(request_url, json=data)
    if int(res.status_code) == 200:
        id = res.json()['id']
        request_url = url + f"/api/v1/users/{id}/factors"
        data = {
            "factorType": "sms",
            "provider": "OKTA",
            "profile": {
                "phoneNumber": str(payload['phone'])
            }
        }
        res = session.post(request_url, json=data)

    return json.dumps({"id": str(id), "factorId": res.json()['id']}), 200
Example #17
0
def _handle_captcha(session, response, callback):
    response.meta = {}
    captcha_solve_try = response.meta.get('captcha_solve_try', 0)
    url = response.url

    captcha = self._solve_captcha(response)

    if captcha is None:
        response = response
    else:
        meta = response.meta.copy()
        meta['captcha_solve_try'] = captcha_solve_try + 1
        response = session.post(url, params={'field-keywords': captcha})

    return response
Example #18
0
def home():
    if is_loggedin():
        return render_template('home.html')
    else:
        if request.headers.get('X-SSL-Client-Cert'):
            data = {'crt': request.headers['X-SSL-Client-Cert']}
            session.cookies.clear()
            response = session.post("https://core:10443/login", data=data, cert=cert_key)
            if response.status_code == 200:
                res = make_response(render_template('home.html'))
                res.set_cookie(userid, response.cookies.get('userID'), max_age=MAX_AGE)
                return res
            else:
                return render_template('login.html', msg='Unknown certificate!')
        return render_template('login.html')
Example #19
0
def convert():
    # data = request.json
    email = request.form['email']
    url = request.form['url']
    # endpoint = url.split('https://s3.amazonaws.com/livebooth/')[1]
    status = ''
    with requests.Session() as session:
        r = session.post('https://transcoder.livebooth.xyz/v1/convert',
                         json={
                             "url": url,
                             "email": email
                         },
                         verify=False)
        status = r.status_code
    # r = requests.post('https://khr9zw6byi.execute-api.us-west-2.amazonaws.com/dev/v1/convert', json={"url": url, "email": email})
    # return redirect(url_for('share/{}'.format(endpoint)))
    return redirect('/share/{}'.format(url), code=302)
Example #20
0
def index():
    if request.method == 'GET':
        return redirect(url_for('static', filename='chatbot.html'))
    j = request.json
    sender = str(j["sender"])
    message = str(j["message"])
    session = requests.Session()
    session.trust_env = False
    r = session.post(os.environ["endpoint"], json={
        "sender": sender,
        "message": message
    })
    j = r.json()
    out = []
    for msg in j:
        if "text" in msg:
            out.append(msg["text"])
    return Response(json.dumps(out), mimetype="application/json")
Example #21
0
def extract_data_park_sanjay_gandhi(parkID, dateTime):
    headers = deepcopy(config.headers)
    headers["Host"]    = "sgnp.mahaonline.gov.in"
    headers["Origin"]  = "https://sgnp.mahaonline.gov.in"
    headers["Referer"] = "https://sgnp.mahaonline.gov.in/NationalPark/Booking.aspx?ServiceID=2139"

    session = requests.session()
    res = session.get(config.BASE_URL_RAJIV, headers = headers ,verify=False)
    soup = BeautifulSoup(res.text,'lxml')
    form = deepcopy(config.formData)
    form = formData(soup, form ,10)
    form[config.ctlUtilityRajiv] = dateTime
    res = session.post(config.BASE_URL_RAJIV, form, headers = headers, verify=False)
    soup = BeautifulSoup(res.text,'lxml')
    content = soup.find("div", {"id":"pnlResource"})
    if content:
        return buildRajivContent(content)
    return {},[],[]
Example #22
0
def uploadToYuuvis():
    baseUrl = 'https://api.yuuvis.io/dms/objects'
    header_name = 'Content-Type'
    # headerDict['Content-Type'] = 'multipart/form-data, application/x-www-form-urlencoded'
    headerDict = {}
    paramDict = {}
    header_name = 'Ocp-Apim-Subscription-Key'
    headerDict['Ocp-Apim-Subscription-Key'] = YKEY
    session = requests.Session()
    contentFilePath = './image_with_boxes.jpg'
    metaDataFilePath = './metadata.json'
    multipart_form_data = {
        'data': ('metadata.json', open(metaDataFilePath,
                                       'rb'), 'application/json'),
        'mario': ('image_with_boxes.jpg', open(contentFilePath,
                                               'rb'), 'application/jpeg')
    }
    response = session.post(baseUrl,
                            files=multipart_form_data,
                            headers=headerDict)
    print(response.json())
    return response.json()
Example #23
0
def existingPatientLookup(
    base_url, project_id, cloud_region, dataset_id, fhir_store_id, query
):
    """
    Searches resources in the given FHIR store.

    It uses the
    _search POST method and a query string containing the
    information to search for. In this sample, the search criteria is
    'family:exact=Smith' on a Patient resource.
    """
    url = "{}/projects/{}/locations/{}".format(base_url, project_id, cloud_region)

    fhir_store_path = "{}/datasets/{}/fhirStores/{}/fhir".format(
        url, dataset_id, fhir_store_id
    )

    resource_path = "{}/Patient/_search{}".format(fhir_store_path, query)

    # Make an authenticated API request
    session = get_session()

    headers = {"Content-Type": "application/fhir+json;charset=utf-8"}

    response = session.post(resource_path, headers=headers)
    response.raise_for_status()

    resources = response.json()
    print(
        "Using POST request, found a total of {} Patient resources:".format(
            resources["total"]
        )
    )

    print(json.dumps(resources, indent=2))
    id = resources["entry"][0]["resource"]["id"]
    app.logger.info("Got patient id {}".format(id))
    return id, resources
Example #24
0
def delete_room():
    form = DeleteRoomForm()
    form.room.choices = get_room_ids()

    if form.validate_on_submit():
        room_id = form.room.data
        payload = {'room_id': room_id}
        header = {"Content-Type": "application/json"}
        r = session.post(DB_ADAPTER_URL + '/delete_room',
                         headers=header,
                         json=payload)

        title = 'Operation result'
        description = 'Delete room %s' % (room_id)
        status = r.json()['status']
        reason = r.json()['reason']

        return render_template('result.html',
                               title=title,
                               description=description,
                               status=status,
                               reason=reason)
    return render_template('form.html', form=form, title='Delete a room')
Example #25
0
File: app.py Project: s7chak/4DByD
def addFile(folder, ProjectName):

    queryJson = {"query": { "statement": "SELECT * FROM enaio:object WHERE CONTAINS ('{}')".format(folder), "skipCount": 0, "maxItems": 50}}
    metaDataJson = { "objects": [{"properties": {"enaio:objectTypeId" : {"value" : "documentType1"}, "name": {"value": ProjectName}, "enaio:parentId": {"value": "8b3b452c-07d2-489a-8b79-91d46f802bac"} }, "contentStreams": [{"cid": "cid_63apple"}] }] }

    jsonPath = "json/metadatachild.json"
    contentPath = "content/error8.txt" ## this is the error file you are trying to upload

    fd = os.open(jsonPath, os.O_RDWR | os.O_CREAT)
    with open(jsonPath, 'w') as fd:
        fd.write(json.dumps(metaDataJson))

    headerDict = {}
    baseUrl = 'https' + '://' + 'api.yuuvis.io'

    header_name = 'Content-Type'

    header_name = 'Ocp-Apim-Subscription-Key'
    headerDict['Ocp-Apim-Subscription-Key'] = api_key

    session = requests.Session()

    multipart_form_data = {
        'data' :('data.json', open(jsonPath, 'rb'), 'application/json'),
        'cid_63apple' : ('content.pdf', open(contentPath, 'rb'), 'application/pdf')
    }

    print(type(multipart_form_data))
    #print("--searchResp")
    #searchResp = session.post(str(baseUrl + '/dms/objects/search'), json=queryJson, headers=headerDict)
    #print(searchResp.json())

    response = session.post(str(baseUrl + '/dms/objects'), files=multipart_form_data, headers=headerDict)
    print("--resp--")
    print(response.json())
    return (response.content)
Example #26
0
def main():
    user_manager = current_app.user_manager
    login_form = user_manager.login_form(request.form)
    register_form = user_manager.register_form(request.form)
    
    if request.method == 'POST':  
        # swipe='%LTCC0000000000006580?;000000000000006580?'
        # true_swipe = {'swipe':swipe}

        # test_data = {
        #     'cardid':'0000000000006506',
        #     'FirstName':'TestFirst2',
        #     'LastName':'TestLast2',
        #     'phone':'',
        #     'phone2':'',
        #     'areacode':'813',
        #     'Sex':'F',
        #     'CodeName':'TESTTEST2',
        #     'GroupType':'',
        #     'email':'',
        #     'dob_y':'2001',
        #     'dob_m':'01',
        #     'dob_d':'02'
        # }
        # test_waiver = {
        #     'cardid':swipe.split('?')[1][1:], 
        #     'codename':'TestCode',
        #     'custid':swipe.split('?')[1][1:],
        # }

        # test_photo = {
        #     'cardid':swipe.split('?')[1][1:], 
        #     'data':''
        # }
        # birth = request.form['birth'].split('/')
        # entry_data = {
        #     'cardid':swipe.split('?')[2][1:],
        #     'FirstName':request.form['first_name'].strip().title(),
        #     'LastName':request.form['last_name'].strip().title(),
        #     'phone':'',
        #     'phone2':'',
        #     'areacode':'813',
        #     'Sex':request.form['sex'].strip().upper(),
        #     'CodeName':request.form['codename'].strip().upper(),
        #     'GroupType':'',
        #     'email':request.form['email'].strip().lower(),
        #     'dob_y':birth[2],
        #     'dob_m':birth[0],
        #     'dob_d':birth[1]
        # }
        headers={
            'Accept':'*/*',
            'Origin':'http://kiosk.centermanagerpro.com',
            'X-Requested-With':'XMLHttpRequest',
            'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
            'Referer':'http://kiosk.centermanagerpro.com/230/',
            'Accept-Encoding':'gzip,deflate,sdch',
            'Accept-Language':'en-US,en;q=0.8',
            'Connection':'Keep-Alive',
        }
        # auth = session.get('http://*****:*****@kiosk.centermanagerpro.com/230')
        # if auth.status_code == 200:
        global swipe
        global cardid
        global codename
        session = requests.Session()
        if 'file' in request.form:
            photo = request.form['file']
            photo_data = {
                'cardid':cardid,
                'custid':cardid,
                'data':photo
            }
            print(photo[:100])
            swipe_data = { 'swipe':'%LTCC'+cardid+'?;00'+cardid+'?'}
            uploadphoto = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/uploadphoto.php', data=photo_data, headers=headers)
            
            print(uploadphoto.text)
            flash('Signed in successfully! You are ready to play!')
            return render_template('kiosk.html',laser=True)
        
        if 'swipe' not in request.form:
            if 'waiver' not in request.form:
                if 'birth' in request.form:
                    birth = request.form['birth'].split('/')
                    cardid = swipe.split('?')[0][5:]
                    codename = request.form['codename'].strip().upper()
                    entry_data = {
                        'cardid':cardid,
                        'FirstName':request.form['first_name'].strip().title(),
                        'LastName':request.form['last_name'].strip().title(),
                        'phone':'',
                        'phone2':'',
                        'areacode':'813',
                        'Sex':request.form['sex'].strip().upper(),
                        'CodeName':codename,
                        'GroupType':'',
                        'email':request.form['email'].strip().lower(),
                        'dob_y':birth[2],
                        'dob_m':birth[0],
                        'dob_d':birth[1]
                    }                
                    print(entry_data)
                else:
                    email = request.form['email']
                    print(email)
                    customer = Customer.query.filter(Customer.email==email).first()
                    if customer is not None:
                        flash('Logged in')
                        print(customer.email)
                        laser = Laser.query.filter(Laser.customer_id==customer.id).first()
                        if laser is None: 
                            codename = customer.first_name
                        else:
                            codename = laser.codename

                        birth = str(customer.birth).split('-')
                        print(customer.birth)
                        entry_data = {
                            'cardid':cardid,
                            'FirstName':customer.first_name,
                            'LastName':customer.last_name,
                            'phone':'',
                            'phone2':'',
                            'areacode':'813',
                            'Sex':{0:'F',1:'M',2:"F"}[customer.sex],
                            'CodeName':codename,
                            'GroupType':'',
                            'email':customer.email,
                            'dob_y':birth[2],
                            'dob_m':birth[0],
                            'dob_d':birth[1]
                        }                

                    else:
                        flash('Email not found')
                        return render_template('kiosk.html', swipe=True, laser=True)
                
                savedata = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/savedata.php', data=entry_data, headers=headers)

                print(savedata.text)
                json_data = json.loads(savedata.text)
                if json_data['success']:
                    return render_template('kiosk.html', waiver=True, laser=True)
            else:
                waiver_data = {
                    'cardid':cardid,
                    'codename':codename,
                    'custid':cardid
                }
                savewaiver = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/savewaiver.php', data=waiver_data, headers=headers)
                print(savewaiver.text)
                return render_template('kiosk.html', pic=True, laser=True)

        elif request.form['swipe'][:5] == "%LTCC":
            swipe = request.form['swipe']
            swipe_data = { 'swipe':swipe }
            cardid = swipe.split('?')[0][5:]            
            validate_swipe = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/validateswipe.php', data=swipe_data, headers=headers)
            json_data = json.loads(validate_swipe.text)
            print(swipe)
            if validate_swipe.status_code == 200 and json_data['reg']:
                print('passing')
                return render_template('kiosk.html', swipe=True, laser=True)
            else:
                flash('Card Not Registered')
                return render_template('kiosk.html', swipe=False, laser=True)
        elif request.form['swipe'] == '' or request.form['swipe'][0] != "%":
            flash('Card Read Error')
            return render_template('kiosk.html', swipe=False, laser=True)
        else:
            flash('not yet')
            return render_template('kiosk.html', swipe=True, laser=True)
        

            # uploadphoto = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/uploadphoto.php', data=test_photo, headers=headers)
            
            # print(uploadphoto.text)
    return render_template('kiosk.html', swipe=False, laser=True)