VG-Wort: Zählmarken-Pool-Integration via subprocess
- _handle_publish() ruft vgwort_pool.py get auf - Pixel-Tag auto in articletext vor </article> eingebaut - Live getestet: Pixel korrekt (15371, vg09.met.vgwort.de) - Pool-Script: ~/.hermes/vgwort_pool.py
This commit is contained in:
+25
-6
@@ -948,13 +948,32 @@ h1{color:#c0392b;}p{color:#888;}</style></head>
|
|||||||
# Generate alias from title
|
# Generate alias from title
|
||||||
alias = re.sub(r'[^a-z0-9]+', '-', title.lower().strip())[:100]
|
alias = re.sub(r'[^a-z0-9]+', '-', title.lower().strip())[:100]
|
||||||
|
|
||||||
# ── Inject VG-Wort pixel ───────────────────────────────────
|
# ── VG-Wort Zählmarke aus Pool holen & einbauen ─────────
|
||||||
if VG_WORT_PIXEL_HTML and VG_WORT_COUNTER_ID:
|
vgwort_pixel_html = ""
|
||||||
# Insert pixel right before closing </article> or at the end of body
|
try:
|
||||||
if '</article>' in article_body:
|
import subprocess
|
||||||
article_body = article_body.replace('</article>', f'{VG_WORT_PIXEL_HTML}\n</article>')
|
result = subprocess.run(
|
||||||
|
["python3", os.path.expanduser("~/.hermes/vgwort_pool.py"), "get"],
|
||||||
|
capture_output=True, text=True, timeout=30
|
||||||
|
)
|
||||||
|
if result.returncode == 0:
|
||||||
|
pixel_data = json.loads(result.stdout)
|
||||||
|
if pixel_data.get("ok"):
|
||||||
|
vgwort_pixel_html = pixel_data.get("pixel_html", "")
|
||||||
|
print(f"[VG-Wort] Zählmarke {pixel_data.get('public_id')} eingebaut, "
|
||||||
|
f"Pool: {pixel_data.get('pool_remaining')} übrig", flush=True)
|
||||||
else:
|
else:
|
||||||
article_body = article_body.rstrip() + f'\n{VG_WORT_PIXEL_HTML}\n'
|
print(f"[VG-Wort] FEHLER: {pixel_data.get('error', 'unbekannt')}", flush=True)
|
||||||
|
else:
|
||||||
|
print(f"[VG-Wort] Pool-Script fehlgeschlagen: {result.stderr}", flush=True)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[VG-Wort] Ausnahme: {e}", flush=True)
|
||||||
|
|
||||||
|
if vgwort_pixel_html:
|
||||||
|
if '</article>' in article_body:
|
||||||
|
article_body = article_body.replace('</article>', f'{vgwort_pixel_html}\n</article>')
|
||||||
|
else:
|
||||||
|
article_body = article_body.rstrip() + f'\n{vgwort_pixel_html}\n'
|
||||||
|
|
||||||
# ── Joomla API call ─────────────────────────────────────────
|
# ── Joomla API call ─────────────────────────────────────────
|
||||||
headers = {
|
headers = {
|
||||||
|
|||||||
Reference in New Issue
Block a user