/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: Vincent Ladeuil
  • Date: 2007-02-11 16:06:13 UTC
  • mto: (2323.7.1 redirection)
  • mto: This revision was merged to the branch mainline in revision 2390.
  • Revision ID: v.ladeuil+lp@free.fr-20070211160613-9k1vwo0e1x0si26z
Http redirections are not followed by default. Do not use hints
anymore.

* bzrlib/transport/smart.py:
(SmartTransport.get): Do not use hints.

* bzrlib/transport/sftp.py:
(SFTPTransport.get): Do not use hints.

* bzrlib/transport/memory.py:
(MemoryTransport.get): Do not use hints.

* bzrlib/transport/local.py:
(LocalTransport.get): Do not use hints.

* bzrlib/transport/http/_urllib2_wrappers.py:
(Request.__init__): Redirections are *not* followed by default.

* bzrlib/transport/http/_urllib.py:
(HttpTransport_urllib._get): Do not use hints.

* bzrlib/transport/http/_pycurl.py:
(PyCurlTransport._get): Do not use hints.

* bzrlib/transport/http/__init__.py:
(HttpTransportBase.get, HttpTransportBase._get): Do not use hints.
Fix _get doc anyway.

* bzrlib/transport/ftp.py:
(FtpTransport.get): Do not use hints.

* bzrlib/transport/fakevfat.py:
(FakeVFATTransportDecorator.get): Do not use hints.

* bzrlib/transport/decorator.py
(TransportDecorator.get): Do not use hints.

* bzrlib/transport/chroot.py:
(ChrootTransportDecorator.get): Do not use hints.

* bzrlib/tests/test_transport_hints.py:
Deleted.

* bzrlib/tests/__init__.py:
(test_suite): Do not test hints.

* bzrlib/errors.py:
(UnknownHint): Deleted.

* bzrlib/bzrdir.py:
(BzrDirMetaFormat1.probe_transport): Do not use hints.

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))