| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DybPython::dbsvn::Msg Class Reference

Collaboration diagram for DybPython::dbsvn::Msg:
[legend]
List of all members.

Public Member Functions

def validate_annotation_xref
def __init__
def __repr__

Public Attributes

 msg

Static Public Attributes

string baseurl = "http://dayabay.ihep.ac.cn/svn/dybsvn"
string tracurl = "http://dayabay.ihep.ac.cn/tracs/dybsvn"
tuple logurl = property(lambda self:os.path.join(self.tracurl,"log", self['path'] ))

Static Private Attributes

tuple _ptn = re.compile("(?P<link>dybsvn:source:(?P<path>dybgaudi/trunk/(?P<relpath>\S*))\@(?P<rev>\d*))\s*")

Detailed Description

A valid DBI update commit message contains a link of the form::

    dybsvn:source:dybgaudi/trunk/Database/DybDbiTest/tests/README@9716 

The link provides crucial association between a DB update 
and the package and revision of the code used in the preparation 
and invokation of the update.

Dummy links will be denied, a real path that was modified at the specified 
revision is required.

Definition at line 204 of file dbsvn.py.


Member Function Documentation

def DybPython::dbsvn::Msg::validate_annotation_xref (   self,
  refpath 
)

Check that the annotation link points to a valid changed annotation file in xref repository  

Definition at line 211 of file dbsvn.py.

00218                  ://dayabay.ihep.ac.cn/svn/dybsvn"
00219     tracurl="http://dayabay.ihep.ac.cn/tracs/dybsvn"
00220     _ptn = re.compile("(?P<link>dybsvn:source:(?P<path>dybgaudi/trunk/(?P<relpath>\S*))\@(?P<rev>\d*))\s*")
00221     logurl = property(lambda self:os.path.join(self.tracurl,"log", self['path'] ))
00222 
00223     def validate_annotation_xref( self, refpath ):
00224         """ 
00225         Check that the annotation link points to a valid changed annotation file in xref repository  
00226         """
00227         revision = self.get('rev', None)
00228         path     = self.get('path', None)
00229         assert revision and path , "failed to find annotation link path and revision in commit message "
00230 
00231         if refpath.startswith("http:"):
00232             xmd = SVN( path=refpath , revision=revision )         
00233         elif os.path.exists(refpath):

def DybPython::dbsvn::Msg::__init__ (   self,
  msg 
)

Definition at line 234 of file dbsvn.py.

00235             :
00236             assert 0, "refpath is invalid %s " % refpath
00237         changed = xmd.changed
00238 
00239         errmsg = lambda:"\n".join([
00240                     "INVALID COMMIT MESSAGE",
                    "referenced repository path \"%s\" was not touched by revision \"%s\"" % ( path, revision) , 

def DybPython::dbsvn::Msg::__repr__ (   self  ) 

Definition at line 241 of file dbsvn.py.

00246                             :
        dict.__init__(self)


Member Data Documentation

string DybPython::dbsvn::Msg::baseurl = "http://dayabay.ihep.ac.cn/svn/dybsvn" [static]

Definition at line 206 of file dbsvn.py.

string DybPython::dbsvn::Msg::tracurl = "http://dayabay.ihep.ac.cn/tracs/dybsvn" [static]

Definition at line 207 of file dbsvn.py.

tuple DybPython::dbsvn::Msg::_ptn = re.compile("(?P<link>dybsvn:source:(?P<path>dybgaudi/trunk/(?P<relpath>\S*))\@(?P<rev>\d*))\s*") [static, private]

Definition at line 208 of file dbsvn.py.

tuple DybPython::dbsvn::Msg::logurl = property(lambda self:os.path.join(self.tracurl,"log", self['path'] )) [static]

Definition at line 209 of file dbsvn.py.

DybPython::dbsvn::Msg::msg

Definition at line 236 of file dbsvn.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:13:02 2011 for DybPython by doxygen 1.4.7