maturity pemilih baru diukur dari first_seen_at (V52/B15): last_vote terkuantisasi pekan (stake2vote) membuat voter baru Senin–Kamis tampak matang → lolos wait 3-hari ; BARU = first_seen baru/NULL, VALID = first_seen matang ; dashboard + distribusi konsisten ; image web+dist rebuild + push
This commit is contained in:
1 parent
9b040a8c71
commit
d6a15a07ae
6 files changed
+106
-89
No files matched your search
+12
-4
@@ -55,19 +55,25 @@ def make_voters_db(path, rows):
|
||||
'VALUES (?, ?, ?, ?, ?)',
|
||||
rows,
|
||||
)
|
||||
# V42: distribusi LEFT JOIN voter_first_seen — tabel harus ada.
|
||||
# V42/V52: distribusi LEFT JOIN voter_first_seen — tabel harus ada.
|
||||
# Default: semua pemilih uji MATANG (first_seen 60 hari lalu) agar masuk
|
||||
# band VALID; kasus BARU/REVOTE ditimpa lewat make_first_seen (V52).
|
||||
conn.execute('CREATE TABLE IF NOT EXISTS voter_first_seen ('
|
||||
'owner TEXT PRIMARY KEY, first_seen_at TEXT NOT NULL)')
|
||||
mature = (datetime.now() - timedelta(days=60)).isoformat(timespec='seconds')
|
||||
conn.executemany('INSERT OR IGNORE INTO voter_first_seen '
|
||||
'(owner, first_seen_at) VALUES (?, ?)',
|
||||
[(r[0], mature) for r in rows])
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
|
||||
def make_first_seen(path, rows):
|
||||
"""V42: isi tabel voter_first_seen (owner, first_seen_at)."""
|
||||
"""V52: timpa first_seen utk pemilih tertentu (mis. BARU/REVOTE)."""
|
||||
conn = sqlite3.connect(path)
|
||||
conn.execute('CREATE TABLE IF NOT EXISTS voter_first_seen ('
|
||||
'owner TEXT PRIMARY KEY, first_seen_at TEXT NOT NULL)')
|
||||
conn.executemany('INSERT OR IGNORE INTO voter_first_seen '
|
||||
conn.executemany('INSERT OR REPLACE INTO voter_first_seen '
|
||||
'(owner, first_seen_at) VALUES (?, ?)', rows)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
@@ -287,7 +293,9 @@ def main():
|
||||
('rev7', '1.0', 1200.0, fresh, _iso(1)), # REVOTE — pemilih lama revote
|
||||
('old9', '1.0', 1200.0, fresh, _iso(40)), # basi — lewat 28 hari
|
||||
])
|
||||
# V42: first_seen — new1 baru (umur 1 hr), rev7 lama (first_seen 60 hr lalu).
|
||||
# V52: first_seen — new1 baru (umur 1 hr → BARU, ⊥ matang), rev7 lama
|
||||
# (first_seen 60 hr lalu → matang, VALID langsung). mid5/old9 pakai
|
||||
# default matang dari make_voters_db.
|
||||
make_first_seen(db.DB_PATH, [('new1', _iso(1)), ('rev7', _iso(60))])
|
||||
db.query = _orig_query
|
||||
dist.fetch_balance = lambda: Decimal('300.0000')
|
||||
|
||||
Reference in new issue
Block a user