diff options
author | 2018-10-11 14:18:13 -0700 | |
---|---|---|
committer | 2018-10-11 14:18:13 -0700 | |
commit | 8b2fa26a065b18cb9c4aa441eb1b6e360594a462 (patch) | |
tree | 9a949b5b5e4389d896ecb87c8b94e255d5553cda | |
parent | Initial commit. (diff) | |
parent | Remove 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.yml | 17 | ||||
-rw-r--r-- | Pipfile | 2 | ||||
-rw-r--r-- | bot/__init__.py | 5 | ||||
-rw-r--r-- | bot/__main__.py (renamed from bot/bot.py) | 9 | ||||
-rw-r--r-- | bot/cogs/hacktoberstats.py | 4 | ||||
-rw-r--r-- | bot/cogs/halloweenify.py | 2 | ||||
-rw-r--r-- | bot/cogs/movie.py | 8 | ||||
-rw-r--r-- | bot/resources/monstersurvey/monstersurvey.json (renamed from bot/resources/monstersurvey.json) | 5 | ||||
-rw-r--r-- | docker/Dockerfile | 15 | ||||
-rwxr-xr-x | docker/build.sh | 21 | ||||
-rw-r--r-- | docker/docker-compose.yml | 11 | ||||
-rw-r--r-- | tox.ini | 2 |
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 @@ -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 + @@ -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 |