Example #1
0
 def post(self):
     args = project_parser.parse_args()
     project = Project(name=args['name'],
                       git_url=args['git_url'],
                       gerrit_server=args['gerrit_server'])
     db_session.add(project)
     db_session.commit()
     return project, 201
Example #2
0
    def post(self):
        args = user_parser.parse_args()
        user = User(name=args['name'],
                    email=args['email'],
                    user_id=args['user_id'])
        db_session.add(user)
        db_session.commit()

        return user, 201
Example #3
0
 def post(self):
     args = authuser_parser.parse_args()
     user = AuthUser()
     user.username = args['username']
     user.hash_password(args['password'])
     print user.password_hash
     db_session.add(user)
     db_session.commit()
     return True
Example #4
0
    def post(self):
        args = scenario_filter_parser.parse_args()
        _filter = ScenarioFilter()
        _filter.filter_desc = args['filter_desc']
        _filter.name = args['name']

        db_session.add(_filter)
        db_session.commit()
        return 201
Example #5
0
    def post(self):
        args = harvester_parser.parse_args()
        harvester = Harvester()
        harvester.name = args['name']
        harvester.url = args['url']
        harvester.description = args['description']

        db_session.add(harvester)
        db_session.commit()
        return harvester, 201
Example #6
0
    def post(self):
        args = team_parser.parse_args()
        team = Team(name=args['name'])
        users = args.get('users', None)
        if users:
            user_ids = [user['id'] for user in users]
            selected_users = User.query.filter(User.id.in_(user_ids)).all()
            for selected_user in selected_users:
                team.users.append(selected_user)

        db_session.add(team)
        db_session.commit()
        return team, 201
Example #7
0
    def post(self):
        args = bz_parser.parse_args()
        tmp_url = args['url']
        if 'GoAheadAndLogIn' not in tmp_url:
            tmp_url = tmp_url + '&GoAheadAndLogIn=1'

        if 'ctype=csv' not in tmp_url:
            tmp_url = tmp_url + '&ctype=csv'

        report = RedHatBugzillaReport()
        report.name = args['name']
        report.url = tmp_url
        report.require_authentication = True
        report.description = args['description'] or ''

        db_session.add(report)
        db_session.commit()

        return report, 201
Example #8
0
def insert_gerrit_review(review):
    LOG.debug('Inserting review %s on database' % review['change_id'])

    user = None
    user_id = review['owner'].get('username', None)
    email = review['owner'].get('email', None)
    if user_id:
        LOG.debug('Looking for user with user id %s in database' % user_id)
        user = User.query.filter_by(user_id=user_id).first()
    elif email:
        LOG.debug('Looking for user with email %s in database' % email)
        user = User.query.filter_by(email=email).first()

    LOG.debug('User in database: %s' % user)
    current_revision = review.get('current_revision', None)

    gerrit_review = GerritReview()
    gerrit_review.commit_id = review.get('current_revision', None)
    gerrit_review.change_id = review.get('change_id', None)
    gerrit_review.version = review.get('version', None)
    gerrit_review.user = user
    gerrit_review.user_id = user.id if user else None
    gerrit_review.project = review.get('project', None)
    gerrit_review.status = review.get('status')

    # We only add the files when it's merged, so it's more easy to
    # track down and don't overload the database
    if review.get('status', None) == 'MERGED':
        LOG.debug('Change is merged, inserting the changed files in database')
        if review.get('revisions', None) and current_revision:
            if review['revisions'].get(current_revision):
                files = review['revisions'][current_revision].get('files')
                for f in files.keys():
                    gerrit_file = GerritReviewFile()
                    gerrit_file.filename = f
                    gerrit_review.files.append(gerrit_file)

    db_session.add(gerrit_review)
    db_session.commit()
    LOG.debug('Change %s inserted successfully' % review['change_id'])