Metadata-Version: 2.0
Name: tpg-invoice
Version: 0.1.3
Summary: Extracts invoices from the TPG website.
Home-page: https://github.com/micolous/tpg_invoice
Author: micolous
Author-email: micolous+git@gmail.com
License: Apache-2.0
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Utilities
Requires-Dist: beautifulsoup4
Requires-Dist: requests


**************
`tpg_invoice`_
**************

Extracts tax invoices from the `TPG`_ Cyberstore (My Account) at the command
line.

This is useful for automatically grabbing tax invoices.

This has only been tested with a fixed broadband service.  It has not been
tested with other products (eg: mobile, dial-up).

*This is software is not written or endorsed by* `TPG`_.

Installing
==========

The easiest way to install ``tpg_invoice`` is::

	$ pip3 install tpg_invoice

Manual installation
-------------------


``tpg_invoice`` requires the following::

* Python 3 (tested on 3.6)
* BeautifulSoup4
* requests

In Debian based distributions, install these packages::

	apt install python3 python3-requests python3-bs4

Then run::

	./setup.py install

Authentication
==============

``tpg_invoice`` supports authentication with a username and password, or a
pre-existing session cookie.  One of the mechanisms must be specified.

Authenticating with a username and password
-------------------------------------------

Usage::

	$ tpg_invoice -s ~/.config/tpg.secrets

``tpg.secrets`` is a text file, with two lines:

#. TPG username.
#. Account password.

An example secrets file is given below, where the username is ``exampleuser``
and their password is ``correcthorsebatterystaple``::

	exampleuser
	correcthorsebatterystaple

Make sure to keep this file only readable by the user which ``tpg_invoice`` runs
as.

Rate limits apply to the login form, even when login was successful.

Authenticating with a session cookie
------------------------------------

Usage::

	$ tpg_invoice -S 5wxbc9p2wjhvgssfl0b7nevgfou

This uses an existing ``TPGSESS`` cookie to make requests to TPG.

Usage
=====

Get invoice list: ``tpg_invoice list``
--------------------------------------

Usage::

	$ tpg_invoice -s tpg.secrets list
	Invoice list:

	I178018865: raised 2018-01-01, $59.99
	I184856374: raised 2018-02-01, $59.99
	[...]

Get specific invoice(s): ``tpg_invoice get I...``
-------------------------------------------------

Returns a specific invoice as HTML::

	$ tpg_invoice -s tpg.secrets get I178018865
	<div class="iaspage-area">Tax Invoice Display<table align="RIGHT"><!--/home/database/cgi-bin/inv_disp.cgi:153--><tr><td align="RIGHT">TPG Internet Pty Ltd ABN 15 068 383 737</td></tr><tr><td align="RIGHT">65 Waterloo Rd, MACQUARIE PARK, NSW, 2113</td></tr></table>
	[...]

Multiple invoice IDs may be specified at the command line.  They will be shown separated by a blank line::

	$ tpg_invoice -s tpg.secrets get I178018865 I184856374
	<div class="iaspage-area">Tax Invoice Display<table align="RIGHT"><!--/home/database/cgi-bin/inv_disp.cgi:153--><tr><td align="RIGHT">TPG Internet Pty Ltd ABN 15 068 383 737</td></tr><tr><td align="RIGHT">65 Waterloo Rd, MACQUARIE PARK, NSW, 2113</td></tr></table>
	[...]

	<div class="iaspage-area">Tax Invoice Display<table align="RIGHT"><!--/home/database/cgi-bin/inv_disp.cgi:153--><tr><td align="RIGHT">TPG Internet Pty Ltd ABN 15 068 383 737</td></tr><tr><td align="RIGHT">65 Waterloo Rd, MACQUARIE PARK, NSW, 2113</td></tr></table>
	[...]

Get the latest invoice: ``tpg_invoice get --latest``
----------------------------------------------------

Returns the latest, non-$0 invoice as HTML::

	$ tpg_invoice -s tpg.secrets get --latest
	<div class="iaspage-area">Tax Invoice Display<table align="RIGHT"><!--/home/database/cgi-bin/inv_disp.cgi:153--><tr><td align="RIGHT">TPG Internet Pty Ltd ABN 15 068 383 737</td></tr><tr><td align="RIGHT">65 Waterloo Rd, MACQUARIE PARK, NSW, 2113</td></tr></table>
	[...]


.. _TPG: https://www.tpg.com.au/
.. _tpg_invoice: https://github.com/micolous/tpg_invoice



