src/cm/utils/system.py
author Simon Descarpentries <sid@sopinspace.com>
Mon, 21 Oct 2013 16:50:41 +0200
changeset 554 8e116b8ddbc3
parent 0 40c8f766c9b8
permissions -rw-r--r--
Merge [text_view_comments] To allow scrolling in Safari mobile, we set the content of text_view_comments frame in a jQuery UI layout. [c_sync.js] So the automated scrolling operations in c_sync.js must be adjustable to the right part to scroll. [c_sync.js] Also, if a comment have to be shown outside of the current viewport, we scroll the correct part to that viewport and then set the comment top Y offset to juste what it needs to avoid the "Add comment" button after scrolling operation. [c_sync.js] If not in Safari mobile, we add an offset here to avoid comment to display under the "Add comment" button.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
# taken from plone
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
import os
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
bin_search_path = [
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    '/usr/bin',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    '/usr/local/bin',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
    ]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
class MissingBinary(Exception): pass
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
def bin_search(binary):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
    """search the bin_search_path  for a given binary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    returning its fullname or None"""
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
    result = None
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
    mode   = os.R_OK | os.X_OK
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
    for p in bin_search_path:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
        path = os.path.join(p, binary)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
        if os.access(path, mode) == 1:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
            result = path
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
            break
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
    else:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
        raise MissingBinary('Unable to find binary "%s"' % binary)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
    return result