Exemplo n.º 1
0
def main():
    """Entrypoint to the command-line interface (CLI) of browser-history.

    It parses arguments from sys.argv and performs the appropriate actions.
    """
    args = parser.parse_args()

    if args.browser == 'all':
        outputs = get_history()

    else:
        try:
            # gets browser class by name (string). TODO: make it case-insensitive
            selected_browser = args.browser
            for browser in generic.Browser.__subclasses__():
                if browser.__name__.lower() == args.browser.lower():
                    selected_browser = browser.__name__
                    break
            browser_class = getattr(browsers, selected_browser)
        except AttributeError:
            print(
                f'Browser {args.browser} is unavailable. Check --help for available browsers'
            )
            sys.exit(1)

        try:
            browser = browser_class().fetch()
            outputs = browser
        except AssertionError as e:
            print(e)
            sys.exit(1)

    for date, url in outputs.get():
        # comma-separated output. NOT a CSV file
        print(f'{date},{url}')
Exemplo n.º 2
0
def main():
    """Entrypoint to the command-line interface (CLI) of browser-history.

    It parses arguments from sys.argv and performs the appropriate actions.
    """
    args = parser.parse_args()

    if args.browser == 'all':
        outputs = get_history()

    else:
        try:
            # gets browser class by name (string).
            selected_browser = args.browser
            for browser in generic.Browser.__subclasses__():
                if browser.__name__.lower() == args.browser.lower():
                    selected_browser = browser.__name__
                    break
            browser_class = getattr(browsers, selected_browser)
        except AttributeError:
            utils.logger.error(
                'Browser %s is unavailable. Check --help for available browsers',
                args.browser)
            sys.exit(1)

        try:
            browser = browser_class().fetch()
            outputs = browser
        except AssertionError as e:
            utils.logger.error(e)
            sys.exit(1)

    # Format the output
    try:
        formatted = outputs.formatted(args.format)
    except ValueError as e:
        utils.logger.error(e)
        sys.exit(1)

    if args.output is None:
        print(formatted)
    else:
        filename = args.output
        with open(filename, 'w') as output_file:
            output_file.write(formatted)
Exemplo n.º 3
0
from browser_history import get_history

his = get_history()

for link in his.histories:
    print(link)
    print("----------------------")
Exemplo n.º 4
0
def fetch_all():
    return get_history()