示例#1
0
 def get_django_setting(cls, django_setting, system, settings=None):
     """
     Interrogate Django environment for specific settings values
     :param django_setting: the django setting to get
     :param system: the django app to use when asking for the setting (lms | cms)
     :param settings: the settings file to use when asking for the value
     :return: unicode value of the django setting
     """
     if not settings:
         settings = os.environ.get("EDX_PLATFORM_SETTINGS", "aws")
     log_dir = os.path.dirname(cls.PRINT_SETTINGS_LOG_FILE)
     if not os.path.exists(log_dir):
         os.makedirs(log_dir)
     try:
         value = sh(
             django_cmd(
                 system,
                 settings,
                 u"print_setting {django_setting} 2>{log_file}".format(
                     django_setting=django_setting,
                     log_file=cls.PRINT_SETTINGS_LOG_FILE
                 )
             ),
             capture=True
         )
         return six.text_type(value).strip()
     except BuildFailure:
         print(u"Unable to print the value of the {} setting:".format(django_setting))
         with io.open(cls.PRINT_SETTINGS_LOG_FILE, 'r') as f:
             print(f.read())
         sys.exit(1)
示例#2
0
文件: envs.py 项目: yf/edx-platform
 def get_django_settings(cls, django_settings, system, settings=None):
     """
     Interrogate Django environment for specific settings values
     :param django_settings: list of django settings values to get
     :param system: the django app to use when asking for the setting (lms | cms)
     :param settings: the settings file to use when asking for the value
     :return: unicode value of the django setting
     """
     if not settings:
         settings = os.environ.get("EDX_PLATFORM_SETTINGS", "aws")
     log_dir = os.path.dirname(cls.PRINT_SETTINGS_LOG_FILE)
     if not os.path.exists(log_dir):
         os.makedirs(log_dir)
     settings_length = len(django_settings)
     django_settings = ' '.join(
         django_settings)  # parse_known_args makes a list again
     try:
         value = sh(django_cmd(
             system, settings,
             "print_setting {django_settings} 2>{log_file}".format(
                 django_settings=django_settings,
                 log_file=cls.PRINT_SETTINGS_LOG_FILE)),
                    capture=True)
         # else for cases where values are not found & sh returns one None value
         return tuple(str(value).splitlines()) if value else tuple(
             None for _ in range(settings_length))
     except BuildFailure:
         print("Unable to print the value of the {} setting:".format(
             django_settings))
         with open(cls.PRINT_SETTINGS_LOG_FILE, 'r') as f:
             print(f.read())
         sys.exit(1)
示例#3
0
 def get_django_setting(cls, django_setting, system, settings=None):
     """
     Interrogate Django environment for specific settings values
     :param django_setting: the django setting to get
     :param system: the django app to use when asking for the setting (lms | cms)
     :param settings: the settings file to use when asking for the value
     :return: unicode value of the django setting
     """
     if not settings:
         settings = os.environ.get("EDX_PLATFORM_SETTINGS", "aws")
     log_dir = os.path.dirname(cls.PRINT_SETTINGS_LOG_FILE)
     if not os.path.exists(log_dir):
         os.makedirs(log_dir)
     try:
         value = sh(
             django_cmd(
                 system,
                 settings,
                 u"print_setting {django_setting} 2>{log_file}".format(
                     django_setting=django_setting,
                     log_file=cls.PRINT_SETTINGS_LOG_FILE
                 )
             ),
             capture=True
         )
         return unicode(value).strip()
     except BuildFailure:
         print(u"Unable to print the value of the {} setting:".format(django_setting))
         with io.open(cls.PRINT_SETTINGS_LOG_FILE, 'r') as f:
             print(f.read())
         sys.exit(1)
示例#4
0
 def get_django_setting(self, django_setting, system, settings=None):
     """
     Interrogate Django environment for specific settings values
     :param django_setting: the django setting to get
     :param system: the django app to use when asking for the setting (lms | cms)
     :param settings: the settings file to use when asking for the value
     :return: unicode value of the django setting
     """
     if not settings:
         settings = os.environ.get("EDX_PLATFORM_SETTINGS", "aws")
     value = sh(django_cmd(
         system, settings,
         "print_settings {django_setting} --format=value 2>/dev/null".
         format(django_setting=django_setting)),
                capture=True)
     return unicode(value).strip()
示例#5
0
 def get_django_setting(cls, django_setting, system, settings=None):
     """
     Interrogate Django environment for specific settings values
     :param django_setting: the django setting to get
     :param system: the django app to use when asking for the setting (lms | cms)
     :param settings: the settings file to use when asking for the value
     :return: unicode value of the django setting
     """
     if not settings:
         settings = os.environ.get("EDX_PLATFORM_SETTINGS", "aws")
     value = sh(
         django_cmd(
             system,
             settings,
             "print_setting {django_setting} 2>/dev/null".format(
                 django_setting=django_setting
             )
         ),
         capture=True
     )
     return unicode(value).strip()
示例#6
0
def compile_js(language):
    sh(django_cmd('lms', 'devstack', 'compilejsi18n', '-l', language))