ulaval-ppr-principes-fair/extract_emojis.py

55 lines
1.5 KiB
Python
Raw Normal View History

2023-11-28 03:56:57 +00:00
"""
Fabrique à documents
Copyright (C) 2023 François Pelletier
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
import emoji
import sys
def replace_emojis(input_text):
'''
Replaces emojis in text with a custom LaTeX sequence.
:param input_text:
:return:
'''
for char in input_text:
if emoji.is_emoji(char):
input_text = input_text.replace(char, f"\\emoji{{{char}}}")
return input_text
def main():
if len(sys.argv) > 1:
try:
f = open(sys.argv[1], 'r')
except IOError:
print >> sys.stderr, 'Error opening %s\n' % sys.argv[1]
sys.exit(1)
else:
f = sys.stdin
file_lines = f.read()
# Apply replace_emojis function
processed_text = replace_emojis(file_lines)
# Print the result to standard output
print(processed_text)
if __name__ == "__main__":
main()