Reviewers: ,


Please review this at http://codereview.appspot.com/4080047/

Affected files:
  M     Tools/msi/msi.py
  M     Tools/msi/msilib.py


Index: Tools/msi/msi.py
===================================================================
--- Tools/msi/msi.py    (revision 88279)
+++ Tools/msi/msi.py    (working copy)
@@ -4,7 +4,6 @@
 import msilib, schema, sequence, os, glob, time, re, shutil, zipfile
 from msilib import Feature, CAB, Directory, Dialog, Binary, add_data
 import uisample
-from win32com.client import constants
 from distutils.spawn import find_executable
 from uuids import product_codes
 import tempfile
@@ -1360,7 +1359,7 @@

     # Step 2: Add CAB files
     i = msilib.MakeInstaller()
-    db = i.OpenDatabase(msi, constants.msiOpenDatabaseModeTransact)
+    db = i.OpenDatabase(msi, msilib.msiOpenDatabaseModeTransact)

     v = db.OpenView("SELECT LastSequence FROM Media")
     v.Execute(None)
Index: Tools/msi/msilib.py
===================================================================
--- Tools/msi/msilib.py (revision 88279)
+++ Tools/msi/msilib.py (working copy)
@@ -4,7 +4,6 @@
 import win32com.client.gencache
 import win32com.client
 import pythoncom, pywintypes
-from win32com.client import constants
 import re, string, os, sets, glob, subprocess, sys, _winreg, struct

 try:
@@ -29,6 +28,18 @@
 knownbits = datasizemask | type_valid | type_localizable | \
             typemask | type_nullable | type_key

+# Constants from Windows Installer SDK
+msiOpenDatabaseModeReadOnly = 0
+msiOpenDatabaseModeTransact = 1
+msiOpenDatabaseModeDirect = 2
+msiOpenDatabaseModeCreate = 3
+msiColumnInfoNames = 0
+msiColumnInfoTypes = 1
+msiReadStreamInteger = 0
+msiReadStreamBytes = 1
+msiViewModifyInsert = 1
+msidbFileAttributesVital = 512
+
 # Summary Info Property IDs
 PID_CODEPAGE=1
 PID_TITLE=2
@@ -141,8 +152,7 @@

 def gen_schema(destpath, schemapath):
     d = MakeInstaller()
-    schema = d.OpenDatabase(schemapath,
-            win32com.client.constants.msiOpenDatabaseModeReadOnly)
+    schema = d.OpenDatabase(schemapath, msiOpenDatabaseModeReadOnly)

     # XXX ORBER BY
     v=schema.OpenView("SELECT * FROM _Columns")
@@ -196,8 +206,7 @@
 def gen_sequence(destpath, msipath):
     dir = os.path.dirname(destpath)
     d = MakeInstaller()
-    seqmsi = d.OpenDatabase(msipath,
-            win32com.client.constants.msiOpenDatabaseModeReadOnly)
+    seqmsi = d.OpenDatabase(msipath, msiOpenDatabaseModeReadOnly)

     v = seqmsi.OpenView("SELECT * FROM _Tables");
     v.Execute(None)
@@ -212,7 +221,7 @@
         f.write("%s = [\n" % table)
         v1 = seqmsi.OpenView("SELECT * FROM `%s`" % table)
         v1.Execute(None)
-        info = v1.ColumnInfo(constants.msiColumnInfoTypes)
+        info = v1.ColumnInfo(msiColumnInfoTypes)
         while 1:
             r = v1.Fetch()
             if not r:break
@@ -226,7 +235,7 @@
                     rec.append(r.StringData(i))
                 elif info.StringData(i)[0]=="v":
                     size = r.DataSize(i)
- bytes = r.ReadStream(i, size, constants.msiReadStreamBytes)
+                    bytes = r.ReadStream(i, size, msiReadStreamBytes)
bytes = bytes.encode("latin-1") # binary data represented "as-is"
                     if table == "Binary":
                         fname = rec[0]+".bin"
@@ -275,7 +284,7 @@
                 r.SetStream(i+1, field.name)
             else:
raise TypeError, "Unsupported type %s" % field.__class__.__name__
-        v.Modify(win32com.client.constants.msiViewModifyInsert, r)
+        v.Modify(msiViewModifyInsert, r)
         r.ClearData()
     v.Close()

@@ -298,8 +307,7 @@
     ProductCode = ProductCode.upper()
     d = MakeInstaller()
     # Create the database
-    db = d.OpenDatabase(name,
-         win32com.client.constants.msiOpenDatabaseModeCreate)
+    db = d.OpenDatabase(name, msiOpenDatabaseModeCreate)
     # Create the tables
     for t in schema.tables:
         t.create(db)
@@ -538,7 +546,7 @@
         short = self.make_short(file)
         full = "%s|%s" % (short, file)
         filesize = os.stat(absolute).st_size
-        # constants.msidbFileAttributesVital
+        # msidbFileAttributesVital
         # Compressed omitted, since it is the database default
         # could add r/o, system, hidden
         attributes = 512


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to