Files
HowDoYouConvert/upload_calculator.py
2026-02-20 22:44:03 -08:00

62 lines
3.8 KiB
Python

#!/usr/bin/env python3
"""Upload a Miles to Kilometers calculator to WordPress via REST API."""
import urllib.request
import urllib.error
import json
import base64
url = "https://howdoyouconvert.com/wp-json/wp/v2/calculator"
creds = base64.b64encode(b"ben:6YGf wVxu gBpz pkqx BGZO lfVP").decode("utf-8")
content = (
'<style>.kb-row-layout-id_m2k_row > .kt-row-column-wrap{align-content:start;}'
':where(.kb-row-layout-id_m2k_row > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}'
'.kb-row-layout-id_m2k_row > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:600px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}'
'.kb-row-layout-id_m2k_row > .kt-row-layout-overlay{opacity:0.30;}'
'@media all and (max-width: 1024px){.kb-row-layout-id_m2k_row > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}'
'@media all and (max-width: 767px){.kb-row-layout-id_m2k_row > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}'
'</style>'
'<div class="kb-row-layout-wrap kb-row-layout-id_m2k_row aligncenter wp-block-kadence-rowlayout">'
'<div class="kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">'
'\n<style>.kadence-column_m2k_col1 > .kt-inside-inner-col,.kadence-column_m2k_col1 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}'
'.kadence-column_m2k_col1 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);flex-direction:column;}'
'.kadence-column_m2k_col1 > .kt-inside-inner-col > .aligncenter{width:100%;}'
'.kadence-column_m2k_col1 > .kt-inside-inner-col:before{opacity:0.3;}'
'.kadence-column_m2k_col1{position:relative;}</style>\n'
'<div class="wp-block-kadence-column kadence-column_m2k_col1"><div class="kt-inside-inner-col">\n'
'<input type="text" id="input-1" class="calc-input calc-field" onclick="clearPlaceholder(\'input-1\')" placeholder="0">\n\n'
'<input type="hidden" id="factor-1" name="factor-1" value="0.62137119">\n'
'</div></div>\n\n\n'
'<style>.kadence-column_m2k_col2 > .kt-inside-inner-col,.kadence-column_m2k_col2 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}'
'.kadence-column_m2k_col2 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);flex-direction:column;}'
'.kadence-column_m2k_col2 > .kt-inside-inner-col > .aligncenter{width:100%;}'
'.kadence-column_m2k_col2 > .kt-inside-inner-col:before{opacity:0.3;}'
'.kadence-column_m2k_col2{position:relative;}</style>\n'
'<div class="wp-block-kadence-column kadence-column_m2k_col2"><div class="kt-inside-inner-col">\n'
'<input type="text" id="input-2" class="calc-input calc-field" onclick="clearPlaceholder(\'input-2\')" placeholder="0">\n'
'</div></div>\n\n'
'</div></div>'
)
data = json.dumps({
"title": "Miles to Kilometers",
"status": "publish",
"slug": "miles-to-kilometers",
"content": content,
}).encode("utf-8")
req = urllib.request.Request(url, data=data, method="POST")
req.add_header("Content-Type", "application/json")
req.add_header("Authorization", "Basic " + creds)
try:
resp = urllib.request.urlopen(req)
result = json.loads(resp.read().decode("utf-8"))
print("SUCCESS:", result.get("link"))
print("ID:", result.get("id"))
except urllib.error.HTTPError as e:
print("HTTP Error:", e.code)
print(e.read().decode("utf-8")[:500])
except Exception as e:
print("Error:", e)