Commit 0511eed7b269f292f8542e40cc6de8ffa50df0f0
1 parent
2fedd73b
Exists in
master
and in
2 other branches
Tarball generation seems to work okay.
Showing
1 changed file
with
12 additions
and
39 deletions
Show diff stats
web/run.py
... | ... | @@ -435,8 +435,8 @@ def get_target_csv(source, started_at, stopped_at): |
435 | 435 | return send_from_directory(get_path("../cache/"), filename) |
436 | 436 | |
437 | 437 | |
438 | -@app.route("/<targets>_<started_at>_<stopped_at>.zip") | |
439 | -def download_targets_zip(targets, started_at, stopped_at): | |
438 | +@app.route("/<targets>_<started_at>_<stopped_at>.tar.gz") | |
439 | +def download_targets_tarball(targets, started_at, stopped_at): | |
440 | 440 | """ |
441 | 441 | Grab data and orbit data for the specified `target`, |
442 | 442 | rearrange it and return it as a CSV file. |
... | ... | @@ -444,12 +444,10 @@ def download_targets_zip(targets, started_at, stopped_at): |
444 | 444 | |
445 | 445 | targets: string list of targets' slugs, separated by `-`. |
446 | 446 | This will fail hard if targets' slugs start having `-` in them. |
447 | - | |
448 | - toreview | |
449 | - | |
450 | 447 | """ |
451 | 448 | separator = '-' |
452 | - targets = targets.split(separator).sort() | |
449 | + targets = targets.split(separator) | |
450 | + targets.sort() | |
453 | 451 | targets_configs = [] |
454 | 452 | for target in targets: |
455 | 453 | if not target: |
... | ... | @@ -467,34 +465,16 @@ def download_targets_zip(targets, started_at, stopped_at): |
467 | 465 | stopped_at = datetime.datetime.strptime(stopped_at, date_fmt) |
468 | 466 | except: |
469 | 467 | abort(400, "Invalid stopped_at parameter : '%s'." % stopped_at) |
468 | + sta = started_at.strftime(date_fmt) | |
469 | + sto = stopped_at.strftime(date_fmt) | |
470 | 470 | |
471 | - gzip_filename = "%s_%s_%s.tar.gz" % (separator.join(targets), | |
472 | - started_at.strftime(date_fmt), | |
473 | - stopped_at.strftime(date_fmt)) | |
471 | + gzip_filename = "%s_%s_%s.tar.gz" % (separator.join(targets), sta, sto) | |
474 | 472 | local_gzip_file = get_path("../cache/%s" % gzip_filename) |
475 | 473 | |
476 | 474 | if not isfile(local_gzip_file): |
477 | - log.debug("Creating tarball '%s'..." % local_gzip_file) | |
478 | - # success = True | |
479 | - # try: | |
480 | - # with gzip.open(local_gzip_file, 'rb') as f: | |
481 | - # file_content = f.read() | |
482 | - # with open(local_netc_file, 'w+b') as g: | |
483 | - # g.write(file_content) | |
484 | - # except Exception as e: | |
485 | - # success = False | |
486 | - # log.warning("Cannot process gz file '%s' from '%s' : %s" % | |
487 | - # (local_gzip_file, url, e)) | |
488 | - # if success: | |
489 | - # log.debug("Unzipped '%s'." % local_gzip_file) | |
490 | - | |
491 | - log.debug("Creating the CSV files themselves...") | |
475 | + log.debug("Creating the CSV files for the tarball...") | |
492 | 476 | for target_config in targets_configs: |
493 | - # get_target_csv(target_config['slug'], started_at.strftime(date_fmt), stopped_at.strftime(date_fmt)) | |
494 | - | |
495 | - filename = "%s_%s_%s.csv" % (target_config['slug'], | |
496 | - started_at.strftime(date_fmt), | |
497 | - stopped_at.strftime(date_fmt)) | |
477 | + filename = "%s_%s_%s.csv" % (target_config['slug'], sta, sto) | |
498 | 478 | local_csv_file = get_path("../cache/%s" % filename) |
499 | 479 | if not isfile(local_csv_file): |
500 | 480 | with open(local_csv_file, mode="w+") as f: |
... | ... | @@ -502,22 +482,15 @@ def download_targets_zip(targets, started_at, stopped_at): |
502 | 482 | started_at=started_at, |
503 | 483 | stopped_at=stopped_at)) |
504 | 484 | |
505 | - # tar_filename = "%s_%s_%s.tar" % (separator.join(targets), | |
506 | - # started_at.strftime(date_fmt), | |
507 | - # stopped_at.strftime(date_fmt)) | |
508 | - # tar_file = get_path("../cache/%s" % tar_filename) | |
509 | - | |
510 | - log.debug("Make the tarball '%s'..." % local_gzip_file) | |
485 | + log.debug("Creating the tarball '%s'..." % local_gzip_file) | |
511 | 486 | with tarfile.open(local_gzip_file, "w:gz") as tar: |
512 | 487 | for target_config in targets_configs: |
513 | - filename = "%s_%s_%s.csv" % (target_config['slug'], | |
514 | - started_at.strftime(date_fmt), | |
515 | - stopped_at.strftime(date_fmt)) | |
488 | + filename = "%s_%s_%s.csv" % (target_config['slug'], sta, sto) | |
516 | 489 | local_csv_file = get_path("../cache/%s" % filename) |
517 | 490 | tar.add(local_csv_file, arcname=filename) |
518 | 491 | |
519 | 492 | if not isfile(local_gzip_file): |
520 | - abort(500, "Could not cache tarball at '%s'." % local_gzip_file) | |
493 | + abort(500, "No tarball to serve. Looked at '%s'." % local_gzip_file) | |
521 | 494 | |
522 | 495 | return send_from_directory(get_path("../cache/"), gzip_filename) |
523 | 496 | ... | ... |