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()
示例#2
0
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()
示例#3
0
 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 ):
示例#6
0
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):