Ejemplo n.º 1
0
    def add(self):
        """
        Add build data record into database.
        """
        oDb = TMDatabaseConnection()

        # Assemble the build data.
        oBuildData = BuildDataEx()
        oBuildData.idBuildCategory = None
        oBuildData.iRevision = self.oConfig.iRevision
        oBuildData.sVersion = self.oConfig.sProductVersion
        oBuildData.sLogUrl = self.oConfig.sBuildLogPath
        oBuildData.sBinaries = ','.join(self.oConfig.asFiles)
        oBuildData.oCat = BuildCategoryData().initFromValues(
            sProduct=self.oConfig.sProductName,
            sRepository=self.oConfig.sRepository,
            sBranch=self.oConfig.sBranch,
            sType=self.oConfig.sBuildType,
            asOsArches=self.oConfig.asTargetOsArches)

        # Add record to database
        try:
            BuildLogic(oDb).addEntry(oBuildData, fCommit=True)
        except:
            if self.oConfig.fQuiet:
                sys.exit(1)
            raise
        oDb.close()
        return 0
Ejemplo n.º 2
0
def markBuildsDeleted():
    """
    Marks the builds using the specified binaries as deleted.
    """

    oParser = OptionParser()
    oParser.add_option('-q', '--quiet', dest='fQuiet', action='store_true',
                       help='Quiet execution');

    (oConfig, asArgs) = oParser.parse_args()
    if not asArgs:
        if not oConfig.fQuiet:
            sys.stderr.write('syntax error: No builds binaries specified\n');
        return 1;


    oDb = TMDatabaseConnection()
    oLogic = BuildLogic(oDb)

    for sBuildBin in asArgs:
        try:
            cBuilds = oLogic.markDeletedByBinaries(sBuildBin, fCommit = True)
        except:
            if oConfig.fQuiet:
                sys.exit(1);
            raise;
        else:
            if not oConfig.fQuiet:
                print("del_build.py: Marked %u builds associated with '%s' as deleted." % (cBuilds, sBuildBin,));

    oDb.close()
    return 0;
Ejemplo n.º 3
0
 def __init__(self,
              aoEntries,
              iPage,
              cItemsPerPage,
              tsEffective,
              fnDPrint,
              oDisp,
              cDaysBack,
              aiSelectedSortColumns=None):
     WuiListContentBase.__init__(
         self,
         aoEntries,
         iPage,
         cItemsPerPage,
         tsEffective,
         'System Changelog',
         fnDPrint=fnDPrint,
         oDisp=oDisp,
         aiSelectedSortColumns=aiSelectedSortColumns)
     self._asColumnHeaders = ['When', 'User', 'Event', 'Details']
     self._asColumnAttribs = ['align="center"', 'align="center"', '', '']
     self._oBuildBlacklistLogic = BuildBlacklistLogic(oDisp.getDb())
     self._oBuildLogic = BuildLogic(oDisp.getDb())
     self._oBuildSourceLogic = BuildSourceLogic(oDisp.getDb())
     self._oFailureCategoryLogic = FailureCategoryLogic(oDisp.getDb())
     self._oFailureReasonLogic = FailureReasonLogic(oDisp.getDb())
     self._oGlobalResourceLogic = GlobalResourceLogic(oDisp.getDb())
     self._oSchedGroupLogic = SchedGroupLogic(oDisp.getDb())
     self._oTestBoxLogic = TestBoxLogic(oDisp.getDb())
     self._oTestCaseLogic = TestCaseLogic(oDisp.getDb())
     self._oTestGroupLogic = TestGroupLogic(oDisp.getDb())
     self._oUserAccountLogic = UserAccountLogic(oDisp.getDb())
     self._sPrevDate = ''
     _ = cDaysBack
Ejemplo n.º 4
0
    def checkBuilds(self):
        """
        Add build data record into database.
        """
        oDb = TMDatabaseConnection()
        oBuildLogic = BuildLogic(oDb)

        tsNow = oDb.getCurrentTimestamp()
        cMaxRows = 1024
        iStart = 0
        while True:
            aoBuilds = oBuildLogic.fetchForListing(iStart, cMaxRows, tsNow)
            if not self.oConfig.fQuiet and aoBuilds:
                print('Processing builds #%s thru #%s' %
                      (aoBuilds[0].idBuild, aoBuilds[-1].idBuild))

            for oBuild in aoBuilds:
                if oBuild.fBinariesDeleted is False:
                    rc = oBuild.areFilesStillThere()
                    if rc is False:
                        if not self.oConfig.fQuiet:
                            print(
                                'missing files for build #%s / r%s / %s / %s / %s / %s / %s'
                                % (
                                    oBuild.idBuild,
                                    oBuild.iRevision,
                                    oBuild.sVersion,
                                    oBuild.oCat.sType,
                                    oBuild.oCat.sBranch,
                                    oBuild.oCat.sProduct,
                                    oBuild.oCat.asOsArches,
                                ))
                            print('  %s' % (oBuild.sBinaries, ))
                        if self.oConfig.fRealRun is True:
                            oBuild.fBinariesDeleted = True
                            oBuildLogic.editEntry(oBuild, fCommit=True)
                    elif rc is True and not self.oConfig.fQuiet:
                        print('build #%s still have its files' %
                              (oBuild.idBuild, ))
                    elif rc is None and not self.oConfig.fQuiet:
                        print('Unable to determine state of build #%s' %
                              (oBuild.idBuild, ))

            # advance
            if len(aoBuilds) < cMaxRows:
                break
            iStart += len(aoBuilds)

        oDb.close()
        return 0