From 356bbbc5c96ae14544da842e7b55571827557805 Mon Sep 17 00:00:00 2001 From: Vivek Santayana Date: Fri, 6 Aug 2021 10:06:19 +0100 Subject: [PATCH] Re-based to Slim, reduced NTLK corpus dependencies Image now has a much smaller footprint of ca 300 MB rather than 9 GB --- .gitignore | 4 ++++ interaction/Dockerfile | 4 ++-- interaction/last_seen.txt | 1 - interaction/script.py | 10 +++++++--- posting/Dockerfile | 6 +++--- posting/post_log.txt | 1 - posting/script.py | 6 +++--- 7 files changed, 19 insertions(+), 13 deletions(-) delete mode 100644 interaction/last_seen.txt delete mode 100644 posting/post_log.txt diff --git a/.gitignore b/.gitignore index 2f012fc..09689e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# Log Files +interaction/last_seen.txt +posting/post_log.txt + # ---> VSCode .vscode/ diff --git a/interaction/Dockerfile b/interaction/Dockerfile index 3e8d9b1..e4cbca8 100644 --- a/interaction/Dockerfile +++ b/interaction/Dockerfile @@ -1,6 +1,6 @@ FROM python:slim COPY . /usr/src/app WORKDIR /usr/src/app -RUN pip install --upgrade pip -RUN pip install -r requirements.txt +RUN pip install --upgrade pip && pip install -r requirements.txt && \ + apt-get autoremove -y CMD python3 -u ./script.py \ No newline at end of file diff --git a/interaction/last_seen.txt b/interaction/last_seen.txt deleted file mode 100644 index 788201e..0000000 --- a/interaction/last_seen.txt +++ /dev/null @@ -1 +0,0 @@ -1368349440298409985 \ No newline at end of file diff --git a/interaction/script.py b/interaction/script.py index 03156d0..23496ce 100644 --- a/interaction/script.py +++ b/interaction/script.py @@ -14,7 +14,10 @@ auth = tweepy.OAuthHandler(os.getenv('API_TOKEN'), os.getenv('API_KEY_SECRET'), auth.set_access_token(os.getenv('ACCESS_TOKEN'), os.getenv('ACCESS_TOKEN_SECRET')) api = tweepy.API(auth) -lastSeenFile = '/usr/src/app/last_seen.txt' +lastSeenFile = 'last_seen.txt' +if not os.path.isfile(lastSeenFile): + with open(lastSeenFile, 'w+') as fileWrite: + fileWrite.write(str(0)) def getLastSeen(filename): with open(filename, 'r') as fileRead: @@ -41,10 +44,11 @@ def interactions(): if re.search('what is.*if not.*persevering',tweet.text.lower()): if not tweet.text.lower().startswith('rt') and tweet.user != api.me(): print(f'Tweet {tweet.text} by @{tweet.author.screen_name}', flush = True) - if not tweet.favorited: + t = api.get_status(tweet.id) + if not t.favorited: print('Not favourited.') api.create_favorite(tweet.id) - if not tweet.retweeted: + if not t.retweeted: print('Not retweeted.') api.retweet(tweet.id) storeLastSeen(lastSeenFile, tweet.id) diff --git a/posting/Dockerfile b/posting/Dockerfile index 0755b3e..941f7ca 100644 --- a/posting/Dockerfile +++ b/posting/Dockerfile @@ -1,7 +1,7 @@ FROM python:slim COPY . /usr/src/app WORKDIR /usr/src/app -RUN pip install --upgrade pip -RUN pip install -r requirements.txt -RUN python -m nltk.downloader all +RUN pip install --upgrade pip && pip install -r requirements.txt && \ + apt-get autoremove -y +RUN python -m nltk.downloader wordnet CMD python3 -u ./script.py \ No newline at end of file diff --git a/posting/post_log.txt b/posting/post_log.txt deleted file mode 100644 index 01a8142..0000000 --- a/posting/post_log.txt +++ /dev/null @@ -1 +0,0 @@ -2021-03-19-00:28:14: What is artificial intelligence, if not mucopolysaccharidosis persevering? diff --git a/posting/script.py b/posting/script.py index f0c9715..9ff3858 100644 --- a/posting/script.py +++ b/posting/script.py @@ -17,7 +17,7 @@ auth.set_access_token(os.getenv('ACCESS_TOKEN'), os.getenv('ACCESS_TOKEN_SECRET' api = tweepy.API(auth) def generate_words(): - syllables = random.randint(1,sum(1 for file in os.listdir('/usr/src/app/lists'))) + syllables = random.randint(1,sum(1 for file in os.listdir('lists'))) w1 = get_word(syllables) w2 = get_word(syllables) w1_synset = wn.synsets(w1.replace(' ', '_'))[0] @@ -31,7 +31,7 @@ def generate_words(): def get_word(syl): fileName = f'{syl}_syllable.txt' - with open(f'/usr/src/app/lists/{fileName}', 'r') as wordList: + with open(f'lists/{fileName}', 'r') as wordList: l = sum(1 for line in wordList) - 1 c = random.randint(0,l) wordList.seek(0) @@ -49,7 +49,7 @@ def posting(): output = f'What is {words[0]} if not {words[1]} persevering?' print(output) api.update_status(output) - with open('/usr/src/app/post_log.txt', 'a') as logFile: + with open('post_log.txt', 'a+') as logFile: logFile.write(f'{datetime.now().strftime("%Y-%m-%d-%X")}: {output}\n') now = datetime.now()