#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import argparse
import subprocess
import time


def main():
    parsed_args = _parse_args()

    oldest_time = _compute_oldest_time(parsed_args.seconds)
    sql_query = _build_sql_query(oldest_time)
    _execute_sql_query(sql_query)


def _parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('seconds', type=int,
                        help='number of seconds of queue_info to keep')
    return parser.parse_args()


def _compute_oldest_time(seconds_to_keep):
    return int(time.time()) - seconds_to_keep


def _build_sql_query(oldest_time):
    return 'delete from queue_info where call_time_t < %s' % oldest_time


def _execute_sql_query(sql_query):
    command = ['su', '-', '-c', 'psql -d asterisk -c "%s"' % sql_query, 'postgres']
    subprocess.check_call(command)


if __name__ == '__main__':
    main()
