def test_national_id_number(self): assert qrcode.generate_payload( id="1111111111111" ) == "00020101021129370016A000000677010111021311111111111115802TH530376463047B5A" assert qrcode.generate_payload( id="1234567890123" ) == "00020101021129370016A000000677010111021312345678901235802TH53037646304EC40"
def test_ewallet_id(self): # eWallet ID, KPlus ID assert qrcode.generate_payload( id="012345678901234" ) == "00020101021129390016A00000067701011103150123456789012345802TH530376463049781" assert qrcode.generate_payload( id="004999000288505" ) == "00020101021129390016A00000067701011103150049990002885055802TH530376463041521" # KPlus shop ID assert qrcode.generate_payload( id="004000006579718" ) == "00020101021129390016A00000067701011103150040000065797185802TH53037646304FBB5"
def test_local_phone_number(self): assert qrcode.generate_payload( id="0801234567" ) == "00020101021129370016A000000677010111011300668012345675802TH530376463046197" assert qrcode.generate_payload( id="0899999999" ) == "00020101021129370016A000000677010111011300668999999995802TH53037646304FE29" assert qrcode.generate_payload( id="0891234567" ) == "00020101021129370016A000000677010111011300668912345675802TH5303764630429C1" assert qrcode.generate_payload( id="0000000000" ) == "00020101021129370016A000000677010111011300660000000005802TH530376463048956"
def main(): if sys.argv[1] == "qrcode" and len(sys.argv) > 2: args = sys.argv[2:] id_or_phone_number = None filepath = None amount = 0 is_show = False # parsing for arg in args: if arg.startswith("--id"): id_or_phone_number = str(arg.split("=", 1)[1]) elif arg.startswith("--amount"): amount = float(arg.split("=", 1)[1]) elif arg.startswith("--file"): filepath = str(arg.split("=", 1)[1]) elif arg.startswith("--show"): is_show = str(arg.split("=", 1)[1]).lower() == 'true' else: print("you are passing invalid argument", arg) sys.exit(0) if id_or_phone_number: payload = qrcode.generate_payload(id_or_phone_number, amount) print("payload of %s: %s" % (id_or_phone_number, payload)) if filepath: qrcode.to_file(payload, filepath) if is_show: qrcode.print_tty(payload) else: print(USAGE) sys.exit(0)
def test_amount_setting(self): # phone number assert qrcode.generate_payload( id="000-000-0000", amount=4.22 ) == "00020101021229370016A000000677010111011300660000000005802TH530376454044.226304E469" assert qrcode.generate_payload( id="089-123-4567", amount=13371337.75 ) == "00020101021229370016A000000677010111011300668912345675802TH5303764541113371337.756304B7D7" # national id assert qrcode.generate_payload( id="1234567890123", amount=420 ) == "00020101021229370016A000000677010111021312345678901235802TH53037645406420.006304BF7B" # eWallet ID, KPlus ID assert qrcode.generate_payload( id="004999000288505", amount=100.25 ) == "00020101021229390016A00000067701011103150049990002885055802TH53037645406100.256304369A" # KPlus shop ID assert qrcode.generate_payload( id="004000006579718", amount=200.50 ) == "00020101021229390016A00000067701011103150040000065797185802TH53037645406200.5063048A37"
def test_local_phone_number_with_international_format(self): assert qrcode.generate_payload( id="+66-89-123-4567" ) == "00020101021129370016A000000677010111011300668912345675802TH5303764630429C1"
def test_local_phone_number_with_dash(self): assert qrcode.generate_payload( id="080-123-4567" ) == "00020101021129370016A000000677010111011300668012345675802TH530376463046197"
def test_normal(self): payload = qrcode.generate_payload("0841234567") filepath = "./exported-qrcode-file.png" qrcode.to_file(payload, filepath) assert os.path.exists(filepath)
def test_normal(self): payload = qrcode.generate_payload("0841234567") img = qrcode.to_image(payload) assert type(img).__name__ == "PilImage"
def test_national_id_number_with_dash(self): assert qrcode.generate_payload( id="1-1111-11111-11-1" ) == "00020101021129370016A000000677010111021311111111111115802TH530376463047B5A"
def promptpayPayload(self, data): return qrcode.generate_payload(self.promptpay_id, float(data))