Skip to content

Commit

Permalink
refactor to a sane import structure
Browse files Browse the repository at this point in the history
  • Loading branch information
grobolom committed Jun 14, 2017
1 parent 93cdcc5 commit dda38d8
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 17 deletions.
7 changes: 6 additions & 1 deletion scrounger/app/db/create_db.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
from scrounger import db
from flask import Flask
from extensions import db
from settings import BaseConfig

app = Flask(__name__)
app.config.config_from_object(BaseConfig)
db.init_app(app)

db.drop_all()
db.create_all()
14 changes: 10 additions & 4 deletions scrounger/app/db/helpers.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
from db.models import PullRequest, Team
from settings import BaseConfig
from scrounger import db
from extensions import db


def get_issues():
return [item.data for item in PullRequest.query.all()]


def get_teams():
items = [{'name': item.name, 'members': item.members} for item in Team.query.all()]
return items
return [{'name': item.name, 'members': item.members} for item in Team.query.all()]


def get_team_issues(name):
Expand Down Expand Up @@ -54,4 +53,11 @@ def save_team(js):
db.session.merge(team)
db.session.commit()
except Exception as e:
raise Exception('failed to save team')
raise Exception('failed to save team')


def drop_existing_prs():
logger.debug('dropping all issues and updating')
deleted = PullRequest.query.delete()
logger.debug('deleted {} pull requests'.format(deleted))
return deleted
2 changes: 1 addition & 1 deletion scrounger/app/db/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from scrounger import db
from extensions import db


class PullRequest(db.Model):
Expand Down
4 changes: 4 additions & 0 deletions scrounger/app/extensions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from flask_sqlalchemy import SQLAlchemy


db = SQLAlchemy()
18 changes: 7 additions & 11 deletions scrounger/app/scrounger.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,17 @@
from flask_sqlalchemy import SQLAlchemy
from flask_apscheduler import APScheduler

from extensions import db
from graphql import QUERY, flatten_response
from settings import BaseConfig
from helpers import get_issues, get_teams, get_team_issues, get_new_prs, save_new_prs, save_team
from db.helpers import get_issues, get_teams, get_team_issues, get_new_prs, save_new_prs, save_team, drop_existing_prs

dictConfig(BaseConfig.LOGGING)
logger = getLogger('main')

app = Flask(__name__)
app.config.from_object(BaseConfig)
db = SQLAlchemy(app)

from db.models import *
db.init_app(app)


@app.route('/issues')
Expand Down Expand Up @@ -63,16 +62,13 @@ def teams_issues(name):

@app.route('/update')
def update():

url = 'https://api.github.com/graphql'
headers = {'Authorization': 'Bearer {}'.format(BaseConfig.TOKEN)}
headers = {
'Authorization': 'Bearer {}'.format(BaseConfig.TOKEN)
}

new_prs = get_new_prs(url, headers)

logger.debug('dropping all issues and updating')
deleted = PullRequest.query.delete()
logger.debug('deleted {} pull requests'.format(deleted))

drop_existing_prs()
save_new_prs(new_prs)

return 'success'
Expand Down

0 comments on commit dda38d8

Please sign in to comment.