aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Derek Fitzpatrick <[email protected]>2018-10-11 14:18:13 -0700
committerGravatar Derek Fitzpatrick <[email protected]>2018-10-11 14:18:13 -0700
commit8b2fa26a065b18cb9c4aa441eb1b6e360594a462 (patch)
tree9a949b5b5e4389d896ecb87c8b94e255d5553cda
parentInitial commit. (diff)
parentRemove extra params to pepper (diff)
Merge branch 'deploy' of https://github.com/dfitzpatrick/hacktoberbot into 31-vote-for-favorite-monster
# Conflicts: # Pipfile
-rw-r--r--.travis.yml17
-rw-r--r--Pipfile2
-rw-r--r--bot/__init__.py5
-rw-r--r--bot/__main__.py (renamed from bot/bot.py)9
-rw-r--r--bot/cogs/hacktoberstats.py4
-rw-r--r--bot/cogs/halloweenify.py2
-rw-r--r--bot/cogs/movie.py8
-rw-r--r--bot/resources/monstersurvey/monstersurvey.json (renamed from bot/resources/monstersurvey.json)5
-rw-r--r--docker/Dockerfile15
-rwxr-xr-xdocker/build.sh21
-rw-r--r--docker/docker-compose.yml11
-rw-r--r--tox.ini2
12 files changed, 86 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..6f204bdb
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,17 @@
+language: python
+
+python:
+ - "3.7-dev"
+
+sudo: required
+
+services:
+ - docker
+
+install:
+ - pip install flake8 pipenv salt-pepper
+ - pipenv install --deploy
+
+script:
+ - pipenv run lint
+ - sh docker/build.sh
diff --git a/Pipfile b/Pipfile
index 453df43a..a702616f 100644
--- a/Pipfile
+++ b/Pipfile
@@ -5,7 +5,6 @@ name = "pypi"
[packages]
"discord.py" = {ref = "rewrite", git = "https://github.com/Rapptz/discord.py"}
-requests = "*"
[dev-packages]
"flake8" = "*"
@@ -20,3 +19,4 @@ python_version = "3.7"
[scripts]
start = "python -m bot"
+lint = "flake8 bot"
diff --git a/bot/__init__.py b/bot/__init__.py
index 8cbcd121..1d320245 100644
--- a/bot/__init__.py
+++ b/bot/__init__.py
@@ -1,5 +1,6 @@
-import os
import logging.handlers
+import os
+
# set up logging
@@ -27,4 +28,4 @@ logging.basicConfig(format='%(asctime)s - %(name)s %(levelname)s: %(message)s',
level=logging.DEBUG,
handlers=[console_handler, file_handler])
-logging.info('Logging Process Started') \ No newline at end of file
+logging.info('Logging Process Started')
diff --git a/bot/bot.py b/bot/__main__.py
index a40ed0d4..c40836c5 100644
--- a/bot/bot.py
+++ b/bot/__main__.py
@@ -1,10 +1,10 @@
+import logging
from os import environ
from pathlib import Path
-from sys import stderr
-from traceback import print_exc, format_exc
+from traceback import format_exc
from discord.ext import commands
-import logging
+
HACKTOBERBOT_TOKEN = environ.get('HACKTOBERBOT_TOKEN')
@@ -19,7 +19,6 @@ bot = commands.Bot(command_prefix=commands.when_mentioned_or(".", f"{ghost_unico
logging.info('Start loading extensions from ./cogs/')
-
if __name__ == '__main__':
# Scan for files in the /cogs/ directory and make a list of the file names.
cogs = [file.stem for file in Path('cogs').glob('*.py')]
@@ -36,4 +35,4 @@ logging.info(f'Spooky Launch Sequence Initiated...')
bot.run(HACKTOBERBOT_TOKEN)
-logging.info(f'HackBot has been slain!') \ No newline at end of file
+logging.info(f'HackBot has been slain!')
diff --git a/bot/cogs/hacktoberstats.py b/bot/cogs/hacktoberstats.py
index 4e896ae9..0a280443 100644
--- a/bot/cogs/hacktoberstats.py
+++ b/bot/cogs/hacktoberstats.py
@@ -95,7 +95,9 @@ class Stats:
is_query = f"public+author:{username}"
date_range = "2018-10-01..2018-10-31"
per_page = "300"
- query_url = f"{base_url}-label:{not_label}+type:{action_type}+is:{is_query}+created:{date_range}&per_page={per_page}"
+ query_url = (
+ f"{base_url}-label:{not_label}+type:{action_type}+is:{is_query}+created:{date_range}&per_page={per_page}"
+ )
headers = {"user-agent": "Discord Python Hactoberbot"}
async with aiohttp.ClientSession() as session:
diff --git a/bot/cogs/halloweenify.py b/bot/cogs/halloweenify.py
index 8a9db3df..201f6b95 100644
--- a/bot/cogs/halloweenify.py
+++ b/bot/cogs/halloweenify.py
@@ -1,5 +1,5 @@
-from pathlib import Path
from json import load
+from pathlib import Path
from random import choice
diff --git a/bot/cogs/movie.py b/bot/cogs/movie.py
index bb6f8df8..647ee22a 100644
--- a/bot/cogs/movie.py
+++ b/bot/cogs/movie.py
@@ -1,8 +1,10 @@
-import requests
import random
from os import environ
-from discord.ext import commands
+
+import requests
from discord import Embed
+from discord.ext import commands
+
TMDB_API_KEY = environ.get('TMDB_API_KEY')
TMDB_TOKEN = environ.get('TMDB_TOKEN')
@@ -72,7 +74,7 @@ class Movie:
rating_count = movie.get('vote_average') / 2
rating = ''
- for i in range(int(rating_count)):
+ for _ in range(int(rating_count)):
rating += ':skull:'
if (rating_count % 1) >= .5:
diff --git a/bot/resources/monstersurvey.json b/bot/resources/monstersurvey/monstersurvey.json
index 7a8c2043..7e923dcc 100644
--- a/bot/resources/monstersurvey.json
+++ b/bot/resources/monstersurvey/monstersurvey.json
@@ -1,5 +1,8 @@
{
"Frankenstein's Monster": {
"votes": []
- }
+ },
+ "Count Dracula": {
+ "votes": []
+ }
}
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 00000000..9c4406bf
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,15 @@
+FROM python:3.6-alpine3.7
+RUN apk add --update tini git
+
+RUN mkdir /bot
+COPY . /bot
+WORKDIR /bot
+
+ENV LIBRARY_PATH=/lib:/usr/lib
+
+RUN pip install pipenv
+RUN pipenv install --deploy --system
+
+ENTRYPOINT ["/sbin/tini", "--"]
+CMD ["python", "-m", "bot"]
+
diff --git a/docker/build.sh b/docker/build.sh
new file mode 100755
index 00000000..289f54e2
--- /dev/null
+++ b/docker/build.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Build and deploy on master branch
+#if [[ $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' ]]; then
+ echo "Connecting to docker hub"
+ echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
+
+ echo "Building image"
+ docker build -t pythondiscord/hacktober-bot:latest -f docker/Dockerfile .
+
+ echo "Pushing image"
+ docker push pythondiscord/hacktober-bot:latest
+
+ echo "Deploying on server"
+ pepper ${SALTAPI_TARGET} state.apply docker/hacktoberbot --out=no_out --non-interactive
+
+# echo "Deploying container"
+# curl -H "token: $AUTODEPLOY_TOKEN" $AUTODEPLOY_WEBHOOK
+#else
+# echo "Skipping deploy"
+#fi
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 00000000..0a802ddc
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,11 @@
+version: "3"
+services:
+ dumbo:
+ image: pythondiscord/hacktober-bot:latest
+ container_name: hacktoberbot
+
+ restart: always
+
+ environment:
+ - HACKTOBERBOT_TOKEN
+
diff --git a/tox.ini b/tox.ini
index 780c31d7..bff048cb 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[flake8]
max-line-length=120
-application_import_names=proj
+application_import_names=bot
ignore=P102,B311,W503,E226,S311
exclude=__pycache__, venv, .venv, tests
import-order-style=pycharm