Compare commits

..
2 Commits
Author SHA1 Message Date
Tim Lorsbach d8741c5375 wip
CI / test (pull_request) Failing after 29s
API CI / api-tests (pull_request) Failing after 42s
2026-09-02 21:34:26 +02:00
Tim Lorsbach 887de03a19 reactionSmarts 2026-09-02 21:30:53 +02:00
+12 -1
View File
@@ -623,6 +623,10 @@ class PackageManager(object):
def grant_write(caller: User, package: Package, grantee: Union[User, Group]): def grant_write(caller: User, package: Package, grantee: Union[User, Group]):
PackageManager.update_permissions(caller, package, grantee, Permission.WRITE[0]) PackageManager.update_permissions(caller, package, grantee, Permission.WRITE[0])
@staticmethod
def grant_owner(caller: User, package: Package, grantee: Union[User, Group]):
PackageManager.update_permissions(caller, package, grantee, Permission.ALL[0])
@staticmethod @staticmethod
@transaction.atomic @transaction.atomic
def import_legacy_package( def import_legacy_package(
@@ -821,7 +825,14 @@ class PackageManager(object):
r.name = rule["name"] r.name = rule["name"]
r.description = rule["description"] r.description = rule["description"]
r.aliases = rule.get("aliases", []) r.aliases = rule.get("aliases", [])
r.smirks = rule["smirks"]
if rule.get("smirks") is not None:
r.smirks = rule["smirks"]
elif rule.get("reactionSmarts") is not None:
r.smirks = rule["reactionSmarts"]
else:
raise ValueError(f"No SMIRKS or reactionSmarts found for rule {rule['id']}")
r.reactant_filter_smarts = rule.get("reactantFilterSmarts", None) r.reactant_filter_smarts = rule.get("reactantFilterSmarts", None)
r.product_filter_smarts = rule.get("productFilterSmarts", None) r.product_filter_smarts = rule.get("productFilterSmarts", None)
r.save() r.save()