def __generateRSTFile(releaseData, rstFileName, pkgVersion, singleVersion): """create the rst file from the release.notes """ rstData = [] parsedPkgVersion = Distribution.parseVersionString( pkgVersion) if pkgVersion is not None else (99, 99, 99, 99) for version, verData in releaseData: if singleVersion and version != pkgVersion and pkgVersion is not None: continue if Distribution.parseVersionString(version) > parsedPkgVersion: continue versionLine = "Version %s" % version rstData.append("") rstData.append("=" * len(versionLine)) rstData.append(versionLine) rstData.append("=" * len(versionLine)) rstData.append("") if verData['comment']: rstData.append("\n".join(verData['comment'])) rstData.append("") for feature, featureData in verData['features']: if not featureData: continue rstData.append(feature) rstData.append("=" * len(feature)) rstData.append("") for key in sorted(featureData): rstData.append(key.capitalize()) rstData.append(":" * (len(key) + 5)) rstData.append("") for entry in featureData[key]: rstData.append(" - %s" % entry) rstData.append("") if pkgVersion is None and singleVersion: print "Just taking the first entry in releaseNotes" break #Write releasenotes.rst try: rstFilePath = os.path.join(os.getcwd(), "source", rstFileName) fd = open(rstFilePath, "w") fd.write("\n".join(rstData)) fd.close() except (OSError, IOError) as excp: return S_ERROR("Could not write %s: %s" % (rstFileName, excp)) return S_OK()
def __generateRSTFile( releaseData, rstFileName, pkgVersion, singleVersion ): """create the rst file from the release.notes """ rstData = [] parsedPkgVersion = Distribution.parseVersionString( pkgVersion ) if pkgVersion is not None else (99, 99, 99, 99) for version, verData in releaseData: if singleVersion and version != pkgVersion and pkgVersion is not None: continue if Distribution.parseVersionString( version ) > parsedPkgVersion: continue versionLine = "Version %s" % version rstData.append( "" ) rstData.append( "=" * len( versionLine ) ) rstData.append( versionLine ) rstData.append( "=" * len( versionLine ) ) rstData.append( "" ) if verData[ 'comment' ]: rstData.append( "\n".join( verData[ 'comment' ] ) ) rstData.append( "" ) for feature, featureData in verData[ 'features' ]: if not featureData: continue rstData.append( feature ) rstData.append( "=" * len( feature ) ) rstData.append( "" ) for key in sorted( featureData ): rstData.append( key.capitalize() ) rstData.append( ":" * ( len( key ) + 5 ) ) rstData.append( "" ) for entry in featureData[ key ]: rstData.append( " - %s" % entry ) rstData.append( "" ) if pkgVersion is None and singleVersion: print("Just taking the first entry in releaseNotes") break #Write releasenotes.rst try: rstFilePath = os.path.join( os.getcwd(), "source", rstFileName ) fd = open( rstFilePath, "w" ) fd.write( "\n".join( rstData ) ) fd.close() except (OSError,IOError) as excp: return S_ERROR( "Could not write %s: %s" % ( rstFileName, excp ) ) return S_OK()
def __generateRSTFile(self, releaseData, rstFileName, pkgVersion, singleVersion): rstData = [] parsedPkgVersion = Distribution.parseVersionString(pkgVersion) for version, verData in releaseData: if singleVersion and version != pkgVersion: continue if Distribution.parseVersionString(version) > parsedPkgVersion: continue versionLine = "Version %s" % version rstData.append("") rstData.append("=" * len(versionLine)) rstData.append(versionLine) rstData.append("=" * len(versionLine)) rstData.append("") if verData['comment']: rstData.append("\n".join(verData['comment'])) rstData.append("") for feature, featureData in verData['features']: if not featureData: continue rstData.append(feature) rstData.append("=" * len(feature)) rstData.append("") for key in sorted(featureData): rstData.append(key.capitalize()) rstData.append(":" * (len(key) + 5)) rstData.append("") for entry in featureData[key]: rstData.append(" - %s" % entry) rstData.append("") # Write releasenotes.rst try: rstFilePath = os.path.join(self.params.destination, self.params.name, rstFileName) with open(rstFilePath, "w") as fd: fd.write("\n".join(rstData)) except Exception as excp: return S_ERROR("Could not write %s: %s" % (rstFileName, excp)) return S_OK()
def __generateRSTFile( self, releaseData, rstFileName, pkgVersion, singleVersion ): rstData = [] parsedPkgVersion = Distribution.parseVersionString( pkgVersion ) for version, verData in releaseData: if singleVersion and version != pkgVersion: continue if Distribution.parseVersionString( version ) > parsedPkgVersion: continue versionLine = "Version %s" % version rstData.append( "" ) rstData.append( "=" * len( versionLine ) ) rstData.append( versionLine ) rstData.append( "=" * len( versionLine ) ) rstData.append( "" ) if verData[ 'comment' ]: rstData.append( "\n".join( verData[ 'comment' ] ) ) rstData.append( "" ) for feature, featureData in verData[ 'features' ]: if not featureData: continue rstData.append( feature ) rstData.append( "=" * len( feature ) ) rstData.append( "" ) for key in sorted( featureData ): rstData.append( key.capitalize() ) rstData.append( ":" * ( len( key ) + 5 ) ) rstData.append( "" ) for entry in featureData[ key ]: rstData.append( " - %s" % entry ) rstData.append( "" ) #Write releasenotes.rst try: rstFilePath = os.path.join( self.params.destination, self.params.name, rstFileName ) fd = open( rstFilePath, "w" ) fd.write( "\n".join( rstData ) ) fd.close() except Exception, excp: return S_ERROR( "Could not write %s: %s" % ( rstFileName, excp ) )
Script.parseCommandLine( ignoreErrors = False ) gLogger.notice( 'Executing: %s ' % ( ' '.join( sys.argv ) ) ) if not svnVersion: gLogger.error( "Need to specify only one version from which to spawn the branch" ) Script.showHelp() sys.exit( 1 ) if not branchPrefix: gLogger.error( "No branch type/name defined!" ) sys.exit( 1 ) if not branchName: vTuple = Distribution.parseVersionString( svnVersion ) if not vTuple: gLogger.error( "%s is not a valid version" % svnVersion ) sys.exit( 1 ) branchName = "v%d" % vTuple[0] if vTuple[1]: branchName += "r%d" % vTuple[1] #Get username if not svnUsername: svnUsername = getpass.getuser() gLogger.notice( "Using %s as username" % svnUsername ) #Start the magic! for svnPackage in List.fromChar( svnPackages ):
Script.parseCommandLine(ignoreErrors=False) gLogger.notice('Executing: %s ' % (' '.join(sys.argv))) if not svnVersion: gLogger.error( "Need to specify only one version from which to spawn the branch") Script.showHelp() sys.exit(1) if not branchPrefix: gLogger.error("No branch type/name defined!") sys.exit(1) if not branchName: vTuple = Distribution.parseVersionString(svnVersion) if not vTuple: gLogger.error("%s is not a valid version" % svnVersion) sys.exit(1) branchName = "v%d" % vTuple[0] if vTuple[1]: branchName += "r%d" % vTuple[1] #Get username if not svnUsername: svnUsername = getpass.getuser() gLogger.notice("Using %s as username" % svnUsername) #Start the magic! for svnPackage in List.fromChar(svnPackages):