#!/usr/bin/env python3
import os
import sys
import argparse
from getpass import getuser
import webbrowser

# for debugging
sys.path.insert(0, os.getcwd())

import azcat

USAGE = """\
examples:
  $ az server.py
  $ az README.md
  $ az -t main # source code reading with GNU global(1)
  $ az -F timetable.csv | az # pretty printing
  $ az -P story.md # read with less(1)
  $ curl example.com/api/foo.json | az -f json
"""

def main ():
    # one program, one easter egg
    if getuser().upper() == "YUI" and os.getcwd() == "azunyan nyan nyan azunyan nyan nyan":
        print("azcat: mou!")
        webbrowser.open("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=29734557")

    parser = argparse.ArgumentParser(description="A alternative to cat(1); specialized for printing files",
               formatter_class=argparse.RawDescriptionHelpFormatter, epilog=USAGE)
    parser.add_argument("file", default="/dev/stdin", nargs="?", help="if it is absent, azcat reads from the stdin")
    parser.add_argument("-f", metavar="ext", help="specify the file extension")
    parser.add_argument("-t", metavar="pattern", help="go to the definition using GNU GLOBAL")
    parser.add_argument("--with-pager", "-P", action="store_true", help="enable pager")
    parser.add_argument("--with-formatter", "-F", action="store_true", help="enable pretty printing")
    parser.add_argument('--version', action='version', version=azcat.__version__)
    args = vars(parser.parse_args())

    azcat.main(args)

if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        sys.exit()
