mirror of
https://codeberg.org/cage/tinmop/
synced 2025-01-31 04:24:48 +01:00
- made clear source and license of the emojis;
- fixed docstring (thanks op!); - prevented a crash when refresh of chats hits a network error.
This commit is contained in:
parent
f0f682d271
commit
946ba4923e
53
LICENSES.org
53
LICENSES.org
@ -439,3 +439,56 @@
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
- src/emoji-matcher.lisp
|
||||
|
||||
Some code is a machine translation of tables (see the code for origin)
|
||||
with this license:
|
||||
|
||||
|
||||
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
|
||||
|
||||
See Terms of Use for definitions of Unicode Inc.'s
|
||||
Data Files and Software.
|
||||
|
||||
NOTICE TO USER: Carefully read the following legal agreement.
|
||||
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
|
||||
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
|
||||
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
||||
TERMS AND CONDITIONS OF THIS AGREEMENT.
|
||||
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
|
||||
THE DATA FILES OR SOFTWARE.
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright © 1991-2021 Unicode, Inc. All rights reserved.
|
||||
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Unicode data files and any associated documentation
|
||||
(the "Data Files") or Unicode software and any associated documentation
|
||||
(the "Software") to deal in the Data Files or Software
|
||||
without restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, and/or sell copies of
|
||||
the Data Files or Software, and to permit persons to whom the Data Files
|
||||
or Software are furnished to do so, provided that either
|
||||
(a) this copyright and permission notice appear with all copies
|
||||
of the Data Files or Software, or
|
||||
(b) this copyright and permission notice appear in associated
|
||||
Documentation.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
||||
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
||||
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in these Data Files or Software without prior
|
||||
written authorization of the copyright holder.
|
||||
|
@ -14,8 +14,7 @@
|
||||
(every #'char= a b))
|
||||
|
||||
(defun extract-codepoints (stream)
|
||||
"Extract shotcodes from the file:
|
||||
https://raw.githubusercontent.com/node-unicode/node-unicode-data/master/data/11.0.0-emoji.txt"
|
||||
"Extract shotcodes from the emoji table file"
|
||||
(flet ((readline ()
|
||||
(read-line stream nil nil)))
|
||||
(let ((res ()))
|
||||
@ -46,17 +45,12 @@
|
||||
(defmacro gen-matcher-sequences ()
|
||||
`(defun emoji-sequences-p (chars)
|
||||
(find-if (lambda (a) (match-codepoint-p chars a))
|
||||
',(extract-emojis-codepoints "https://raw.githubusercontent.com/node-unicode/node-unicode-data/master/data/13.0.0-emoji-sequences.txt"))))
|
||||
',(extract-emojis-codepoints "https://unicode.org/Public/emoji/13.1/emoji-sequences.txt"))))
|
||||
|
||||
(defmacro gen-matcher-zwj-sequences ()
|
||||
`(defun emoji-zwj-sequences-p (chars)
|
||||
(find-if (lambda (a) (match-codepoint-p chars a))
|
||||
',(extract-emojis-codepoints "https://raw.githubusercontent.com/node-unicode/node-unicode-data/master/data/13.0.0-emoji-zwj-sequences.txt"))))
|
||||
|
||||
(defmacro gen-matcher ()
|
||||
`(defun emoji-simple-p (chars)
|
||||
(find-if (lambda (a) (match-codepoint-p chars a))
|
||||
',(extract-emojis-codepoints "https://raw.githubusercontent.com/node-unicode/node-unicode-data/master/data/13.0.0-emoji.txt"))))
|
||||
',(extract-emojis-codepoints "https://unicode.org/Public/emoji/13.1/emoji-zwj-sequences.txt"))))
|
||||
|
||||
;;;; expansion of (gen-matcher-sequences)
|
||||
|
||||
|
@ -1359,20 +1359,22 @@
|
||||
(defmethod process-event ((object get-chats-event))
|
||||
(with-accessors ((chat-id chat-id)
|
||||
(min-message-id min-message-id)) object
|
||||
(let ((chats (api-pleroma:get-chats)))
|
||||
(dolist (chat chats)
|
||||
(db:update-db chat)))))
|
||||
(tui:with-notify-errors
|
||||
(let ((chats (api-pleroma:get-chats)))
|
||||
(dolist (chat chats)
|
||||
(db:update-db chat))))))
|
||||
|
||||
(defclass update-all-chat-messages-event (program-event) ())
|
||||
|
||||
(defmethod process-event ((object update-all-chat-messages-event))
|
||||
(let ((all-chats (db:all-chats)))
|
||||
(dolist (chat all-chats)
|
||||
(let* ((chat-id (db:row-id chat))
|
||||
(min-id (db:last-chat-message-id chat-id)))
|
||||
(process-event (make-instance 'program-events:get-chat-messages-event
|
||||
:chat-id chat-id
|
||||
:min-message-id min-id))))))
|
||||
(tui:with-notify-errors
|
||||
(let ((all-chats (db:all-chats)))
|
||||
(dolist (chat all-chats)
|
||||
(let* ((chat-id (db:row-id chat))
|
||||
(min-id (db:last-chat-message-id chat-id)))
|
||||
(process-event (make-instance 'program-events:get-chat-messages-event
|
||||
:chat-id chat-id
|
||||
:min-message-id min-id)))))))
|
||||
|
||||
(defclass chat-show-event (program-event)
|
||||
((chat
|
||||
|
Loading…
x
Reference in New Issue
Block a user