Skip to content
Snippets Groups Projects
Commit ecccb582 authored by Christophe Benz's avatar Christophe Benz
Browse files

Rewrite observations rows using an iterator

parent 6086836f
No related branches found
No related tags found
No related merge requests found
Pipeline #1276 failed with stage
in 1 minute and 24 seconds
......@@ -28,7 +28,6 @@ import argparse
import binascii
import hashlib
import io
import itertools
import logging
import os
import re
......@@ -255,17 +254,16 @@ def iter_git_objects_in_sdmx_series_element(series_element, sdmx_file_path, dsd_
if column_name not in required_observations_tsv_column_names:
other_column_names.add(column_name)
observations_tsv_column_names = required_observations_tsv_column_names + list(sorted(other_column_names))
observations_tsv_str = "\n".join([
"\t".join(observations_tsv_column_names),
] + [
"\t".join(
observation.get(column_name, "")
for column_name in observations_tsv_column_names
)
for observation in observations_tsv
])
observations_tsv_blob = Blob.from_string(observations_tsv_str.encode('utf-8'))
def iter_observations_rows():
yield "\t".join(observations_tsv_column_names)
for observation in observations_tsv:
yield "\t".join(
observation.get(column_name, "")
for column_name in observations_tsv_column_names
)
observations_tsv_blob = Blob.from_string("\n".join(iter_observations_rows()).encode('utf-8'))
observations_tsv_blob_id = observations_tsv_blob.id
# Some TSV observations files are exactly the same, and Git packs don't tolerate duplicate objects.
if observations_tsv_blob_id not in yielded_git_object_ids:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment