mirror of
https://github.com/house-of-vanity/conf_bot.git
synced 2025-07-06 22:34:07 +00:00
Update style. Improve language guessing.
This commit is contained in:
22
worker.py
22
worker.py
@ -15,6 +15,7 @@ import re
|
|||||||
from pygments import highlight
|
from pygments import highlight
|
||||||
from pygments.lexers import PythonLexer
|
from pygments.lexers import PythonLexer
|
||||||
from pygments.lexers import guess_lexer, get_lexer_by_name
|
from pygments.lexers import guess_lexer, get_lexer_by_name
|
||||||
|
from pygments.styles import get_style_by_name
|
||||||
from pygments.formatters import ImageFormatter
|
from pygments.formatters import ImageFormatter
|
||||||
|
|
||||||
class MessageWorker:
|
class MessageWorker:
|
||||||
@ -124,10 +125,23 @@ class MessageWorker:
|
|||||||
self.db.add_conf(conf_id, chat_title)
|
self.db.add_conf(conf_id, chat_title)
|
||||||
if len(msg['message']['text'][6:]) < 10000:
|
if len(msg['message']['text'][6:]) < 10000:
|
||||||
code = msg['message']['text'][6:]
|
code = msg['message']['text'][6:]
|
||||||
lexer_guess = guess_lexer(code)
|
code_tag = code[code.rfind('#')+1:]
|
||||||
if lexer_guess.name == 'Text only':
|
try:
|
||||||
lexer_guess = get_lexer_by_name('python')
|
lexer = get_lexer_by_name(code_tag)
|
||||||
highlight(code, lexer_guess, ImageFormatter(font_name='DejaVuSansMono'), outfile="code.png")
|
code = code[:code.rfind('#')]
|
||||||
|
print("Lexer is defined as %s" % lexer)
|
||||||
|
except:
|
||||||
|
lexer = guess_lexer(code)
|
||||||
|
print("lexer is %s" % lexer)
|
||||||
|
if lexer.name == 'Text only':
|
||||||
|
lexer = get_lexer_by_name('python')
|
||||||
|
highlight(code, lexer, ImageFormatter(
|
||||||
|
font_size=16,
|
||||||
|
line_number_bg="#242e0c",
|
||||||
|
line_number_fg="#faddf2",
|
||||||
|
line_number_bold=True,
|
||||||
|
font_name='DejaVuSansMono',
|
||||||
|
style=get_style_by_name('monokai')), outfile="code.png")
|
||||||
self.send_img(conf_id)
|
self.send_img(conf_id)
|
||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
|
Reference in New Issue
Block a user