Skip to content

Commit

Permalink
Merge 9634c1e into 946d2d0
Browse files Browse the repository at this point in the history
  • Loading branch information
talavis committed Jan 9, 2019
2 parents 946d2d0 + 9634c1e commit b3e20cf
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 9 deletions.
15 changes: 15 additions & 0 deletions backend/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ def get(self):

try:
dataset_version = db.get_dataset_version(dataset, version)
if dataset_version is None:
self.send_error(status_code=404)
return


if dataset_version.available_from > datetime.now():
# If it's not available yet, only return if user is admin.
Expand Down Expand Up @@ -163,6 +167,9 @@ def get(self, dataset, version=None):
future_version = False

version = db.get_dataset_version(dataset, version)
if version is None:
self.send_error(status_code=404)
return

if version.available_from > datetime.now():
future_version = True
Expand Down Expand Up @@ -216,6 +223,10 @@ class GenerateTemporaryLink(handlers.AuthorizedHandler):
def post(self, dataset, version=None):
user = self.current_user
dataset_version = db.get_dataset_version(dataset, version)
if dataset_version is None:
self.send_error(status_code=404)
return

lh = db.Linkhash.create(
user = user,
dataset_version = dataset_version,
Expand All @@ -240,6 +251,10 @@ def post(self, dataset, version=None):
class DatasetFiles(handlers.AuthorizedHandler):
def get(self, dataset, version=None):
dataset_version = db.get_dataset_version(dataset, version)
if dataset_version is None:
self.send_error(status_code=404)
return

ret = []
for f in dataset_version.files:
d = db.build_dict_from_row(f)
Expand Down
28 changes: 19 additions & 9 deletions backend/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,16 +295,26 @@ def get_dataset(dataset):

def get_dataset_version(dataset, version=None):
if version:
dataset_version = (DatasetVersion
.select(DatasetVersion, Dataset)
.join(Dataset)
.where(DatasetVersion.version == version,
Dataset.short_name == dataset)).get()
try:
dataset_version = (DatasetVersion
.select(DatasetVersion, Dataset)
.join(Dataset)
.where(DatasetVersion.version == version,
Dataset.short_name == dataset)).get()
except DatasetVersion.DoesNotExist:
logging.error("get_dataset_version({}, {}): ".format(dataset, version) +
"cannot retrieve dataset version")
return
else:
dataset_version = (DatasetVersionCurrent
.select(DatasetVersionCurrent, Dataset)
.join(Dataset)
.where(Dataset.short_name == dataset)).get()
try:
dataset_version = (DatasetVersionCurrent
.select(DatasetVersionCurrent, Dataset)
.join(Dataset)
.where(Dataset.short_name == dataset)).get()
except DatasetVersionCurrent.DoesNotExist:
logging.error("get_dataset_version({}, version=None): ".format(dataset) +
"cannot retrieve dataset version")
return
return dataset_version


Expand Down

0 comments on commit b3e20cf

Please sign in to comment.