import gspread
from google.oauth2 import service_account
import importlib.util, sys

S = ['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive']
c = service_account.Credentials.from_service_account_file('/workspace/.secrets/gsa_safronov.json', scopes=S)
gc = gspread.authorize(c)
sh = gc.open_by_key('1WhRdain7yiMVrI9yACjkpOMaJ5LPRQjbB6IYfV6INhQ')

# переиспользуем данные из первого скрипта
src = open('/workspace/fill_content_plan.py', encoding='utf-8').read()
ns = {}
exec(src.split('ws = sh.worksheet("Посты")')[0].split('sh = gc.open_by_key')[0], ns)  # только импорты
# проще: скопируем списки заново через частичный exec
import re
def grab(name):
    m = re.search(name + r'\s*=\s*\[(.*?)\n\]\n', src, re.S)
    return eval('[' + m.group(1) + '\n]')

posts = grab('posts')
vc = grab('vc')
reels = grab('reels')

# 1. Посты: данные со строки 3 (строка 2 — служебная с чекбоксами P/S)
ws = sh.worksheet("Посты")
ws.update(values=posts, range_name="A3:D%d" % (2 + len(posts)), value_input_option="USER_ENTERED")

# 2. Статьи на VC: колонка A — служебная, тема лежит в B
ws = sh.worksheet("Статьи на VC")
ws.batch_clear(["A2:A%d" % (1 + len(vc))])
ws.update(values=vc, range_name="B2:D%d" % (1 + len(vc)), value_input_option="USER_ENTERED")

# 3. Рилсы: темы в B, начиная со строки 3
ws = sh.worksheet("Темы рилсов инста")
ws.update(values=[[t] for t in reels], range_name="B3:B%d" % (2 + len(reels)), value_input_option="USER_ENTERED")

print("FIXED posts=%d vc=%d reels=%d" % (len(posts), len(vc), len(reels)))
