Commit 0511eed7b269f292f8542e40cc6de8ffa50df0f0

Authored by Goutte
1 parent 2fedd73b

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  
... ...