src/cm/utils/system.py
author Simon Descarpentries <sid@sopinspace.com>
Mon, 21 Oct 2013 16:37:07 +0200
changeset 553 bf26fb47a14c
parent 0 40c8f766c9b8
permissions -rw-r--r--
To allow scrolling in Safari mobile, we set the content of text_view_comments frame in a jQuery UI layout. So the automated scrolling operations in c_sync.js must be adjustable to the right part to scroll. 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. 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