Compare commits

...

2 Commits

6 changed files with 22 additions and 2 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@ __pycache__/
.*.swp .*.swp
config.json config.json
venv/ venv/
*.log
filter.txt

3
crontab.example Normal file
View File

@ -0,0 +1,3 @@
@reboot $HOME/amber-ebooks/reply.py >> $HOME/reply.log 2>>$HOME/reply.log #keep the reply process running in the background
*/20 * * * * $HOME/amber-ebooks/gen.py >> $HOME/gen.log 2>>$HOME/gen.log #post every twenty minutes
*/15 * * * * $HOME/amber-ebooks/main.py >> $HOME/main.log 2>>$HOME/main.log #refresh the database every 15 minutes

5
filter.txt.example Normal file
View File

@ -0,0 +1,5 @@
put
bad
words
in
filter.txt

View File

@ -56,6 +56,15 @@ def make_sentence(output, cfg):
elif cfg['mention_handling'] == 0: elif cfg['mention_handling'] == 0:
sentence = re.sub(r"\S*@\u200B\S*\s?", "", sentence) sentence = re.sub(r"\S*@\u200B\S*\s?", "", sentence)
# optionally remove filtered words
if cfg['word_filter'] == 1:
try:
fp = open('./filter.txt')
for word in fp:
if word in sentence:
sentence = sentence.replace(word, "[REDACTED]")
finally:
fp.close()
output.send(sentence) output.send(sentence)
@ -64,7 +73,7 @@ def make_toot(cfg):
pin, pout = multiprocessing.Pipe(False) pin, pout = multiprocessing.Pipe(False)
p = multiprocessing.Process(target=make_sentence, args=[pout, cfg]) p = multiprocessing.Process(target=make_sentence, args=[pout, cfg])
p.start() p.start()
p.join(300) # wait 5 seconds to get something p.join(5) # wait 5 seconds to get something
if p.is_alive(): # if it's still trying to make a toot after 5 seconds if p.is_alive(): # if it's still trying to make a toot after 5 seconds
p.terminate() p.terminate()
p.join() p.join()

View File

@ -30,7 +30,8 @@ cfg = {
"length_lower_limit": 5, "length_lower_limit": 5,
"length_upper_limit": 50, "length_upper_limit": 50,
"overlap_ratio_enabled": False, "overlap_ratio_enabled": False,
"overlap_ratio": 0.7 "overlap_ratio": 0.7,
"word_filter": 0
} }
try: try:

0
usage Normal file
View File