~mvo/ubuntu-sso-client/strawman-lp711413

« back to all changes in this revision

Viewing changes to ubuntu_sso/utils/ui.py

  • Committer: Natalia B. Bidart
  • Date: 2012-02-07 01:46:58 UTC
  • mto: (812.1.39 ubuntu-sso-client)
  • mto: This revision was merged to the branch mainline in revision 824.
  • Revision ID: natalia.bidart@canonical.com-20120207014658-z8tod0cq8y097pjj
- Install ui files consitently between Gtk and Qt (part of LP: #927994).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# -*- coding: utf-8 -*-
2
2
#
3
 
# Author: Natalia Bidart <natalia.bidart@canonical.com>
4
 
# Author: Manuel de la Pena <manuel@canonical.com>
5
 
#
6
 
# Copyright 2011 Canonical Ltd.
 
3
# Copyright 2011-2012 Canonical Ltd.
7
4
#
8
5
# This program is free software: you can redistribute it and/or modify it
9
6
# under the terms of the GNU General Public License version 3, as published
105
102
YES_TO_TC = _('I agree with the %(app_name)s terms and conditions')
106
103
YES_TO_UPDATES = _('Yes! Email me %(app_name)s tips and updates.')
107
104
 
108
 
 
109
 
def get_data_dir():
110
 
    """Build absolute path to  the 'data' directory."""
 
105
DATA_SUFFIX = 'data'
 
106
 
 
107
 
 
108
def get_project_dir():
 
109
    """Return the absolute path to this project's data/ dir.
 
110
 
 
111
    Support symlinks, and priorize local (relative) data/ dir.
 
112
    """
111
113
    module = os.path.dirname(__file__)
112
 
    result = os.path.abspath(os.path.join(module, os.pardir,
113
 
                                          os.pardir, 'data'))
114
 
    logger.debug('get_data_file: trying to load from %r (exists? %s)',
115
 
                 result, os.path.exists(result))
 
114
    result = os.path.abspath(os.path.join(module, os.path.pardir,
 
115
                                          os.path.pardir, DATA_SUFFIX))
 
116
    logger.debug('get_project_dir: trying use data dir at %r (exists? %s)',
 
117
                  result, os.path.exists(result))
116
118
    if os.path.exists(result):
117
 
        logger.info('get_data_file: returning data dir located at %r.', result)
 
119
        logger.info('get_project_dir: returning dir located at %r.', result)
118
120
        return result
119
121
 
120
 
    # no local data dir, looking within system data dirs
121
 
    data_dirs = xdg_base_directory.xdg_data_dirs
122
 
    for path in data_dirs:
123
 
        result = os.path.join(path, 'ubuntu-sso-client', 'data')
124
 
        result = os.path.abspath(result)
125
 
        logger.debug('get_data_file: trying to load from %r (exists? %s)',
126
 
                     result, os.path.exists(result))
127
 
        if os.path.exists(result):
128
 
            logger.info('get_data_file: data dir located at %r.', result)
129
 
            return result
130
 
    else:
131
 
        msg = 'get_data_file: can not build a valid data path. Giving up.' \
132
 
              '__file__ is %r, data_dirs are %r'
133
 
        logger.error(msg, __file__, data_dirs)
 
122
    # otherwise, try to load PROJECT_DIR from installation path
 
123
    try:
 
124
        # pylint: disable=F0401, E0611, W0404
 
125
        from ubuntu_sso.constants import PROJECT_DIR
 
126
        return PROJECT_DIR
 
127
    except ImportError:
 
128
        msg = 'get_project_dir: can not build a valid path. Giving up. ' \
 
129
              '__file__ is %r, constants module not available.'
 
130
        logger.error(msg, __file__)
134
131
 
135
132
 
136
133
def get_data_file(*args):
137
 
    """Build absolute path to the path within the 'data' directory."""
138
 
    return os.path.join(get_data_dir(), *args)
 
134
    """Return the absolute path to 'args' within project data dir."""
 
135
    return os.path.join(get_project_dir(), *args)
139
136
 
140
137
 
141
138
def get_password_strength(password):