Exemplo n.º 1
0
    def compatibleWithBase(self, base):
        messagenames = (ImmutableSet(self.messages.keys())
                        | ImmutableSet(base.messages.keys()))

        compatibility = Same()
        for name in messagenames:
            selfmessage = self.messages.get(name, None)
            basemessage = base.messages.get(name, None)

            if not selfmessage:
                c = Older("missing message %s, did you mean to deprecate?" %
                          name)
            elif not basemessage:
                c = Newer("added message %s" % name)
            else:
                c = selfmessage.compatibleWithBase(basemessage)
                c.prefix("in message %s: " % name)

            compatibility = compatibility.combine(c)

        return compatibility
Exemplo n.º 2
0
 def compatibleWithBase(self, base):
     messagenames = (
           frozenset(self.messages.keys())
         | frozenset(base.messages.keys())
         )
         
     compatibility = Same()
     for name in messagenames:
         selfmessage = self.messages.get(name, None)
         basemessage = base.messages.get(name, None)
         
         if not selfmessage:
             c = Older("missing message %s, did you mean to deprecate?" % name)
         elif not basemessage:
             c = Newer("added message %s" % name)
         else:
             c = selfmessage.compatibleWithBase(basemessage)
             c.prefix("in message %s: " % name)
         
         compatibility = compatibility.combine(c)
     
     return compatibility