#!/usr/bin/env python3
"""Post 1 konten LinkedIn DMark Creative — artikel berikutnya yang belum dipakai"""
import urllib.request, json, os
from datetime import datetime, timezone, timedelta

AUTH = 'NDY1NDYwOTg2Njpzb09vSDJJUnk2QmthSXJIU0FmMW5HbHkyUmNvaXc5Wg=='
HEADERS = {'Authorization': AUTH, 'Content-Type': 'application/json'}
BASE = 'https://api.repliz.com'
WIB = timezone(timedelta(hours=7))

DMark_LI = '6a350ecbc5ff4ce3a32299ce'
LOG_FILE = '/home/mantapman/.hermes/profiles/atun/workspace/dmark_linkedin_history.json'

ARTICLE = {
    'url': 'https://www.dmark.id/mengapa-studiosoft-jasa-digital-marketing-surabaya/',
    'title': 'Mengapa StudioSoft Menjadi Pilihan Utama Jasa Digital Marketing di Surabaya',
}

caption = (
    "Memilih mitra digital marketing bukan sekadar soal harga atau banyaknya klien. "
    "Lebih dari itu, yang menentukan adalah seberapa dalam mereka memahami bisnis kita — "
    "cerita, target pasar, dan tujuan jangka panjangnya. Banyak bisnis di Surabaya yang "
    "sudah mencoba berbagai agensi, tapi hasilnya tetap jalan di tempat.\n\n"
    "Di sinilah pentingnya pendekatan yang personal dan berbasis data. Tanpa template "
    "generik, setiap strategi disusun sesuai kebutuhan spesifik brand. Dari riset, "
    "perencanaan, eksekusi, hingga evaluasi — semuanya dijalankan dengan penuh perhatian "
    "dan ukuran yang jelas. Bukan sekadar ramai di medsos, tapi benar-benar berdampak "
    "pada pertumbuhan bisnis.\n\n"
    "Penasaran apa yang membedakan pendekatan ini? Simak selengkapnya di artikel berikut 👇\n"
    "https://www.dmark.id/mengapa-studiosoft-jasa-digital-marketing-surabaya/"
)

def load_history():
    if os.path.exists(LOG_FILE):
        with open(LOG_FILE) as f:
            return json.load(f)
    return {'posts': []}

def save_history(h):
    with open(LOG_FILE, 'w') as f:
        json.dump(h, f, indent=2)

def schedule_post(jam_wib='11:00'):
    now = datetime.now(WIB)
    h, m = jam_wib.split(':')
    sched = now.replace(hour=int(h), minute=int(m), second=0, microsecond=0)
    if now > sched:
        sched += timedelta(days=1)
    iso = sched.strftime('%Y-%m-%dT%H:%M:%S.000Z')

    payload = {
        'title': '',
        'description': caption,
        'topic': 'Digital Marketing',
        'type': 'text',
        'medias': [],
        'meta': {
            'title': ARTICLE['title'],
            'description': f'Baca artikel selengkapnya di DMark Creative — {ARTICLE["title"]}',
            'url': ARTICLE['url']
        },
        'additionalInfo': {'isAiGenerated':False,'isDraft':False,'collaborators':[],'mentions':[],
            'music':{'id':'','artist':'','name':'','thumbnail':''},'products':[],'tags':[]},
        'replies': [],
        'accountId': DMark_LI,
        'scheduleAt': iso,
    }

    body = json.dumps(payload).encode()
    req = urllib.request.Request(f'{BASE}/public/schedule', data=body, headers=HEADERS, method='POST')
    with urllib.request.urlopen(req) as resp:
        result = json.loads(resp.read())
        sid = result.get('scheduleId', '?')

        h = load_history()
        h['posts'].append({
            'date': sched.strftime('%Y-%m-%d'),
            'time': jam_wib,
            'platform': 'linkedin',
            'article_url': ARTICLE['url'],
            'article_title': ARTICLE['title'],
            'short_desc': 'Alasan memilih mitra digital marketing yang tepat.',
            'schedule_id': sid,
        })
        save_history(h)

        print(f'✅ DMark LinkedIn — {sched.strftime("%d %b %Y %H:%M")} WIB')
        print(f'   ID: {sid}')
        print(f'   Artikel: {ARTICLE["title"]}')
        return sid

if __name__ == '__main__':
    schedule_post('11:00')
