[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