Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import json
- import requests
- from requests.auth import HTTPBasicAuth
- import platform
- from datetime import datetime
- ##### Start Editing ######
- host = "https://example.com" # Your Wordpress Site url
- consumer_key = "ck_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- consumer_secret = "cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- license_key = 'Replace-WITH-YOUR-KEY'
- ##### STOP Editing ######
- myjson_headers = {'Content-Type': 'application/json'}
- def retrieve_license(account_key_to_check):
- """Retrieves a single license key by the license key string itself. The response contains the queried license key
- data object.
- """
- # https://www.licensemanager.at/docs/rest-api/developer-documentation/retrieve-a-license/
- # GET Request Url /wp-json/lmfwc/v2/licenses/FOO-FIGHTERS
- url = host + "/wp-json/lmfwc/v2/licenses/" + account_key_to_check
- json_response = requests.get(url, auth=HTTPBasicAuth(consumer_key, consumer_secret)).text
- # print(json_response)
- json_response_dict = json.loads(str(json_response))
- print(json_response_dict)
- print(json.dumps(json_response_dict, indent=4))
- # # Parse license information from json url
- # license_request_status = json_response_dict["success"]
- # license_request_id = json_response_dict["data"]["id"]
- # license_request_orderid = json_response_dict["data"]["orderId"]
- # license_request_productId = json_response_dict["data"]["productId"]
- # license_request_userId = json_response_dict["data"]["userId"]
- # license_request_licenseKey = json_response_dict["data"]["licenseKey"]
- # license_request_expiresAt = json_response_dict["data"]["expiresAt"]
- # license_request_validFor = json_response_dict["data"]["validFor"]
- # license_request_source = json_response_dict["data"]["source"]
- # license_request_status = json_response_dict["data"]["status"]
- # license_request_timesActivated = json_response_dict["data"]["timesActivated"]
- # license_request_timesActivatedMax = json_response_dict["data"]["timesActivatedMax"]
- # license_request_createdAt = json_response_dict["data"]["createdAt"]
- # license_request_updatedAt = json_response_dict["data"]["updatedAt"]
- # license_request_updatedBy = json_response_dict["data"]["updatedBy"]
- #
- # # Print parsed results to stdout
- # print("license_request_status : %s" % license_request_status)
- # print("license_request_id : %s" % license_request_id)
- # print("license_request_orderid : %r" % license_request_orderid)
- # print("license_request_productId : %s" % license_request_productId)
- # print("license_request_userId : %s" % license_request_userId)
- # print("license_request_licenseKey : %s" % license_request_licenseKey)
- # print("license_request_expiresAt : %s" % license_request_expiresAt)
- # print("license_request_validFor : %r" % license_request_validFor)
- # print("license_request_source : %s" % license_request_source)
- # print("license_request_status : %s" % license_request_status)
- # print("license_request_timesActivated : %s" % license_request_timesActivated)
- # print("license_request_timesActivatedMax : %s" % license_request_timesActivatedMax)
- # print("license_request_createdAt : %r" % license_request_createdAt)
- # print("license_request_updatedAt : %s" % license_request_updatedAt)
- # print("license_request_updatedBy : %s" % license_request_updatedBy)
- return json_response_dict
- def verify_license_active(account_key_to_check):
- # Retrieve License details. Does license exist?
- try:
- json_response_dict = retrieve_license(account_key_to_check)
- except:
- print('Could not retrieve license details')
- # Handle Errors from retrieve license gracefully and return False and json dict of the full error code
- try:
- if json_response_dict["code"]:
- print('License retrieval error')
- return False, json_response_dict
- except:
- pass
- print('No License retrieval error found')
- # Parse license information from json url
- license_status = json_response_dict["success"]
- license_id = json_response_dict["data"]["id"]
- license_orderid = json_response_dict["data"]["orderId"]
- license_productId = json_response_dict["data"]["productId"]
- license_userId = json_response_dict["data"]["userId"]
- license_licenseKey = json_response_dict["data"]["licenseKey"]
- license_expiresAt = json_response_dict["data"]["expiresAt"]
- license_validFor = json_response_dict["data"]["validFor"]
- license_source = json_response_dict["data"]["source"]
- license_status = json_response_dict["data"]["status"]
- license_timesActivated = json_response_dict["data"]["timesActivated"]
- license_timesActivatedMax = json_response_dict["data"]["timesActivatedMax"]
- license_createdAt = json_response_dict["data"]["createdAt"]
- license_updatedAt = json_response_dict["data"]["updatedAt"]
- license_updatedBy = json_response_dict["data"]["updatedBy"]
- # Print parsed results to stdout
- print("license_status : %s" % license_status)
- print("license_id : %s" % license_id)
- print("license_orderid : %r" % license_orderid)
- print("license_productId : %s" % license_productId)
- print("license_userId : %s" % license_userId)
- print("license_licenseKey : %s" % license_licenseKey)
- print("license_expiresAt : %s" % license_expiresAt)
- print("license_validFor : %r" % license_validFor)
- print("license_source : %s" % license_source)
- print("license_status : %s" % license_status)
- print("license_timesActivated : %s" % license_timesActivated)
- print("license_timesActivatedMax : %s" % license_timesActivatedMax)
- print("license_createdAt : %r" % license_createdAt)
- print("license_updatedAt : %s" % license_updatedAt)
- print("license_updatedBy : %s" % license_updatedBy)
- # return json_response_dict
- # Is license expired?
- # 2020-11-06 07:33:56
- past = datetime.strptime(str(json_response_dict["data"]["expiresAt"]), "%Y-%m-%d %H:%M:%S")
- present = datetime.now()
- if past.date() < present.date():
- print('License is expired')
- return False, 'License is expired'
- else:
- print('License is not expired')
- # Detect device machine code uuid
- # machine_code = str(Helpers.GetMachineCode())
- try:
- machine_nicename = str(platform.node())
- print('Machine Nicename: ' + machine_nicename)
- except:
- pass
- # To do
- # # Is device already activated?
- # activate_license_uuid_response_dict = activate_license_uuid(account_key_to_check)
- # try:
- # print('Checking for success status')
- # success_status = str(activate_license_uuid_response_dict["success"])
- # print(success_status)
- # if activate_license_uuid_response_dict["success"]:
- # print('License verification Success')
- # global license_key_is_valid
- # license_key_is_valid = True
- # return True
- # except:
- # print('License activation failed!')
- # pass
- #
- # print(activate_license_uuid_response_dict)
- # Activate license if not activated already and increase the activation count and set status active and report machine_code and machine_nicename
- print('License verification Success :)')
- return True
- ### TO Test ####
- # Verify a license is valid and not expired.
- print('==================================')
- print('Retrieve license Details')
- verify_license_active(license_key)
- print('==================================')
- # How to just retrieve license details
- print('==================================')
- print('Retrieve license Details')
- retrieve_license(license_key)
- print('==================================')
Add Comment
Please, Sign In to add comment