From: robk-tahoe <robk-tahoe@allmydata.com>
Date: Thu, 24 Jan 2008 01:05:56 +0000 (-0700)
Subject: fix tahoe script installation logic
X-Git-Url: https://git.rkrishnan.org/vdrive/module-simplejson.encoder.html?a=commitdiff_plain;h=ffeee54f9106f34d755cf0054efaf8f3278b3c20;p=tahoe-lafs%2Ftahoe-lafs.git

fix tahoe script installation logic

refine the logic in the .app which tries to install the 'tahoe' script.

now it will do nothing if 'tahoe' is found anywhere on the user's path,
and only if it's not present will it try to install it in each of the
candidate paths (/usr/local/bin ~/bin ~/Library/bin) which are on the
user's path
---

diff --git a/mac/allmydata_tahoe.py b/mac/allmydata_tahoe.py
index 5cdad832..3e29238a 100644
--- a/mac/allmydata_tahoe.py
+++ b/mac/allmydata_tahoe.py
@@ -87,15 +87,17 @@ def run_default_node():
         if not sys.executable.endswith('/python'):
             print 'not installing tahoe script: unexpected sys.exe "%s"' % (sys.executable,)
             return
+        for path_candidate in map(os.path.expanduser, env_path):
+            tahoe_path = path_candidate + '/tahoe'
+            if os.path.exists(tahoe_path):
+                print 'not installing "tahoe": it already exists at "%s"' % (tahoe_path,)
+                return
         for path_candidate in map(os.path.expanduser, path_candidates):
             if path_candidate not in env_path:
                 print path_candidate, 'not in', env_path
                 continue
             tahoe_path = path_candidate + '/tahoe'
             try:
-                if os.path.exists(tahoe_path):
-                    print 'not installing "%s": it already exists' % (tahoe_path,)
-                    return
                 print 'trying to install "%s"' % (tahoe_path,)
                 bin_path = (sys.executable[:-6] + 'Allmydata Tahoe').replace(' ', '\\ ')
                 script = TAHOE_SCRIPT % { 'exe': bin_path }