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
@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 / 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 / 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 / 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 / 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 / __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()
# 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 / udger_testing.py
Last active August 8, 2018 15:12
Python script for testing various Udger parsing functions
# -*- coding: utf-8 -*-
import csv
import xml.etree.ElementTree as ET
import logging
import ipaddress
from udger import Udger
from db import db_session
from sqlalchemy import text
@craigderington
craigderington / ppm_score.py
Last active August 7, 2018 19:28
Calculate the PPM score from Visitor's Appended Data
#! *-* coding: utf-8 *-*
import csv
import config
import requests
from datetime import datetime
today = datetime.now()
@craigderington
craigderington / clean_dict.py
Last active August 10, 2018 18:20
Create a Clean List from 2 Dictionaries by Filter on Key
# *-* coding: utf-8 *-*
import csv
d = {}
j = {}
followups = []
with open('data/campaign1.csv', 'r') as f1: