/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tools/win32/file_version.py

  • Committer: Michael Ellerman
  • Date: 2006-05-31 08:44:29 UTC
  • mto: (1711.2.63 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1792.
  • Revision ID: michael@ellerman.id.au-20060531084429-35e5429abda9f560
Add optional location to ancestry and fix behaviour for checkouts.

This adds an optional location parameter to the ancestry command. It also
changes the behaviour of ancestry on checkouts such that if they have
been created with a subset of the branch history, only the subset is
shown by 'bzr ancestry'. Tests for all of that as well.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
2
 
 
3
 
"""Get file version.
4
 
Written by Alexander Belchenko, 2006
5
 
"""
6
 
 
7
 
import os
8
 
 
9
 
import pywintypes   # from pywin32 (http://pywin32.sf.net)
10
 
import win32api     # from pywin32 (http://pywin32.sf.net)
11
 
 
12
 
 
13
 
__all__ = ['get_file_version', 'FileNotFound', 'VersionNotAvailable']
14
 
__docformat__ = "restructuredtext"
15
 
 
16
 
 
17
 
class FileNotFound(Exception):
18
 
    pass
19
 
 
20
 
class VersionNotAvailable(Exception):
21
 
    pass
22
 
 
23
 
 
24
 
def get_file_version(filename):
25
 
    """Get file version (windows properties)
26
 
    :param  filename:   path to file
27
 
    :return:            4-tuple with 4 version numbers
28
 
    """
29
 
    if not os.path.isfile(filename):
30
 
        raise FileNotFound
31
 
 
32
 
    try:
33
 
        version_info = win32api.GetFileVersionInfo(filename, '\\')
34
 
    except pywintypes.error:
35
 
        raise VersionNotAvailable
36
 
 
37
 
    return (divmod(version_info['FileVersionMS'], 65536) +
38
 
            divmod(version_info['FileVersionLS'], 65536))