2929class Database (PgAsyncDatabase ):
3030 def __init__ (self , config : Config , logger : BoundLogger ):
3131 self ._config : Config = config
32+ self ._service_base_url = self ._config .service_url_base_path .rstrip ("/" )
3233 self .logger : BoundLogger = logger
3334 super ().__init__ (config .database_uri , SCHEMA_PATH )
3435
@@ -37,8 +38,7 @@ def deserialize_alias(rec: asyncpg.Record | dict) -> Alias:
3738 return Alias (alias = rec ["alias" ], naming_authority = rec ["naming_authority" ])
3839
3940 def deserialize_contig (self , rec : asyncpg .Record | dict ) -> ContigWithRefgetURI :
40- service_base_url = self ._config .service_url_base_path .rstrip ("/" )
41- refget_uri_base = f"{ service_base_url } /sequence"
41+ refget_uri_base = f"{ self ._service_base_url } /sequence"
4242
4343 md5 = rec ["md5_checksum" ]
4444 ga4gh = rec ["ga4gh_checksum" ]
@@ -65,10 +65,11 @@ def deserialize_contig(self, rec: asyncpg.Record | dict) -> ContigWithRefgetURI:
6565 )
6666
6767 def deserialize_genome (self , rec : asyncpg .Record , external_resource_uris : bool ) -> GenomeWithURIs :
68- service_base_url = self ._config .service_url_base_path .rstrip ("/" )
69- genome_uri = f"{ service_base_url } /genomes/{ rec ['id' ]} "
68+ genome_id = rec ["id" ]
69+ genome_uri = f"{ self ._service_base_url } /genomes/{ genome_id } "
70+
7071 return GenomeWithURIs (
71- id = rec [ "id" ] ,
72+ id = genome_id ,
7273 # aliases is [None] if no aliases defined:
7374 aliases = tuple (map (Database .deserialize_alias , json .loads (rec ["aliases" ]))) if rec ["aliases" ] else (),
7475 uri = genome_uri ,
0 commit comments