Updating file by latest version
This commit is contained in:
parent
a10ef9066d
commit
419d06c95b
|
@ -45,6 +45,9 @@ PB_STUDY_DETAILS_URL = environ.get('PB_STUDY_DETAILS_URL', default=PB_BASE_URL +
|
||||||
LDAP_URL = environ.get('LDAP_URL', default="ldap.virginia.edu").strip('/') # No trailing slash or http://
|
LDAP_URL = environ.get('LDAP_URL', default="ldap.virginia.edu").strip('/') # No trailing slash or http://
|
||||||
LDAP_TIMEOUT_SEC = int(environ.get('LDAP_TIMEOUT_SEC', default=1))
|
LDAP_TIMEOUT_SEC = int(environ.get('LDAP_TIMEOUT_SEC', default=1))
|
||||||
|
|
||||||
|
# Github token
|
||||||
|
GH_TOKEN = '6cbd5f3a1764a8d15b27d66f64ac80ae13b393a9'
|
||||||
|
|
||||||
# Email configuration
|
# Email configuration
|
||||||
DEFAULT_SENDER = 'askresearch@virginia.edu'
|
DEFAULT_SENDER = 'askresearch@virginia.edu'
|
||||||
FALLBACK_EMAILS = ['askresearch@virginia.edu', 'sartographysupport@googlegroups.com']
|
FALLBACK_EMAILS = ['askresearch@virginia.edu', 'sartographysupport@googlegroups.com']
|
||||||
|
|
|
@ -7,6 +7,7 @@ from flask_admin.actions import action
|
||||||
from flask_admin.contrib import sqla
|
from flask_admin.contrib import sqla
|
||||||
from flask_admin.contrib.sqla import ModelView
|
from flask_admin.contrib.sqla import ModelView
|
||||||
from github import Github, UnknownObjectException
|
from github import Github, UnknownObjectException
|
||||||
|
from sqlalchemy import desc
|
||||||
from werkzeug.utils import redirect
|
from werkzeug.utils import redirect
|
||||||
from jinja2 import Markup
|
from jinja2 import Markup
|
||||||
|
|
||||||
|
@ -60,7 +61,8 @@ class FileView(AdminModelView):
|
||||||
@action('publish', 'Publish', 'Are you sure you want to publish this file(s)?')
|
@action('publish', 'Publish', 'Are you sure you want to publish this file(s)?')
|
||||||
def action_publish(self, ids):
|
def action_publish(self, ids):
|
||||||
# TODO: Move token to settings and replace docs repo
|
# TODO: Move token to settings and replace docs repo
|
||||||
_github = Github('d082288d6192b45b2f8cefcefc1a0a2806554c9e')
|
gh_token = app.config['GH_TOKEN']
|
||||||
|
_github = Github(gh_token)
|
||||||
repo = _github.get_user().get_repo('crispy-fiesta')
|
repo = _github.get_user().get_repo('crispy-fiesta')
|
||||||
|
|
||||||
for file_id in ids:
|
for file_id in ids:
|
||||||
|
@ -83,20 +85,26 @@ class FileView(AdminModelView):
|
||||||
|
|
||||||
@action('update', 'Update', 'Are you sure you want to update this file(s)?')
|
@action('update', 'Update', 'Are you sure you want to update this file(s)?')
|
||||||
def action_update(self, ids):
|
def action_update(self, ids):
|
||||||
_github = Github('d082288d6192b45b2f8cefcefc1a0a2806554c9e')
|
gh_token = app.config['GH_TOKEN']
|
||||||
|
_github = Github(gh_token)
|
||||||
repo = _github.get_user().get_repo('crispy-fiesta')
|
repo = _github.get_user().get_repo('crispy-fiesta')
|
||||||
|
|
||||||
for file_id in ids:
|
for file_id in ids:
|
||||||
file_data_model = FileDataModel.query.filter_by(file_model_id=file_id).first()
|
file_data_model = FileDataModel.query.filter_by(
|
||||||
|
file_model_id=file_id
|
||||||
|
).order_by(
|
||||||
|
desc(FileDataModel.version)
|
||||||
|
).first()
|
||||||
try:
|
try:
|
||||||
repo_file = repo.get_contents(file_data_model.file_model.name)
|
repo_file = repo.get_contents(file_data_model.file_model.name)
|
||||||
except UnknownObjectException:
|
except UnknownObjectException:
|
||||||
# Add message indicating file is not in the repo
|
# Add message indicating file is not in the repo
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
file_data_model.data = repo_file.content
|
import pdb; pdb.set_trace()
|
||||||
db.session.add(file_data_model)
|
file_data_model.data = repo_file.decoded_content
|
||||||
db.session.commit()
|
self.session.add(file_data_model)
|
||||||
|
self.session.commit()
|
||||||
|
|
||||||
|
|
||||||
def json_formatter(view, context, model, name):
|
def json_formatter(view, context, model, name):
|
||||||
|
|
Loading…
Reference in New Issue