예제 #1
0
def check_directory(path):
    from db.models import Project

    for filename in os.listdir(path):
        full_path = path + filename

        if os.path.isfile(full_path):
            try:
                (project_name, project_input) = infer_project_name(filename)
                project_name = os.path.basename(project_name)

                Project.get_or_insert(project_name)

                project_status = sanity_checks.get(project_name, ProjectStatus(project_name))

                if project_input == 'jdepend':
                    project_status.jdepend_imported = True
                elif project_input == 'clmt':
                    project_status.clmt_imported = True
                elif project_input == 'ckjm':
                    project_status.ckjm_imported = True

                sanity_checks[project_name] = project_status
            except Exception, e:
                print '%s' % (full_path,)
예제 #2
0
def check_directory(path):
    from db.models import Project

    for filename in os.listdir(path):
        full_path = path + filename

        if os.path.isfile(full_path):
            try:
                (project_name, project_input) = infer_project_name(filename)
                project_name = os.path.basename(project_name)

                Project.get_or_insert(project_name)

                project_status = sanity_checks.get(project_name,
                                                   ProjectStatus(project_name))

                if project_input == 'jdepend':
                    project_status.jdepend_imported = True
                elif project_input == 'clmt':
                    project_status.clmt_imported = True
                elif project_input == 'ckjm':
                    project_status.ckjm_imported = True

                sanity_checks[project_name] = project_status
            except Exception, e:
                print '%s' % (full_path, )
예제 #3
0
def import_json(project_name, project_input, json_obj):
    from db.models import Filenames, Category, Project, Measurement, MeasurementType

    info('Importing Project: %s (%s)' % (project_name, project_input))
    _project_obj = Project.get_or_insert(project_name)

    if _project_obj == -1:
        error('Could not import Project: %s (%s)' % (project_name, project_input))
        return

    for element in json_obj:
        try:
            # retrieve id
            _id = element['id']
            _category = element['category']
            _filename = element['filename']

            # retrieve ids
            _id_obj = Filenames.get_or_insert(_id)

            if _id_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' % (_id, _filename))
                continue

            # retrieve categories
            _category_obj = Category.get_or_insert(_category)

            if _category_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' % (_id, _filename))
                continue

            # retrieve filenames
            _filename_obj = Filenames.get_or_insert(_filename)

            if _filename_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' % (_id, _filename))
                continue

            from db.internals import Session

            db_session = Session()

            for measurements in element.get('measurement', []):
                try:
                    try:
                        _name = measurements[u'name']
                    except Exception, e:
                        _name = measurements[u'Name']

                    _mt_obj = MeasurementType.get_or_insert(_name + '_' + project_input)

                    if _mt_obj == -1:
                        warning('Invalid Measurement Type: %s' % (_name + '_' + project_input,))
                        continue

                    _value = str(measurements['value'])

                    meas_object = Measurement()
                    meas_object.cat_pk = _category_obj
                    meas_object.prj_pk = _project_obj
                    meas_object.meas_id = _id_obj
                    meas_object.meas_filename = _filename_obj
                    meas_object.meas_value = _value
                    meas_object.mt_pk = _mt_obj
                    db_session.add(meas_object)
                except Exception, e:
                    warning('Invalid Measurement: %s (%s)' % (measurements, e.message))
                    continue
예제 #4
0
def import_json(project_name, project_input, json_obj):
    from db.models import Filenames, Category, Project, Measurement, MeasurementType

    info('Importing Project: %s (%s)' % (project_name, project_input))
    _project_obj = Project.get_or_insert(project_name)

    if _project_obj == -1:
        error('Could not import Project: %s (%s)' %
              (project_name, project_input))
        return

    for element in json_obj:
        try:
            # retrieve id
            _id = element['id']
            _category = element['category']
            _filename = element['filename']

            # retrieve ids
            _id_obj = Filenames.get_or_insert(_id)

            if _id_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' %
                        (_id, _filename))
                continue

            # retrieve categories
            _category_obj = Category.get_or_insert(_category)

            if _category_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' %
                        (_id, _filename))
                continue

            # retrieve filenames
            _filename_obj = Filenames.get_or_insert(_filename)

            if _filename_obj == -1:
                warning('Invalid Element (id, filename): (%s, %s)' %
                        (_id, _filename))
                continue

            from db.internals import Session

            db_session = Session()

            for measurements in element.get('measurement', []):
                try:
                    try:
                        _name = measurements[u'name']
                    except Exception, e:
                        _name = measurements[u'Name']

                    _mt_obj = MeasurementType.get_or_insert(_name + '_' +
                                                            project_input)

                    if _mt_obj == -1:
                        warning('Invalid Measurement Type: %s' %
                                (_name + '_' + project_input, ))
                        continue

                    _value = str(measurements['value'])

                    meas_object = Measurement()
                    meas_object.cat_pk = _category_obj
                    meas_object.prj_pk = _project_obj
                    meas_object.meas_id = _id_obj
                    meas_object.meas_filename = _filename_obj
                    meas_object.meas_value = _value
                    meas_object.mt_pk = _mt_obj
                    db_session.add(meas_object)
                except Exception, e:
                    warning('Invalid Measurement: %s (%s)' %
                            (measurements, e.message))
                    continue