Esempio n. 1
0
 def _on_parameters_changed(self, first_time, values):
     try:
         values1 = UpdatedParameters(**values)
         values1.set_allowed(list(self._configuration.parameters))
         self.on_parameters_changed(first_time, values1)
     except DTConfigException as e:
         msg = 'Configuration error raised by on_parameters_changed()' 
         msg += '\n\n' + indent(yaml_dump(values), '  ', 'Configuration: ')
         raise_wrapped(DTConfigException, e, msg, compact=True)
     except Exception as e:
         msg = 'Configuration error raised by on_parameters_changed().'
         msg += '\n\n' + indent(yaml_dump(values), '  ', 'Configuration: ')
         raise_wrapped(DTConfigException, e, msg)
Esempio n. 2
0
def what_the_duck_stats():

    if len(sys.argv) > 1:
        output = sys.argv[1]
    else:
        output = 'what_the_duck_stats.html'

    collection = get_upload_collection()

    res = list(get_valid_data(collection))

    #     for r in res:
    #         del r['_id']
    #
    data = yaml_dump(res)

    write_data_to_file(data, 'last_download.yaml')

    hostnames = defaultdict(lambda: 0)

    for r in res:
        hostnames[r['hostname']] += 1

    s = 'Number of tests by hostname: '
    for h, n in hostnames.items():
        s += '\n- %s: %d tests' % (h, n)

    logger.info(s)

    html = create_summary(res)
    write_data_to_file(html, output)
Esempio n. 3
0
    def from_yaml(data0):

        data = deepcopy(data0)
        try:
            urls = data.pop('urls')
            mime = data.pop('mime')
            desc = data.pop('desc')
            size = data.pop('size')
            name = data.pop('name')
            dtrv = data.pop('dtrv')
            hashes = data.pop('hash')
        except KeyError as e:
            msg = 'Could not interpret:'
            msg += '\n\n' + dtu.indent(dtu.yaml_dump(data0), ' >')
            msg += '\n\n' + dtu.indent(str(e), '  ')
            raise Exception(msg)

        return DTR(dtrv, size, name, mime, hashes, urls, desc)
Esempio n. 4
0
        data['error'] = error
        data['valid'] = False
        for f in fields:
            data[f] = None
        return data

    if not is_internet_connected():
        return get_invalid_response()

    try:
        url = 'http://ipinfo.io/json'
        #         logger.debug('loading %s' % url)
        response = urlopen(url, timeout=1)
        #         logger.debug('done')
        data = json.load(response)
        data['valid'] = True
        data['error'] = None
        for x in to_remove:
            if x in data:
                data.pop(x)
        return data
    except URLError as e:
        logger.warning(str(e))
        return get_invalid_response(str(e))


if __name__ == '__main__':  # pragma: no cover
    data = get_geolocation_data()
    print data
    print yaml_dump(data)
Esempio n. 5
0
        data['error'] = error
        data['valid'] = False
        for f in fields:
            data[f] = None
        return data

    if not dtu.is_internet_connected():
        return get_invalid_response()

    try:
        url = 'http://ipinfo.io/json'
        #         logger.debug('loading %s' % url)
        response = urlopen(url, timeout=1)
        #         logger.debug('done')
        data = json.load(response)
        data['valid'] = True
        data['error'] = None
        for x in to_remove:
            if x in data:
                data.pop(x)
        return data
    except URLError as e:
        dtu.logger.warning(str(e))
        return get_invalid_response(str(e))


if __name__ == '__main__':  # pragma: no cover
    data = get_geolocation_data()
    print data
    print dtu.yaml_dump(data)