Example #1
0
def set_preferences(profile, prefs, enable_default_prefs=True):
    """Set all the preferences from dict in the profile's prefs.py"""
    from windmill.dep import mozrunner
    prefs_file = os.path.join(profile, 'user.js')
    f = open(prefs_file, 'w+')
    f.write('\n#MozRunner Prefs Start\n')

    if enable_default_prefs and hasattr(mozrunner, 'settings'):
        default_prefs = mozrunner.settings.get('MOZILLA_DEFAULT_PREFS')
        pref_lines = [
            'user_pref(%s, %s);' % (json.dumps(k), json.dumps(v))
            for k, v in default_prefs.items()
        ]
        f.write('#MozRunner Default Prefs\n')
        for line in pref_lines:
            f.write(line + '\n')

    pref_lines = [
        'user_pref(%s, %s);' % (json.dumps(k), json.dumps(v))
        for k, v in prefs.items()
    ]
    f.write('#MozRunner Preferences\n')
    for line in pref_lines:
        f.write(line + '\n')

    f.write('#MozRunner Prefs End\n')
    f.flush()
    f.close()
Example #2
0
def test_object_transform_to_javascript(test):
    """Transform test object in to controller call in javascript."""
    test = dict([(
        k,
        v,
    ) for k, v in test.items() if k == 'method' or k == 'params'])
    return json.dumps(test)
Example #3
0
def create_json_test_file(suite_name, tests, location=None):
    """Transform and create a json test file."""
    if location is None: 
        location = os.path.join(windmill.settings['SAVES_PATH'], suite_name+'.json')
    f = open(location, 'w')
    for test in tests:
        # Strip keys that aren't part of the api
        test.pop('suite_name', None) ; test.pop('version', None)
        f.write(json.dumps(test))
        f.write('\n')
    f.flush()
    f.close()
    return get_save_url(suite_name, 'json')
Example #4
0
def set_preferences(profile, prefs, enable_default_prefs=True):
    """Set all the preferences from dict in the profile's prefs.py"""
    from windmill.dep import mozrunner
    prefs_file = os.path.join(profile, 'user.js')
    f = open(prefs_file, 'w+')
    f.write('\n#MozRunner Prefs Start\n')
    
    if enable_default_prefs and hasattr(mozrunner, 'settings'):
        default_prefs = mozrunner.settings.get('MOZILLA_DEFAULT_PREFS')
        pref_lines = ['user_pref(%s, %s);' % 
                      (json.dumps(k), json.dumps(v) ) for k, v in default_prefs.items()]
        f.write('#MozRunner Default Prefs\n')
        for line in pref_lines:
            f.write(line+'\n')
    
    pref_lines = ['user_pref(%s, %s);' % 
                  (json.dumps(k), json.dumps(v) ) for k, v in prefs.items()]
    f.write('#MozRunner Preferences\n')
    for line in pref_lines:
        f.write(line+'\n')

    f.write('#MozRunner Prefs End\n')
    f.flush() ; f.close()
Example #5
0
def create_json_test_file(suite_name, tests, location=None):
    """Transform and create a json test file."""
    if location is None:
        location = os.path.join(windmill.settings['SAVES_PATH'],
                                suite_name + '.json')
    f = open(location, 'w')
    for test in tests:
        # Strip keys that aren't part of the api
        test.pop('suite_name', None)
        test.pop('version', None)
        f.write(json.dumps(test))
        f.write('\n')
    f.flush()
    f.close()
    return get_save_url(suite_name, 'json')
Example #6
0
    def __call__(self, *args, **kwargs):

        # Need to handle keyword arguments per 1.1 spec

        request = {}
        request['version'] = '1.1'
        request['method'] = self.name
        if len(kwargs) is not 0:
            params = copy.copy(kwargs)
            index = 0
            for arg in args:
                params[str(index)] = arg
                index = index + 1
        elif len(args) is not 0:
            params = copy.copy(args)
        else:
            params = None
        request['params'] = params
        logger.debug('Created python request object %s' % str(request))
        return self.call(json.dumps(request))
Example #7
0
 def __call__(self, *args, **kwargs):
     
     # Need to handle keyword arguments per 1.1 spec
     
     request = {}
     request['version'] = '1.1'
     request['method'] = self.name
     if len(kwargs) is not 0:
         params = copy.copy(kwargs)
         index = 0
         for arg in args:
             params[str(index)] = arg
             index = index + 1
     elif len(args) is not 0:
         params = copy.copy(args)
     else:
         params = None
     request['params'] = params
     logger.debug('Created python request object %s' % str(request))
     return self.call(json.dumps(request))
Example #8
0
 def _encode(self, result=None, error=None, jsonrpc_id=None):
     """Internal encoder method, handles error formatting, id persistence, and encoding via simplejson"""
     response = {}
     response['result'] = result
     if jsonrpc_id is not None:
         response['id'] = jsonrpc_id
     
     
     if error is not None:
         if hasattr(error, 'type'):
             error_type = str(error.type)
             error_message = str(error)
         else:
             error_type = 'JSONRPCError'
             error_message = str(error).strip('JSONRPC Error in: ')
             
         response['error'] = {'type':error_type,
                              'message':error_message}
     logger.debug('serializing %s' % str(response))
     return json.dumps(response)
Example #9
0
def test_object_transform_to_javascript(test):
    """Transform test object in to controller call in javascript."""
    test = dict([(k, v,) for k, v in test.items() if k == 'method' or k == 'params'])
    return json.dumps(test)