src/pyams_thesaurus/term.py
changeset 87 dfe19304d980
parent 0 47700a43ef3f
child 93 221e8b0721f7
equal deleted inserted replaced
86:04f176e237cc 87:dfe19304d980
    66     label = FieldProperty(IThesaurusTerm['label'])
    66     label = FieldProperty(IThesaurusTerm['label'])
    67     alt = FieldProperty(IThesaurusTerm['alt'])
    67     alt = FieldProperty(IThesaurusTerm['alt'])
    68     definition = FieldProperty(IThesaurusTerm['definition'])
    68     definition = FieldProperty(IThesaurusTerm['definition'])
    69     note = FieldProperty(IThesaurusTerm['note'])
    69     note = FieldProperty(IThesaurusTerm['note'])
    70     _generic = FieldProperty(IThesaurusTerm['generic'])
    70     _generic = FieldProperty(IThesaurusTerm['generic'])
       
    71     order = FieldProperty(IThesaurusTerm['order'])
    71     _specifics = FieldProperty(IThesaurusTerm['specifics'])
    72     _specifics = FieldProperty(IThesaurusTerm['specifics'])
    72     _associations = FieldProperty(IThesaurusTerm['associations'])
    73     _associations = FieldProperty(IThesaurusTerm['associations'])
    73     _usage = FieldProperty(IThesaurusTerm['usage'])
    74     _usage = FieldProperty(IThesaurusTerm['usage'])
    74     _used_for = FieldProperty(IThesaurusTerm['used_for'])
    75     _used_for = FieldProperty(IThesaurusTerm['used_for'])
    75     _extracts = FieldProperty(IThesaurusTerm['extracts'])
    76     _extracts = FieldProperty(IThesaurusTerm['extracts'])
   131         if value is not None:
   132         if value is not None:
   132             self.extracts = self.extracts & value.extracts
   133             self.extracts = self.extracts & value.extracts
   133 
   134 
   134     @property
   135     @property
   135     def specifics(self):
   136     def specifics(self):
   136         return self._specifics
   137         return sorted(self._specifics,
       
   138                       key=lambda x: (x.order or 999, x.label))
   137 
   139 
   138     @specifics.setter
   140     @specifics.setter
   139     def specifics(self, value):
   141     def specifics(self, value):
   140         self._specifics = [term for term in value or ()]
   142         self._specifics = [term for term in value or ()]
   141 
   143