[Python-checkins] cpython: file was the old arg name from an earlier patch. command matches the

brian.curtin python-checkins at python.org
Sat Jun 23 04:14:57 CEST 2012


http://hg.python.org/cpython/rev/973b4806f760
changeset:   77606:973b4806f760
user:        Brian Curtin <brian at python.org>
date:        Fri Jun 22 21:14:34 2012 -0500
summary:
  file was the old arg name from an earlier patch. command matches the implementation

files:
  Lib/shutil.py    |   4 +-
  Tools/msi/msi.py |  46 ++++++++++++++++++++++++++++++++---
  2 files changed, 44 insertions(+), 6 deletions(-)


diff --git a/Lib/shutil.py b/Lib/shutil.py
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -972,8 +972,8 @@
     return os.terminal_size((columns, lines))
 
 def which(cmd, mode=os.F_OK | os.X_OK, path=None):
-    """Given a file, mode, and a path string, return the path which conforms
-    to the given mode on the path."""
+    """Given a command, mode, and a path string, return the path which
+    conforms to the given mode on the path."""
     # Check that a given file can be accessed with the correct mode.
     # Additionally check that `file` is not a directory, as on Windows
     # directories pass the os.access check.
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -405,6 +405,7 @@
               ("ErrorDialog", "ErrorDlg"),
               ("Progress1", "Install"),   # modified in maintenance type dlg
               ("Progress2", "installs"),
+              ("ModifyPath", "0"),
               ("MaintenanceForm_Action", "Repair")])
 
     # Fonts, see "TextStyle Table"
@@ -634,7 +635,11 @@
     c.event("SpawnDialog", "ExistingDirectoryDlg", 'TargetExists=1 and REMOVEOLDVERSION="" and REMOVEOLDSNAPSHOT=""', 2)
     c.event("SetTargetPath", "TARGETDIR", 'TargetExists=0 or REMOVEOLDVERSION<>"" or REMOVEOLDSNAPSHOT<>""', 3)
     c.event("SpawnWaitDialog", "WaitForCostingDlg", "CostingComplete=1", 4)
-    c.event("NewDialog", "SelectFeaturesDlg", 'TargetExists=0 or REMOVEOLDVERSION<>"" or REMOVEOLDSNAPSHOT<>""', 5)
+    #c.event("NewDialog", "PathInfoDlg", "1=1", 5) # Show this once no matter what.
+    c.event("NewDialog", "PathInfoDlg", 'TargetExists=0 or REMOVEOLDVERSION<>"" or REMOVEOLDSNAPSHOT<>""', 5)
+
+    # SelectFeaturesDlg is no longer directly shown from here. PathInfoDlg
+    # currently takes care of showing it.
 
     c = seldlg.cancel("Cancel", "DirectoryCombo")
     c.event("SpawnDialog", "CancelDlg")
@@ -649,6 +654,38 @@
     c = seldlg.pushbutton("NewDir", 324, 70, 30, 18, 3, "New", None)
     c.event("DirectoryListNew", "0")
 
+
+    #####################################################################
+    # PathInfoDlg
+    path_dialog = PyDialog(db, "PathInfoDlg", x, y, w, h, modal, title,
+                           "Yes", "No", "Yes")
+    path_dialog.title("New for Python 3.3")
+    path_dialog.text("News", 135, 65, 240, 130, 0x30003,
+        "New in 3.3 is the ability to add [TARGETDIR] to\n"
+        "your system's Path variable. This option allows you\n"
+        "to type `python` at a command prompt without\n"
+        "requiring anything else on your part.\n\n"
+        "However, users of multiple versions need to be\n"
+        "aware that this will overrule the behavior of any\n"
+        "existing Python installations that you have placed\n"
+        "on the Path.\n\n"
+        "If you choose to enable this feature, it will be\n"
+        "applied after you logout."
+        )
+
+    path_dialog.text("Question", 135, 235, 240, 40, 0x30003,
+            "{\\VerdanaBold10}Would you like to add Python to the Path?")
+
+    c = path_dialog.back("< Back", "No")
+    c.event("NewDialog", "SelectDirectoryDlg")
+
+    c = path_dialog.next("Yes", "Back", name="Yes")
+    c.event("[ModifyPath]", "1", order=1)
+    c.event("NewDialog", "SelectFeaturesDlg", order=2)
+
+    c = path_dialog.cancel("No", "Yes", name="No")
+    c.event("NewDialog", "SelectFeaturesDlg", order=1)
+
     #####################################################################
     # SelectFeaturesDlg
     features = PyDialog(db, "SelectFeaturesDlg", x, y, w, h, modal|track_disk_space,
@@ -660,7 +697,7 @@
                   "Click on the icons in the tree below to change the way features will be installed.")
 
     c=features.back("< Back", "Next")
-    c.event("NewDialog", "SelectDirectoryDlg")
+    c.event("NewDialog", "PathInfoDlg")
 
     c=features.next("Next >", "Cancel")
     c.mapping("SelectionNoItems", "Enabled")
@@ -853,8 +890,6 @@
                          level=0)
     private_crt = Feature(db, "PrivateCRT", "MSVCRT", "C Run-Time (private)", 0,
                           level=0)
-    add_data(db, "Condition", [("SharedCRT", 1, sys32cond),
-                               ("PrivateCRT", 1, "not "+sys32cond)])
     # We don't support advertisement of extensions
     ext_feature = Feature(db, "Extensions", "Register Extensions",
                           "Make this Python installation the default Python installation", 3,
@@ -879,6 +914,9 @@
                         "prompt without needing the full path.", 13,
                         parent = default_feature, attributes=2|8,
                         level=2)
+    add_data(db, "Condition", [("SharedCRT", 1, sys32cond),
+                               ("PrivateCRT", 1, "not "+sys32cond),
+                               ("PrependPath", 1, "ModifyPath='0'")])
 
 def extract_msvcr100():
     # Find the redistributable files

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list