import urllib.request import json import base64 import time url_base_calc = "https://howdoyouconvert.com/wp-json/wp/v2/calculator/" url_base_kadence = "https://howdoyouconvert.com/wp-json/wp/v2/kadence_element/" creds = base64.b64encode(b"ben:6YGf wVxu gBpz pkqx BGZO lfVP").decode("utf-8") headers = { "Content-Type": "application/json", "Authorization": "Basic " + creds, "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } batch_5 = [ { "title": "Fahrenheit to Celsius", "slug": "fahrenheit-to-celsius", "label1": "Fahrenheit (°F)", "label2": "Celsius (°C)", "factor": 5/9, "offset": -32 * (5/9), "seo_text": """

Temperature Conversion - Fahrenheit to Celsius: Converting between Fahrenheit and Celsius is a common necessity for travel, science, and weather reporting. This calculator uses the standard formula $C = (F - 32) \times 5/9$.

""" }, { "title": "Feet per Second to Meters per Second", "slug": "feet-per-second-to-meters-per-second", "label1": "Feet per Second (ft/s)", "label2": "Meters per Second (m/s)", "factor": 0.3048, "offset": 0, "seo_text": """

Speed Conversion: Feet per second and meters per second are both standard units of speed. This converter is essential for engineering, ballistics, and aviation calculations where different measurement systems are used.

""" }, { "title": "Fluid Ounces to Milliliters", "slug": "fluid-ounces-to-milliliters", "label1": "Fluid Ounces (US fl oz)", "label2": "Milliliters (ml)", "factor": 29.5735296, "offset": 0, "seo_text": """

Volume Conversion: US fluid ounces are a standard unit of liquid volume in the United States. This tool allows for precise conversion to milliliters, commonly used in food labels and medicine.

""" }, { "title": "Gallons per Minute to Liters per Second", "slug": "gallons-per-minute-to-liters-per-second", "label1": "Gallons per Minute (GPM)", "label2": "Liters per Second (L/s)", "factor": 0.0630901964, "offset": 0, "seo_text": """

Flow Rate Conversion: Gallons per minute (GPM) is a common unit for water flow in plumbing and irrigation, while liters per second (L/s) is the preferred SI unit for volumetric flow.

""" }, { "title": "Grains to Grams", "slug": "grains-to-grams", "label1": "Grains (gr)", "label2": "Grams (g)", "factor": 0.06479891, "offset": 0, "seo_text": """

Weight Conversion: The grain is a unit of measurement for mass, based on the average mass of a single seed of a cereal. It is still used today in ballistics and the measurement of medication.

""" }, { "title": "Grams to Milligrams", "slug": "grams-to-milligrams", "label1": "Grams (g)", "label2": "Milligrams (mg)", "factor": 1000.0, "offset": 0, "seo_text": """

Metric Mass Conversion: Milligrams are equal to one-thousandth of a gram. This conversion is extremely common in chemistry, biology, and healthcare for measuring small quantities of substances.

""" }, { "title": "Grams to Ounces", "slug": "grams-to-ounces", "label1": "Grams (g)", "label2": "Ounces (oz)", "factor": 0.0352739619, "offset": 0, "seo_text": """

Mass Conversion: Converting metric grams to imperial ounces is a frequent task in international commerce and cooking. One ounce is approximately 28.35 grams.

""" }, { "title": "Grams to Pennyweights", "slug": "grams-to-pennyweights", "label1": "Grams (g)", "label2": "Pennyweights (dwt)", "factor": 0.643014931, "offset": 0, "seo_text": """

Jewelry Measurement: Pennyweights are a traditional unit of mass used in the jewelry industry for precious metals. This calculator provides a precise bridge to the metric system.

""" }, { "title": "Grams to Troy Ounces", "slug": "grams-to-troy-ounces", "label1": "Grams (g)", "label2": "Troy Ounces (oz t)", "factor": 0.0321507466, "offset": 0, "seo_text": """

Precious Metal Calculation: Unlike standard ounces, troy ounces are used specifically for the pricing and measurement of gold, silver, and platinum. One troy ounce is equivalent to 31.103 grams.

""" }, { "title": "Gray to Rad", "slug": "gray-to-rad", "label1": "Grays (Gy)", "label2": "Rads", "factor": 100.0, "offset": 0, "seo_text": """

Absorbed Dose Conversion: The gray is the SI unit of absorbed ionizing radiation dose, while the rad is the deprecated cgs unit. One gray is defined as exactly 100 rads.

""" } ] for item in batch_5: print(f"\\n--- Processing {item['title']} ---") slug_raw = item['slug'].replace("-", "") content_html = f"""
{item['seo_text']} """ calc_data = { "title": item['title'], "status": "publish", "slug": item['slug'], "content": content_html, "format": "standard" } # Post Calculator req_c = urllib.request.Request(url_base_calc, data=json.dumps(calc_data).encode("utf-8"), headers=headers, method="POST") try: resp_c = urllib.request.urlopen(req_c, timeout=30) res_c = json.loads(resp_c.read().decode("utf-8")) post_id = res_c['id'] print(f"--> Posted {item['title']} (ID: {post_id})") # JS Logic with robust event handling offset = item.get('offset', 0) js_wrapped = f"""""" kadence_data = { "title": f"JS Logic: {item['title']}", "status": "publish", "content": js_wrapped, "meta": { "_kad_element_hook": "kadence_after_header", "_kad_element_show_conditionals": json.dumps([{"rule": "singular|calculator", "select": "ids", "ids": [post_id], "mustMatch": False}]) } } req_j = urllib.request.Request(url_base_kadence, data=json.dumps(kadence_data).encode("utf-8"), headers=headers, method="POST") urllib.request.urlopen(req_j, timeout=30) print(f"--> Posted JS hook") except Exception as e: print(f"Error: {e}") if hasattr(e, 'read'): print(e.read().decode('utf-8')) time.sleep(1) print("\\n--- BATCH 5 COMPLETE ---")