Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge v1.3-dev changes into master #378

Merged
merged 109 commits into from
Feb 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
2167424
Skip failing tests.
mik3y Jun 24, 2017
68cee67
Bump django-nose.
mik3y Jun 24, 2017
4f5f927
Update to Django 1.8.
mik3y Jun 24, 2017
8092405
Django 1.8 compat: update fixtures.
mik3y Jun 24, 2017
919e36a
Django 1.8 compat: User model updates.
mik3y Jun 24, 2017
9008615
Django 1.8 compat: `last_login` can be null.
mik3y Jun 24, 2017
541ea3e
Django 1.8 compat: `fields` or `exclude` is required.
mik3y Jun 24, 2017
4b4a339
Django 1.8 compat: Delete obsolete middleware.
mik3y Jun 24, 2017
9634b42
Django 1.8 compat: bootstrap-pagination.
mik3y Jun 24, 2017
8703a79
Update redis, django-redis.
mik3y Jun 24, 2017
be7ebd9
Merge test_requirements into requirements, for now.
mik3y Jun 24, 2017
034b26f
setup.py: remove version pinning; sort deps.
mik3y Jun 24, 2017
7117d07
Update changelog.
mik3y Jun 24, 2017
430dd1e
Update travis script.
mik3y Jun 24, 2017
7e4a6df
Update gitignore.
mik3y Jun 24, 2017
fbfe703
Django 1.8 compat: Update django-crispy-forms.
mik3y Jun 24, 2017
9566e48
Update to Django 1.9.
mik3y Jun 24, 2017
5eb1d58
Django 1.9 compat: remove old logging handler.
mik3y Jun 24, 2017
1e90cb0
Django 1.9 compat: importlib.
mik3y Jun 24, 2017
993efc8
Django 1.9 compat: update `django-imagekit`.
mik3y Jun 24, 2017
8484ab6
Django 1.9 compat: `import_by_path -> import_string`
mik3y Jun 24, 2017
411c36b
Django 1.9 compat: `django-jsonfield`.
mik3y Jun 24, 2017
45c2d38
Django 1.9 compat: `get_models`.
mik3y Jun 24, 2017
5d62485
Django 1.9 compat: handle extra kwarg.
mik3y Jun 24, 2017
241eff6
Django 1.9 compat: `request.REQUEST` deprecated.
mik3y Jun 24, 2017
ac5a01c
Django 1.9 compat: new url patterns.
mik3y Jun 24, 2017
20f66f7
Require `django-nose`; add `rednose`.
mik3y Jun 24, 2017
ca91135
Django 1.9 compat: ignore url group for optional path component.
mik3y Jun 24, 2017
bac30a7
Django 1.9 compat: ditch `django-socialregistration`.
mik3y Jun 24, 2017
c1f77d5
Temporarily disable Twitter, Foursquare, Untappd plugins.
mik3y Jun 24, 2017
cc6f62e
Django 1.9 compat: template settings.
mik3y Jun 24, 2017
21577cc
Django 1.9 compat: form errors.
mik3y Jun 24, 2017
c241b27
Update changelog.
mik3y Jun 24, 2017
661ec08
Update to Django 1.10
mik3y Jun 24, 2017
653b4d4
Django 1.10 compat: update `django-registration`
mik3y Jun 24, 2017
eb11b5b
Django 1.10 compat: `render_to_response -> render`
mik3y Jun 24, 2017
300dd55
Django 1.10 compat: context processor settings.
mik3y Jun 24, 2017
4151f95
Django 1.10 compat: `django-bootstrap-pagination`
mik3y Jun 24, 2017
02d6987
Django 1.10 compat: fix static/media serving.
mik3y Jun 24, 2017
64cdecf
Update changelog.
mik3y Jun 24, 2017
c624247
Django 1.10 compat: don't load contenttypes in fixtures.
mik3y Jun 25, 2017
ae59036
Update to Django 1.11
mik3y Jun 25, 2017
f8fe6f4
Django 1.11 compat: context must be a dict.
mik3y Jun 25, 2017
a435479
Upgrade old dependencies.
mik3y Jun 25, 2017
695de12
Update changelog.
mik3y Jun 25, 2017
f14535c
Re-enable tests.
mik3y Jun 25, 2017
013367f
Lint fixes from autopep8.
mik3y Jun 25, 2017
7b30433
Manual lint fixes.
mik3y Jun 25, 2017
e7742a9
Update max line length.
mik3y Jun 25, 2017
cecea0a
Make flake8 config available to travis.
mik3y Jun 25, 2017
794c5dc
Merge pull request #358 from Kegbot/mikey/django-update
mik3y Jun 25, 2017
b5a3396
Django 1.11 compat: fix management commands.
mik3y Jun 25, 2017
d493236
Merge pull request #361 from Kegbot/mikey/django-fixes
mik3y Jun 25, 2017
f3f9ad0
Add VCR.
mik3y Jun 25, 2017
21e1a21
Reimplement the twitter plugin.
mik3y Jun 25, 2017
528a4a2
Disable travis notifications.
mik3y Jun 25, 2017
8a6ff85
Use `requests_mock` to simulate errors.
mik3y Jun 25, 2017
36b6b1d
Update Foursquare plugin.
mik3y Jun 25, 2017
324aba9
Update Untappd plugin.
mik3y Jun 25, 2017
4f298f2
Merge pull request #360 from Kegbot/mikey/plugin-fixes
mik3y Jun 25, 2017
5ddf3cd
bugfix: fix #336: usernames with dot rejected by api.
mik3y Jun 25, 2017
8704b5b
Update CI settings file.
mik3y Jun 25, 2017
b72e24e
Re-enable plugin tests.
mik3y Jun 25, 2017
a776a81
Add CircleCI config.
mik3y Jun 25, 2017
2ef3d2d
Include testdata in manifest.
mik3y Jun 25, 2017
88e5d55
Merge pull request #362 from Kegbot/mikey/api-bugfix
mik3y Jun 25, 2017
ba07223
twitter: option to tweet/disable system session join events.
mik3y Jun 26, 2017
56d2423
Merge pull request #363 from Kegbot/mikey/twitter-events
mik3y Jun 26, 2017
d66b9cc
Add a create controller view.
mik3y Jun 26, 2017
214ae9a
Merge pull request #364 from Kegbot/mikey/create-controller
mik3y Jun 26, 2017
0ded8a7
Create CODE_OF_CONDUCT.md
mik3y Jun 26, 2017
2860bef
Merge pull request #366 from Kegbot/mikey/code-of-conduct
mik3y Jun 26, 2017
2cb439d
Update requirements based on pip-compile.
mik3y Jun 27, 2017
1526b92
Merge pull request #367 from Kegbot/mikey/dependencies
mik3y Jun 27, 2017
14b6b6b
Update to new style middleware; drop debug toolbar.
mik3y Jun 27, 2017
9b92c6a
Add white noise.
mik3y Jun 27, 2017
3ac116f
Update templates to use `static` template tag.
mik3y Jun 27, 2017
42e211a
Fix compiled css image paths.
mik3y Jun 27, 2017
025f832
Update circle.yml.
mik3y Jun 27, 2017
040354e
Include more static assets.
mik3y Jul 22, 2017
17c462c
Add `requests-mock`.
mik3y Jul 22, 2017
bd9201b
Merge pull request #368 from Kegbot/mikey/static-cleanups
mik3y Jul 22, 2017
99a5f42
Disable session auth if not set up.
mik3y Jul 19, 2017
24f308e
Drop optional modules.
mik3y Jul 22, 2017
42f5dd0
Add `dj-database-url` package.
mik3y Jun 29, 2017
f438386
Move env-overridable config into `config.py`.
mik3y Jul 19, 2017
b09ddcf
Docker build.
mik3y Jun 27, 2017
44e2935
Remove unneeded settings.
mik3y Jul 23, 2017
1bdb768
Eliminate 'embedded' mode.
mik3y Jul 23, 2017
f0aa398
Use `KEGBOT_REDIS_URL` everywhere.
mik3y Jul 23, 2017
3696fb4
Eliminate `local_settings.py` and `setup-kegbot.py`.
mik3y Jul 23, 2017
aacd2bf
Fix `kegbot run_all`.
mik3y Oct 10, 2017
ff76428
Remove demo mode.
mik3y Oct 10, 2017
7d5d2f6
Remove obsolete command.
mik3y Oct 10, 2017
847804b
Update Dockerfile.
mik3y Dec 21, 2017
2825173
Add `coloredlogs` package.
mik3y Dec 26, 2017
7892460
Fix up logging.
mik3y Dec 26, 2017
ce63a3f
Update to pipenv
mik3y Feb 20, 2020
bb1f577
Swap out mysql-python for mysqlclient
mik3y Feb 20, 2020
0cc40a0
Document settings; drop extra docs; update changelog
mik3y Feb 21, 2020
f0504a8
Make Pipenv install stuff locally for developers
mik3y Feb 21, 2020
63de939
Switch to pytest for tests; add KEGBOT_ENV setting
mik3y Feb 21, 2020
cdf82bc
Slim down docker image
mik3y Feb 21, 2020
0a401e7
Update Travis config
mik3y Feb 22, 2020
7e4bdda
Use a temp dir for media in test
mik3y Feb 22, 2020
ab32751
Run all tests with TransactionTestCase
mik3y Feb 22, 2020
bbab0f0
Disable lint test for now
mik3y Feb 22, 2020
070c191
Merge pull request #377 from Kegbot/mikey/v1.3-updates
mik3y Feb 22, 2020
6413869
Update travis.yml
mik3y Feb 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.git
build/
*.egg-info
docs/build/
dist/
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
*.egg
*.egg-info
.coverage
.noseids
.vscode

### docs
docs/build
Expand Down
38 changes: 10 additions & 28 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,19 @@
language: python

python:
- "2.7"

install:
- pip install -r requirements.txt
- pip install -r test_requirements.txt
- pip install coverage coveralls

services:
- redis-server
- mysql
- redis

before_script:
- mysql -e 'create database kegbot_travis_test;'
before_install:
- mysql -e 'CREATE DATABASE kegbot;'
- mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
- mkdir -p ~/kegbot-data/media
- mkdir -p ~/kegbot-data/static
- mkdir -p ~/.kegbot/
- cp deploy/travis/local_settings.py ~/.kegbot/
- pip freeze
- flake8 --version

script:
- kegbot test --traverse-namespace --first-package-wins --with-coverage --cover-package=pykeg

after_success:
- coveralls
install:
- pip install pipenv
- pipenv install --dev --deploy

deploy:
provider: pypi
user: mikey
password:
secure: amERhNGbfgTb/1vlWJ8SpDSTUlmx8GlysllFlqIT6H/X2+XiLFRjmH+T6UXWcHurGzwC71/QC0LGlSg69d4wGarXKnDowInjA9NR+s763gcbWIKixAWxiVrHl/LHTd3n+5ZCaYVDjHCX4RCRdunQ3DESELCkJ4U9RCVHtIGki8k=
on:
tags: true
repo: Kegbot/kegbot-server
branch: master
script:
- pipenv run pytest
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at info@kegbot.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
37 changes: 37 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM python:2.7-alpine

RUN mkdir /app
WORKDIR /app

ENV SHELL=/bin/sh \
PIP_NO_CACHE_DIR=1 \
KEGBOT_DATA_DIR=/kegbot-data \
KEGBOT_IN_DOCKER=True \
KEGBOT_ENV=debug

RUN apk update && \
apk add --no-cache \
bash \
curl \
libjpeg \
libjpeg-turbo \
openjpeg && \
pip install pipenv

ADD Pipfile Pipfile.lock ./
RUN apk add --no-cache mariadb-connector-c-dev && \
apk add --no-cache --virtual _build-deps \
build-base mariadb-dev libjpeg-turbo-dev zlib-dev && \
pipenv install --deploy && \
apk del _build-deps

ADD bin ./bin
ADD pykeg ./pykeg
ADD setup.py ./
RUN pipenv run python setup.py develop
RUN pipenv run kegbot collectstatic -v 0 --noinput

VOLUME ["/kegbot-data"]

EXPOSE 8000
CMD ["/usr/local/bin/pipenv", "run", "gunicorn", "pykeg.web.wsgi:application", "-b", "0.0.0.0:8000"]
4 changes: 3 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
include README.md
include LICENSE.txt
recursive-include pykeg *.html *.css *.js *.png
include pykeg/setup.cfg
recursive-include pykeg *.html *.css *.js *.png *.gif *.eot *.svg *.ttf *.woff *.ico
recursive-include deploy *
recursive-include pykeg/testdata *
78 changes: 78 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
kegbot = {editable = true,path = "."}

[packages]
amqp = "==2.1.4"
billiard = "==3.5.0.2"
celery = "==4.0.2"
certifi = "==2017.4.17"
chardet = "==3.0.4"
colorama = "==0.3.9"
coloredlogs = "==7.3.1"
configparser = "==3.5.0"
contextlib2 = "==0.5.5"
dj-database-url = "==0.4.2"
django-appconf = "==1.0.2"
django-bootstrap-pagination = "==1.6.2"
django-crispy-forms = "==1.6.1"
django-imagekit = "==4.0.1"
django-nose = "==1.4.4"
django-redis = "==4.8.0"
django-registration = "==2.2"
enum34 = "==1.1.6"
flake8 = "==3.3.0"
foursquare = "==1!2016.9.12"
funcsigs = "==1.0.2"
gunicorn = "==19.7.1"
httplib2 = "==0.10.3"
humanfriendly = "==4.4.1"
idna = "==2.5"
isodate = "==0.5.4"
jsonfield = "==2.0.2"
kegbot-api = "==1.1.0"
kegbot-pyutils = "==0.1.8"
kombu = "==4.0.2"
mccabe = "==0.6.1"
mock = "==2.0.0"
monotonic = "==1.4"
nose = "==1.3.7"
oauthlib = "==2.0.2"
olefile = "==0.44"
pbr = "==3.1.1"
pilkit = "==2.0"
protobuf = "==3.3.0"
pycodestyle = "==2.3.1"
pyflakes = "==1.5.0"
python-gflags = "==3.1.1"
pytz = "==2017.2"
redis = "==2.10.5"
rednose = "==1.2.2"
requests-mock = "==1.3.0"
requests-oauthlib = "==0.8.0"
requests = "==2.18.1"
six = "==1.10.0"
termstyle = "==0.1.11"
tweepy = "==3.5.0"
urllib3 = "==1.21.1"
vcrpy = "==1.11.1"
vine = "==1.1.3"
whitenoise = "==3.3.0"
wrapt = "==1.10.10"
Django = "==1.11.2"
Pillow = "==4.1.1"
PyYAML = "==3.12"
mysqlclient = "*"
sphinx = "*"
pytest = "*"
pytest-django = "*"

[scripts]
kegbot = "python bin/kegbot"

[requires]
python_version = "2.7"
Loading