Skip to content

Commit

Permalink
fixing trivial errors in loader
Browse files Browse the repository at this point in the history
  • Loading branch information
for-hyde committed Nov 19, 2024
1 parent 7c79723 commit 75b44dd
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions omnipath_metabo/schema/_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import psycopg2.extras
from omnipath_metabo import _log
import itertools
from pypath_common import _misc

from . import _structure
from ._base import Base
Expand Down Expand Up @@ -117,6 +118,7 @@ def __init__(self, resource, con):
self._set_resource(resource)
self.session = con.session
self.con = con
self._resource_ids = {}

def _set_resource(self, resource: str | type):
if type(resource) is type:
Expand All @@ -128,6 +130,8 @@ def load(self):

self.create()

resource_key = self._resource_id(self.resource.name)


_log(f'loading resource {self.resource.name}', level = -1)

Expand Down Expand Up @@ -169,7 +173,13 @@ def load(self):
_log('resource ids collected.', level = -1)

insert_ids = (
(_id, strids[smiles], resource_key, id_type == self.resource.name, resource.id_types.get(id_type, id_type)
(
_id,
strids[smiles],
resource_key,
id_type == self.resource.name,
self._resource_id(self.resource.id_types.get(id_type, id_type))
)
for name, smiles, _ in (
r['structure'] for r in cached_resource.cached['struct']
)
Expand Down Expand Up @@ -237,7 +247,7 @@ def _resource_id(self, name: str | list[str]) -> int:

name = _misc.to_set(name)

if new_names := name - set(self._resource_ids.keys()):
if new_names := sorted(name - set(self._resource_ids.keys())):

insert_resource = (
insert(_structure.Resource).
Expand All @@ -257,15 +267,13 @@ def _resource_id(self, name: str | list[str]) -> int:

self._resource_ids.update({
label: _id[0]
for label, _id in zip(resource_labels, resids)
for label, _id in zip(new_names, resids)
})

self._resource_ids[name] = resource_key

return (
[self._resource_ids[n] for n in names]
if len(names) > 1 else
self._resource_ids[name]
[self._resource_ids[n] for n in name]
if len(name) > 1 else
self._resource_ids[_misc.first(name)]
)


Expand Down

0 comments on commit 75b44dd

Please sign in to comment.