Skip to content

Instantly share code, notes, and snippets.

View craigderington's full-sized avatar
🚀
Automate Everything

Craig Derington craigderington

🚀
Automate Everything
View GitHub Profile
# items/forms.py
from django import forms
from .models import ItemLocation
# define your models forms here
class ItemLocationAdminForm(forms.ModelForm):
qty_on_hand = forms.IntegerField()
qty_on_order = forms.IntegerField()
qty_in_transit = forms.IntegerField()
@craigderington
craigderington / __init__.py
Created October 9, 2018 19:42
Dunder Init file for Celery project
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from celery import Celery
from config import config
celery = Celery()
db = SQLAlchemy()
@craigderington
craigderington / models.py
Last active October 9, 2018 20:15
Celery project models
from app import db
from datetime import datetime
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime, Boolean, Text, Float
from sqlalchemy.orm import relationship
from werkzeug.security import generate_password_hash, check_password_hash
# Define application db.Models
class User(db.Model):
@craigderington
craigderington / tasks.py
Created October 9, 2018 19:43
Tasks module for Celery project
import datetime
import time
import pymongo
import config
import json
import csv
import GeoIP
import requests
from celery.signals import task_postrun
from celery.utils.log import get_task_logger
@craigderington
craigderington / views.py
Created October 9, 2018 19:44
Views module for Celery project
from datetime import datetime, timedelta
from flask import Blueprint, jsonify, url_for
from app import db
from app.models import User
home = Blueprint('home', __name__)
@home.before_app_first_request
def init_db():
db.create_all()
@craigderington
craigderington / celery_worker.py
Created October 9, 2018 19:45
Celery worker for project
from celery import Celery
from celery.schedules import crontab
from app import create_app
from app.tasks import log
def create_celery(app):
celery = Celery(app.import_name,
backend=app.config['CELERY_RESULT_BACKEND'],
broker=app.config['CELERY_BROKER_URL'])
@craigderington
craigderington / config.py
Created October 9, 2018 19:45
Config module for Celery project
import os
from kombu import Queue, Exchange
BASEDIR = os.path.abspath(os.path.dirname(__file__))
class Config(object):
DEBUG = False
SECRET_KEY = os.urandom(32)
@craigderington
craigderington / manage.py
Created October 9, 2018 19:52
Manage.py module for Celery project
import sys
import os
from click import echo
from flask_mail import Mail
from app import create_app
app = create_app('development')
app.config.update(dict(
MAIL_SERVER='localhost',
MAIL_PORT=1025,
@craigderington
craigderington / monitrc
Last active November 1, 2018 21:18 — forked from franck/monitrc
Ubuntu Monit config (Apache, RabbitMQ, MySQL, MongoDB, Redis)
###############################################################################
## Monit control file
###############################################################################
##
## Comments begin with a '#' and extend through the end of the line. Keywords
## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'.
##
## Below you will find examples of some frequently used statements. For
## information about the control file and a complete list of statements and
## options, please have a look in the Monit manual.
@craigderington
craigderington / app.py
Last active December 13, 2018 19:22
Flask REST Mailgun Webhook app scaffold
from from import Flask, render_template, Response, jsonify, url_for, flash
from flask_sqlalchemy import SQLAlchemy
from flask_httpauth import HTTPBasicAuth
from models import User, Lead, Company
import config
app = Flask(__name__)
db = SQLAlchemy(app)
auth = HTTPBasicAuth()
DEBUG = True