[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #3896 [Thandy]: Thandy bootstrapper
#3896: Thandy bootstrapper
--------------------+-------------------------------------------------------
Reporter: chiiph | Owner: nickm
Type: task | Status: new
Priority: normal | Milestone:
Component: Thandy | Version:
Keywords: | Parent:
Points: | Actualpoints:
--------------------+-------------------------------------------------------
Changes (by chiiph):
* type: defect => task
Comment:
I've written a workflow kind of doc about this application. I've also
"designed" the GUI, but it's really minimalistic so there isn't much point
on uploading screenshots. The odd names, like btnOk refer to the GUI, if
it doesn't make much sense to you, let me know and I'll upload a
screenshot with the names of each widget.
Let me know what you think about it:
{{{
Workflow for the updater:
0. This updater may be executed from within Vidalia, so it will have
a switch --wait <NUM> to ask the updater to wait <NUM> seconds
before checking for running processes so Vidalia has time to close.
0'. This updater may be executed from within Vidalia to check for
updates and/or download them, so it will need a switch --check and
--no-download to just run Thandy without installing anything and
display its output without a GUI.
1. Check the running processes, look for Vidalia, Tor and Firefox.
2. If there's any of these running:
2.1. Display the pgProcess page.
2.2. For each process that's running, create a ProcessLine and
add it to the listWidget.
2.3. If it can try to terminate the processes, setVisible(true)
for lblAsk and btnTerminate.
3. If there aren't any processes running:
3.1. Display the pgUpdate page, disable btnOk, display a message
if the user wants to close asking if she really wants that.
3.2. Run thandy-client update --control-log-format /bundleinfo/(*)
(*). Depending on the bundle it'd be vidalia_bundle and/or
tbb_bundle.
There will be a config file (updater.conf) where you can
specify:
[General]
Bundles=vidalia_bundle,tbb_bundle,whatever_package,whatever_bundle
ThpRoot=/path/to/thp/intallation/root
ThpDB=/path/to/thp/db
3.3. Parse Thandy's output and put the messages in nice colors
depending on the type of message.
3.4. If there's an error, show a popup with the corresponding
information.
3.5. If everything went ok, enable btnOk, and let the user close
the app.
Notes:
1. Thandy will live inside a directory where the executable for the
updater will be.
1.1. We just need to set the env var PYTHON_PATH where the deps live.
1.2. Is this better than py2exe? It's more platform independent.
2. Python and all Thandy's deps will be bundled along with thandy.
2.1. So the updater will call Thandy this way ($THANDY_LOC is the
relative path where Thandy lives):
$THANDY_LOC/bin/python{.exe,.app,} $THANDY_LOC/bin/ClientCLI.py
<args>
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/3896#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs