처음으로
7고친 순서 5/5

꼭 내보내야 할 때만 쓰는 해제 옵션(--allow-unready)을 따로 두고, 예약 실행에는 넣지 않아요

원본 코드를 줄이면 이래요.

파이썬 코드

def is_ready(m):
    a = m.get("assets") or {}
    return bool(a.get("cover")) and int(a.get("card_count") or 0) > 0

def find_next(items, n=1):
    items = [m for m in items if not (m.get("posted") or {}).get("blogger")]   # 아직 안 나간 글
    items.sort(key=lambda m: (str(m.get("publish_date", "")), m["episode_id"]))
    for m in items:
        if not is_ready(m):
            print("건너뜀:", m["episode_id"])   # 조용히 사라지지 않게 남긴다
    return [m for m in items if is_ready(m)][:n]

글 세 편으로 돌려 보면 이미 나간 첫 글은 빠지고, 표지 없는 둘째 글은 «건너뜀»으로 찍히고, 셋째 글이 골라져요. 둘째 글에 표지를 붙이고 다시 돌리면 둘째 글이 골라져요.

차례로 돌아가기