#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""归档：search_app.py 中已无调用方的「originals 正文访问计数」函数。

移除时间：2026-09-24
移除原因：用户决定把「正文访问次数」从 /originals/ 改建到 crawler 列表页，并复用
          库内既有的 project_visits（session.db，project_type='crawler'），
          因此这套独立计数器（originals_views.db）失去调用方。
数据文件：同目录 originals_views.db.20260924（归档时含 3 条记录）。
恢复方法：把下面内容贴回 search_app.py 的 originals 增强区块，
          并把数据文件移回 /root/originals_views.db 即可。
"""
import sqlite3

_ORIG_VIEWS_DB = '/root/originals_views.db'


def _orig_vconn():
    c = sqlite3.connect(_ORIG_VIEWS_DB, timeout=15)
    c.execute('PRAGMA busy_timeout=15000')
    c.execute('CREATE TABLE IF NOT EXISTS view_count '
              '(id_code TEXT PRIMARY KEY, n INTEGER NOT NULL DEFAULT 0, last_view TEXT)')
    return c

def _orig_views_get(codes):
    out = {}
    codes = [c for c in codes if c]
    if not codes:
        return out
    try:
        cn = _orig_vconn()
        qs = ','.join('?' * len(codes))
        for k, n in cn.execute('SELECT id_code, n FROM view_count WHERE id_code IN (%s)' % qs, codes):
            out[k] = n
        cn.close()
    except Exception:
        pass
    return out

def _orig_views_inc(code):
    if not code:
        return 0
    try:
        cn = _orig_vconn()
        cn.execute('INSERT INTO view_count (id_code, n, last_view) VALUES (?,1,datetime("now","localtime")) '
                   'ON CONFLICT(id_code) DO UPDATE SET n=n+1, last_view=datetime("now","localtime")', (code,))
        cn.commit()
        row = cn.execute('SELECT n FROM view_count WHERE id_code=?', (code,)).fetchone()
        cn.close()
        return row[0] if row else 0
    except Exception:
        return 0

