Пример #1
0
    async def _messageedit(self, sl_ev: slack.MessageEdit) -> None:
        if not sl_ev.is_changed:
            return
        try:
            yelldest = b'#' + (await self.sl_client.get_channel(sl_ev.channel)).name.encode('utf8')
        except KeyError:
            yelldest = b''
        source = (await self.sl_client.get_user(sl_ev.previous.user)).name.encode('utf8')
        previous = await self.parse_message(sl_ev.previous.text, source, yelldest)
        current = await self.parse_message(sl_ev.current.text, source, yelldest)

        diffmsg = slack.Message(
            text=seddiff(sl_ev.previous.text, sl_ev.current.text),
            channel=sl_ev.channel,
            user=sl_ev.previous.user,
            thread_ts=sl_ev.previous.thread_ts
        )

        await self._message(diffmsg)
Пример #2
0
 def diffmsg(self) -> Message:
     m = dump(self.current)
     m['text'] = seddiff(self.previous.text, self.current.text)
     return load(m, Message)
Пример #3
0
 def diffmsg(self) -> Message:
     return Message(
         text=seddiff(self.previous.text, self.current.text),
         channel=self.channel,
         user=self.current.user,
     )
Пример #4
0
 def test_partials(self):
     assert seddiff('vado a dormire al mare',
                    'vado a nuotare al mare') == 's/dormire/nuotare/'
     assert seddiff('ciae a tutti', 'ciao a tutti') == 's/ciae/ciao/'
     assert seddiff('ciae å tutti', 'ciao a tutti') == 's/ciae å/ciao a/'
Пример #5
0
 def test_full_replace(self):
     assert seddiff('vado al mare',
                    'dormo la sera') == 's/vado al mare/dormo la sera/'
     assert seddiff('ciae å tuttï',
                    'ciao a tutti') == 's/ciae å tuttï/ciao a tutti/'
Пример #6
0
 def test_no_diff(self):
     assert seddiff('ciao', 'ciao') == ''
     assert seddiff('', '') == ''
     assert seddiff('la la', 'la la') == ''
Пример #7
0
 def test_no_crash(self):
     seddiff('', 'lalala')
     seddiff('lalala', 'lalala')
     seddiff('lalala', '')
     seddiff('lalala', 'lalala allelolela')
     seddiff('lalala allelolela', 'allelolela')
     seddiff('lalala allelolela', 'lalala')
Пример #8
0
 def test_append(self):
     assert seddiff('XYZ', 'XYZ (meaning "bla bla bla")') == 's/$/(meaning "bla bla bla")/'
Пример #9
0
 def test_insertion(self):
     assert seddiff('il numero dei fili', 'il numero massimo dei fili') == 's/numero dei/numero massimo dei/'
     assert seddiff('mangio del formaggio e pere', 'mangio del formaggio con le pere') == 's/formaggio e pere/formaggio con le pere/'
     assert seddiff('mangio del formaggio e pere per cena', 'mangio del formaggio con le pere per cena') == 's/formaggio e pere/formaggio con le pere/'
     assert seddiff('mare blu', 'il mare blu') == 's/mare/il mare/'
     assert seddiff('mare, blu', 'il mare, blu') == 's/mare/il mare/'