1   
  2   
  3   
  4   
  5   
  6   
  7   
  8   
  9   
 10   
 11   
 12   
 13   
 14   
 15   
 16   
 17   
 18   
 19   
 20   
 21   
 22   
 23  """The software saveframe category. 
 24   
 25  For example, see http://www.bmrb.wisc.edu/dictionary/3.1html_frame/frame_SaveFramePage.html#software 
 26  """ 
 27   
 28   
 29  from bmrblib.base_classes import BaseSaveframe, TagCategory, TagCategoryFree 
 30   
 31   
 33      """The software saveframe class.""" 
 34   
 35       
 36      sf_label = 'software' 
 37   
 46   
 47   
 49          """Create a special software saveframe title. 
 50   
 51          @return:    The title. 
 52          @rtype:     str 
 53          """ 
 54   
 55          return self.name.lower() + '_' + self.sf_label + '_' + self.count_str 
   56   
 57   
 59      """Base class for the Software tag category.""" 
 60   
 62          """Setup the Software tag category. 
 63   
 64          @param sf:  The saveframe object. 
 65          @type sf:   saveframe instance 
 66          """ 
 67   
 68           
 69          super(Software, self).__init__(sf) 
 70   
 71           
 72          self.add(key='SoftwareID',  tag_name='ID',      var_name='count_str') 
 73          self.add(key='Name',        tag_name='Name',    var_name='name') 
 74          self.add(key='Version',     tag_name='Version', var_name='version') 
   75   
 76   
 77   
 79      """Base class for the SoftwareCitation tag category.""" 
 80   
 81   
 83          """Setup the SoftwareCitation tag category. 
 84   
 85          @param sf:  The saveframe object. 
 86          @type sf:   saveframe instance 
 87          """ 
 88   
 89           
 90          super(SoftwareCitation, self).__init__(sf) 
 91   
 92           
 93          self.add(key='CitationID',  tag_name='Citation_ID', var_name='cite_ids') 
 94          self.add(key='SoftwareID',  tag_name='Software_ID', var_name='count_str') 
   95   
 96   
 97   
 98 -class Task(TagCategory): 
  99      """Base class for the Task tag category.""" 
100   
102          """Setup the Task tag category. 
103   
104          @param sf:  The saveframe object. 
105          @type sf:   saveframe instance 
106          """ 
107   
108           
109          super(Task, self).__init__(sf) 
110   
111           
112          self.add(key='Task',        tag_name='Task',        var_name='task') 
113          self.add(key='SoftwareID',  tag_name='Software_ID', var_name='count_str') 
  114   
115   
116   
118      """Base class for the Vendor tag category.""" 
119   
121          """Setup the Vendor tag category. 
122   
123          @param sf:  The saveframe object. 
124          @type sf:   saveframe instance 
125          """ 
126   
127           
128          super(Vendor, self).__init__(sf) 
129   
130           
131          self.add(key='Name',                tag_name='Name',                var_name='vendor_name') 
132          self.add(key='Address',             tag_name='Address',             var_name='vendor_address') 
133          self.add(key='ElectronicAddress',   tag_name='Electronic_address',  var_name='vendor_eaddress') 
134          self.add(key='SoftwareID',          tag_name='SoftwareID',          var_name='count_str') 
  135