Use methods that can be re-used to support manually expanding
context by the user.
Also fix a s/old/new/ typo bug.
Change-Id: I5b247204b959add9fbfd51af7e508d3d07b7c001
This gets up to 10,000 lines of diff context information, but does
not display it. Now we have the data and in a future change can
display more context if needed in order to show comments or if the
user requests it.
Change-Id: Id569732ffa40610f67bf479de8bf936580fbacf1
Create groups of diff chunks and context chunks. In a subsequent
change we can use that to better control the displayed context.
Change-Id: I75858d002e9a9fff809c91cfced81c6022d86196
Add a setup.cfg and setup.py and fill in those files
so that gertty can be installed easily.
Adjust gertty.py to have a main function that
can be referenced as a console entrypoint during
installation.
Also adjusted a bunch of imports that were failing after
installation occurred (but now they should not fail since they
correctly reference the gertty module namespace).
Change-Id: I532ced51583b26300ba9a2efb97f8e41bc69ec8d
If gertty starts with no subscribed projects, display some help
text to help the user get started.
Change-Id: I1ac89321ea0e3129e00e505abfb1821d0cb28b45
Which makes better use of vertical space.
Also, tuck the votes box in under the change info (so it doesn't
start below a very long commit message -- that wastes a lot of
space).
Change-Id: Ia7d216ce584221fa5055e1a7e5e6fba1ed94b399
Remove the contextlib pipe close feature -- file descriptors are
closed on program exit anyway. Letting that happen normally
actually makes exiting with CTRL-C nicer (fewer race conditions).
Map "CTRL-Q" to the quit command, but pop up a yes/no dialog.
Refactor the MessageDialog into a ButtonDialog base class that
can serve MessageDialog and YesNoDialog.
Add global help text that is prepended to each screen's help text
to deal with the growing number of global commands.
Change-Id: I455344cb20fb19032a3964d602fc886e19f256e5
Set all threads to daemon mode and close
the write end of the pipe when exiting to
ensure we cleanup in a friendly manner.
Change-Id: I4cf64fa39e820c95d11943b848db87e5db15212e
Whenever the password field is missing from the conf, gertty prompts the
user to enter it but hapilly discard it to a local variable. Set the
config password field instead.
Change-Id: Idf6ea2edd9396e4e635955519af6739106fbfe3c
OrderedDict isn't in python 2.6 which is on some
older distros (still), so import the package that
provides it when it can not be found.
Change-Id: I9637d346e85c651e8e242025b9e88b1af3d8fca0
If the users password isn't in their configuration
file, then use getpass to prompt for it instead.
Change-Id: Ib0d53e181fffc455e8555cdb26125f2891695387
The read() method silently ignores errors which is
not so useful if .gerttyrc doesn't exist, so instead
of using that use the readfp which will open the file
and then correctly read from the file (and raise if
the file does not exist).
Change-Id: I3bf68408595e06c6ffb60632b46995c1fadbea3f