~ubuntu-branches/ubuntu/trusty/blender/trusty-proposed

« back to all changes in this revision

Viewing changes to scons/scons-local-1.2.0.d20090223/SCons/Tool/MSCommon/netframework.py

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2013-08-14 10:43:49 UTC
  • mfrom: (14.2.19 sid)
  • Revision ID: package-import@ubuntu.com-20130814104349-t1d5mtwkphp12dyj
Tags: 2.68a-3
* Upload to unstable
* debian/: python3.3 Depends simplified
  - debian/control: python3.3 Depends dropped
    for blender-data package
  - 0001-blender_thumbnailer.patch refreshed
* debian/control: libavcodec b-dep versioning dropped

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons Foundation
3
 
#
4
 
# Permission is hereby granted, free of charge, to any person obtaining
5
 
# a copy of this software and associated documentation files (the
6
 
# "Software"), to deal in the Software without restriction, including
7
 
# without limitation the rights to use, copy, modify, merge, publish,
8
 
# distribute, sublicense, and/or sell copies of the Software, and to
9
 
# permit persons to whom the Software is furnished to do so, subject to
10
 
# the following conditions:
11
 
#
12
 
# The above copyright notice and this permission notice shall be included
13
 
# in all copies or substantial portions of the Software.
14
 
#
15
 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
16
 
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
17
 
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
 
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
 
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
 
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
 
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
 
#
23
 
 
24
 
__revision__ = "src/engine/SCons/Tool/MSCommon/netframework.py 4043 2009/02/23 09:06:45 scons"
25
 
 
26
 
__doc__ = """
27
 
"""
28
 
 
29
 
import os
30
 
import re
31
 
import string
32
 
 
33
 
from common import read_reg, debug
34
 
 
35
 
# Original value recorded by dcournapeau
36
 
_FRAMEWORKDIR_HKEY_ROOT = r'Software\Microsoft\.NETFramework\InstallRoot'
37
 
# On SGK's system
38
 
_FRAMEWORKDIR_HKEY_ROOT = r'Software\Microsoft\Microsoft SDKs\.NETFramework\v2.0\InstallationFolder'
39
 
 
40
 
def find_framework_root():
41
 
    # XXX: find it from environment (FrameworkDir)
42
 
    try:
43
 
        froot = read_reg(_FRAMEWORKDIR_HKEY_ROOT)
44
 
        debug("Found framework install root in registry: %s" % froot)
45
 
    except WindowsError, e:
46
 
        debug("Could not read reg key %s" % _FRAMEWORKDIR_HKEY_ROOT)
47
 
        return None
48
 
 
49
 
    if not os.path.exists(froot):
50
 
        debug("%s not found on fs" % froot)
51
 
        return None
52
 
 
53
 
    return froot
54
 
 
55
 
def query_versions():
56
 
    froot = find_framework_root()
57
 
    if froot:
58
 
        contents = os.listdir(froot)
59
 
 
60
 
        l = re.compile('v[0-9]+.*')
61
 
        versions = filter(lambda e, l=l: l.match(e), contents)
62
 
 
63
 
        def versrt(a,b):
64
 
            # since version numbers aren't really floats...
65
 
            aa = a[1:]
66
 
            bb = b[1:]
67
 
            aal = string.split(aa, '.')
68
 
            bbl = string.split(bb, '.')
69
 
            # sequence comparison in python is lexicographical
70
 
            # which is exactly what we want.
71
 
            # Note we sort backwards so the highest version is first.
72
 
            return cmp(bbl,aal)
73
 
 
74
 
        versions.sort(versrt)
75
 
    else:
76
 
        versions = []
77
 
 
78
 
    return versions
79
 
 
80
 
# Local Variables:
81
 
# tab-width:4
82
 
# indent-tabs-mode:nil
83
 
# End:
84
 
# vim: set expandtab tabstop=4 shiftwidth=4: