import base64,json,urllib.request,urllib.error
USER,PASS="bambangbot","EFKm EYGx VQCP Y9go ncPr uM2Y"
AUTH=base64.b64encode(f"{USER}:{PASS}".encode()).decode()
UA={"User-Agent":"Mozilla/5.0"}
def rest(p):
    r=urllib.request.Request(f"https://tslaw.id{p}",headers={"Authorization":f"Basic {AUTH}",**UA})
    with urllib.request.urlopen(r,timeout=120) as x: return x.status,json.loads(x.read())
allp=[]
for pg in range(1,8):
    st,d=rest(f"/wp-json/wp/v2/posts?per_page=100&page={pg}&status=publish,draft&_fields=id,slug,title,status,date&orderby=id&order=desc")
    if not isinstance(d,list) or not d: break
    allp+=d
    if len(d)<100: break
print("total:",len(allp))
kw=["kerja","phk","pesangon","upah","gaji","karyawan","buruh","tenaga","ketenagakerjaan","kontrak","pkwt","pkwtt","serikat","perselisihan","hubungan industrial","tenaga kerja"]
seen=set()
for p in allp:
    t=p["title"]["rendered"]
    s=(t+" "+p["slug"]).lower()
    if any(k in s for k in kw):
        print(f'{p["id"]:>5} {p["status"]:<8} {p["slug"]:<70} | {t}')
        seen.add(p["id"])
json.dump(allp,open("_tslaw_semua_post.json","w"),ensure_ascii=False)
