~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Mark Hammond
  • Date: 2008-09-04 11:50:40 UTC
  • mfrom: (3684.2.1 bzr.binaries.17)
  • mto: This revision was merged to the branch mainline in revision 3697.
  • Revision ID: mhammond@skippinet.com.au-20080904115040-ai5yum99nqz0azz2
re-merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
253
253
    # win32com uses them.  Hook this in so win32com.shell is found.
254
254
    import modulefinder
255
255
    import win32com
 
256
    import cPickle as pickle
256
257
    for p in win32com.__path__[1:]:
257
258
        modulefinder.AddPackagePath("win32com", p)
258
259
    for extra in ["win32com.shell"]:
271
272
    sys.path.append(os.path.join(tbzr_root, "shellext", "python"))
272
273
 
273
274
    packages.append("tbzrlib")
 
275
 
 
276
    # collect up our icons.
 
277
    cwd = os.getcwd()
 
278
    ico_root = os.path.join(tbzr_root, 'tbzrlib', 'resources')
 
279
    os.chdir(ico_root)
 
280
    try:
 
281
        icos = [] # list of (path_root, relative_ico_path)
 
282
        # First always bzr's icon and its in the root of the bzr tree.
 
283
        icos.append(('', 'bzr.ico'))
 
284
        for root, dirs, files in os.walk(''):
 
285
            icos.extend([(ico_root, os.path.join(root, f))
 
286
                         for f in files if f.endswith('.ico')])
 
287
        # allocate an icon ID for each file and the full path to the ico
 
288
        icon_resources = [(rid, os.path.join(ico_dir, ico_name))
 
289
                          for rid, (ico_dir, ico_name) in enumerate(icos)]
 
290
        # create a string resource with the mapping.  Might as well save the
 
291
        # runtime some effort and write a pickle.
 
292
        # Runtime expects unicode objects with forward-slash seps.
 
293
        fse = sys.getfilesystemencoding()
 
294
        map_items = [(f.replace('\\', '/').decode(fse), rid)
 
295
                     for rid, (_, f) in enumerate(icos)]
 
296
        ico_map = dict(map_items)
 
297
        # Create a new resource type of 'ICON_MAP', and use ID=1
 
298
        other_resources = [ ("ICON_MAP", 1, pickle.dumps(ico_map))]
 
299
    finally:
 
300
        os.chdir(cwd)
 
301
 
274
302
    excludes.extend("""pywin pywin.dialogs pywin.dialogs.list
275
303
                       win32ui crawler.Crawler""".split())
276
304
 
284
312
    # GUI version that is generally used.
285
313
    tbzrcache = dict(
286
314
        script = os.path.join(tbzr_root, "Scripts", "tbzrcache.py"),
287
 
        icon_resources = [(0,'bzr.ico')],
 
315
        icon_resources = icon_resources,
 
316
        other_resources = other_resources,
288
317
    )
289
318
    console_targets.append(tbzrcache)
290
319