def updateAddress( addr): # Address must be passed using API's built-in Address object addr.validate() api._request("PUT", "u", api._currEmail, "addrs", addr.nick, "addr=" + addr.street, "addr2=" + addr.street2, "city=" + addr.city, "state=" + addr.state, "zip=" + addr.zip, "phone=" + addr.phone)
def orderHistory( orderID="" ): # if orderID left blank, all previous orders returned: ID returns specific details of order if orderID: api._request("GET", "u", api._currEmail, "order", orderID) else: api._request("GET", "u", api._currEmail, "orders")
def updateCard(cardNick, name, number, cvc, expiryMonth, expiryYear, addr): addr.validate() api._request("PUT", "u", api._currEmail, "ccs", cardNick, "name=" + name, "number=" + number, "cvc=" + cvc, "expiry_month=" + expiryMonth, "expiry_year=" + expiryYear, "bill_addr=" + addr.street, "bill_addr2=" + addr.street2, "bill_city=" + addr.city, "bill_state=" + addr.state, "bill_zip=" + addr.zip)
def deliveryCheck(rID, dT, addr): if not re.match(api._checkNums, rID): api._errs.append( "r.deliveryCheck - validation - restaurant ID (invalid, must be numerical)" ) addr.validate() api._request("GET", "dc", rID, dT._convertForRAPI(), addr.zip, addr.city, addr.street)
def deliveryFee(rID, subtotal, tip, dT, addr): if not re.match(api._checkNums, rID): api._errs.append("r.deliveryCheck - validation - restaurant ID (invalid, must be numerical)") addr.validate() return api._request( "GET", "fee", rID, subtotal._convertForRAPI(), tip._convertForRAPI(), dT._convertForRAPI(), addr.zip, addr.city, addr.street)
def submit_less(restid, tray, tip, dDate, dTime, card_nick, address_nick): return api._request("POST", "o", restid, "tray=" + tray, "tip=" + tip, "delivery_date=" + dDate, "delivery_time=" + dTime, "card_nick=" + card_nick, "nick=" + address_nick)
def submit(restaurantID, tray, tip, dTime, first_name, last_name, addr, card_name, card_number, card_cvc, card_expiry, ccAddr): addr.validate() ccAddr.validate() if not re.match(api._checkNums, restaurantID): api._errs.append("o.submit - validation - restaurant ID (invalid, must be numerical)") if not re.match(api._checkCC, card_number): api._errs.append("o.submit - validation - credit card number (invalid)") if not re.match(api._checkNums, card_cvc): api._errs.append("o.submit - validation - credit card security code (invalid, must be numerical)") if not re.match(api._checkEmail, em): api._errs.append("o.submit - validation - email (invalid)") if (dTime.asap): date = "ASAP" time = "" else: date = dTime._strAPI("month") + "-" + dTime._strAPI("day") time = dTime._strAPI("hour") + ":" + dTime._strAPI("minute") api._request("POST", "o", restaurantID, "tray=" + tray, "tip=" + tip._convertForRAPI(), "delivery_date=" + date, "delivery_time=" + time, "first_name=" + first_name, "last_name=" + last_name, "addr=" + addr._street, "city=" + addr.city, "state=" + addr.state, "zip=" + addr.zip, "phone=" + addr.phone, "em=" + _currEmail, "password="******"card_name=" + card_name, "card_number=" + card_number, "card_cvc=" + card_cvc, "card_expiry=" + card_expiry, "card_bill_addr=" + ccAddr._street, "card_bill_addr2=" + ccAddr._street2, "card_bill_city=" + ccAddr.city, "card_bill_state=" + ccAddr.state, "card_bill_zip=" + ccAddr.zip, "type=RES");
def submit_complete(restid, tray, tip, dDate, dTime, card_nick, addr, city, state, zip, phone): return api._request("POST", "o", restid, "tray=" + tray, "tip=" + tip, "delivery_date=" + dDate, "delivery_time=" + dTime, "addr=" + addr, "city=" + city, "state=" + state, "zip=" + zip, "phone=" + phone, "card_nick=" + card_nick)
def submit(restaurantID, tray, tip, dTime, first_name, last_name, addr, card_name, card_number, card_cvc, card_expiry, ccAddr): addr.validate() ccAddr.validate() if not re.match(api._checkNums, restaurantID): api._errs.append( "o.submit - validation - restaurant ID (invalid, must be numerical)" ) if not re.match(api._checkCC, card_number): api._errs.append( "o.submit - validation - credit card number (invalid)") if not re.match(api._checkNums, card_cvc): api._errs.append( "o.submit - validation - credit card security code (invalid, must be numerical)" ) if not re.match(api._checkEmail, em): api._errs.append("o.submit - validation - email (invalid)") if (dTime.asap): date = "ASAP" time = "" else: date = dTime._strAPI("month") + "-" + dTime._strAPI("day") time = dTime._strAPI("hour") + ":" + dTime._strAPI("minute") api._request( "POST", "o", restaurantID, "tray=" + tray, "tip=" + tip._convertForRAPI(), "delivery_date=" + date, "delivery_time=" + time, "first_name=" + first_name, "last_name=" + last_name, "addr=" + addr._street, "city=" + addr.city, "state=" + addr.state, "zip=" + addr.zip, "phone=" + addr.phone, "em=" + _currEmail, "password="******"card_name=" + card_name, "card_number=" + card_number, "card_cvc=" + card_cvc, "card_expiry=" + card_expiry, "card_bill_addr=" + ccAddr._street, "card_bill_addr2=" + ccAddr._street2, "card_bill_city=" + ccAddr.city, "card_bill_state=" + ccAddr.state, "card_bill_zip=" + ccAddr.zip, "type=RES")
def makeAcct(email, password, firstName, lastName): # password before submission must be SHA256-encoded; to be fixed with API update # api._request("POST", "u", email, "password="******"first_name=" + firstName, "last_name=" + lastName) api._request("POST", "uN", email, "password="******"first_name=" + firstName, "last_name=" + lastName)
def getCard(cardNick=""): if cardNick: api._request("GET", "u", api._currEmail, "ccs", cardNick) else: api._request("GET", "u", api._currEmail, "ccs")
def deleteAddress(addrNick): api._request("DELETE", "u", api._currEmail, "addrs", addrNick)
def updatePassword(password): api._request("PUT", "u", api._currEmail, "password", "password=" + hashlib.sha256(password).hexdigest())
def getAddress(addrNick=""): if addrNick: api._request("GET", "u", api._currEmail, "addrs", addrNick) else: api._request("GET", "u", api._currEmail, "addrs")
def deliveryList(dT, addr): addr.validate() return api._request("GET", "dl", dT._convertForRAPI(), addr.zip, addr.city, addr.street)
def deliveryList(dT, addr): addr.validate() api._request("GET", "dl", dT._convertForRAPI(), addr.zip, addr.city, addr.street)
def details(rID): if not re.match(api._checkNums, rID): api._errs.append( "r.deliveryCheck - validation - restaurant ID (invalid, must be numerical)" ) api._request("GET", "rd", rID)
def deleteCard(cardNick): api._request("DELETE", "u", api._currEmail, "ccs", cardNick)
def orderHistory(orderID=""): # if orderID left blank, all previous orders returned: ID returns specific details of order if orderID: api._request("GET", "u", api._currEmail, "order", orderID) else: api._request("GET", "u", api._currEmail, "orders")
def getAcct(): # get details on current user api._request("GET", "u", api._currEmail)
def updateAddress(addr): # Address must be passed using API's built-in Address object addr.validate() api._request("PUT", "u", api._currEmail, "addrs", addr.nick, "addr=" + addr.street, "addr2=" + addr.street2, "city=" + addr.city, "state=" + addr.state, "zip=" + addr.zip, "phone=" + addr.phone)
def details(rID): if not re.match(api._checkNums, rID): api._errs.append("r.deliveryCheck - validation - restaurant ID (invalid, must be numerical)") api._request("GET", "rd", rID)
def deliveryCheck(rID, dT, addr): if not re.match(api._checkNums, rID): api._errs.append("r.deliveryCheck - validation - restaurant ID (invalid, must be numerical)") addr.validate() api._request("GET", "dc", rID, dT._convertForRAPI(), addr.zip, addr.city, addr.street)