From 41be85950568afc1f93f917a0b9c4a1509f5a436 Mon Sep 17 00:00:00 2001 From: Laurent Farvacque Date: Tue, 25 Jun 2024 18:19:27 +0200 Subject: [PATCH 1/3] fix bug in load_mat --- docs/p/notebooks/variables.ipynb | 10 +++++----- pyat/at/load/matfile.py | 14 +++++++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/p/notebooks/variables.ipynb b/docs/p/notebooks/variables.ipynb index e9b6fb05a..7d9965dd6 100644 --- a/docs/p/notebooks/variables.ipynb +++ b/docs/p/notebooks/variables.ipynb @@ -416,11 +416,11 @@ "evalue": "set value must be in (0.45, 0.55)", "output_type": "error", "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[14], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mlfbound\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0.2\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/dev/libraries/at/pyat/at/lattice/variables.py:202\u001b[0m, in \u001b[0;36mVariableBase.set\u001b[0;34m(self, value, ring)\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Set the variable value\u001b[39;00m\n\u001b[1;32m 195\u001b[0m \n\u001b[1;32m 196\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03m may be necessary to set the variable.\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 201\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m value \u001b[38;5;241m<\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;129;01mor\u001b[39;00m value \u001b[38;5;241m>\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds[\u001b[38;5;241m1\u001b[39m]:\n\u001b[0;32m--> 202\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mset value must be in \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 203\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_setfun(value, ring\u001b[38;5;241m=\u001b[39mring)\n\u001b[1;32m 204\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m np\u001b[38;5;241m.\u001b[39misnan(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_initial):\n", - "\u001b[0;31mValueError\u001b[0m: set value must be in (0.45, 0.55)" + "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[0;31mValueError\u001B[0m Traceback (most recent call last)", + "Cell \u001B[0;32mIn[14], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m \u001B[43mlfbound\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mset\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;241;43m0.2\u001B[39;49m\u001B[43m)\u001B[49m\n", + "File \u001B[0;32m~/dev/libraries/at/pyat/at/lattice/variables.py:202\u001B[0m, in \u001B[0;36mVariableBase.set\u001B[0;34m(self, value, ring)\u001B[0m\n\u001B[1;32m 194\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"Set the variable value\u001B[39;00m\n\u001B[1;32m 195\u001B[0m \n\u001B[1;32m 196\u001B[0m \u001B[38;5;124;03mArgs:\u001B[39;00m\n\u001B[0;32m (...)\u001B[0m\n\u001B[1;32m 199\u001B[0m \u001B[38;5;124;03m may be necessary to set the variable.\u001B[39;00m\n\u001B[1;32m 200\u001B[0m \u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[1;32m 201\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m value \u001B[38;5;241m<\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds[\u001B[38;5;241m0\u001B[39m] \u001B[38;5;129;01mor\u001B[39;00m value \u001B[38;5;241m>\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds[\u001B[38;5;241m1\u001B[39m]:\n\u001B[0;32m--> 202\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mset value must be in \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m\"\u001B[39m)\n\u001B[1;32m 203\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_setfun(value, ring\u001B[38;5;241m=\u001B[39mring)\n\u001B[1;32m 204\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m np\u001B[38;5;241m.\u001B[39misnan(\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_initial):\n", + "\u001B[0;31mValueError\u001B[0m: set value must be in (0.45, 0.55)" ] } ], diff --git a/pyat/at/load/matfile.py b/pyat/at/load/matfile.py index 643dfdfe2..6275bb31e 100644 --- a/pyat/at/load/matfile.py +++ b/pyat/at/load/matfile.py @@ -33,9 +33,13 @@ "Particle": "particle", "cell_harmnumber": "cell_harmnumber", # necessary: property "beam_current": "beam_current", # necessary: property - "PassMethod": None, + "PassMethod": None, # Useless Matlab attributes "Length": None, "cavpts": None, + "Mat_File": None, # These are erroneous attributes saved in + "Mat_Key": None, # RingParam by old versions + "Beam_Current": None, + "Nbunch": None, } _p2m = dict((v, k) for k, v in _m2p.items() if v is not None) # Attribute to drop when writing a file @@ -504,6 +508,10 @@ def _mat_key(ring): return mat_key +def _ignore(ring, value): + pass + + register_format( ".mat", load_mat, @@ -518,5 +526,5 @@ def _mat_key(ring): descr="Matlab text m-file. See :py:func:`.load_m`.", ) -Lattice.mat_file = property(_mat_file, None, None) -Lattice.mat_key = property(_mat_key, None, None) +Lattice.mat_file = property(_mat_file, _ignore, None) +Lattice.mat_key = property(_mat_key, _ignore, None) From 9a78678410d184e47319e6a14c4a08100e08a2a9 Mon Sep 17 00:00:00 2001 From: Laurent Farvacque Date: Tue, 25 Jun 2024 18:20:08 +0200 Subject: [PATCH 2/3] fix license --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f36f40069..d2518ed9f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Intended Audience :: Science/Research", - "License :: OSI Approved :: The Unlicense (Unlicense)", + "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", From c0e62f23f5e2eda8e6d4215fb37740c546d004fa Mon Sep 17 00:00:00 2001 From: Laurent Farvacque Date: Tue, 25 Jun 2024 18:25:24 +0200 Subject: [PATCH 3/3] revert variabes.ipynb --- docs/p/notebooks/variables.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/p/notebooks/variables.ipynb b/docs/p/notebooks/variables.ipynb index 7d9965dd6..e9b6fb05a 100644 --- a/docs/p/notebooks/variables.ipynb +++ b/docs/p/notebooks/variables.ipynb @@ -416,11 +416,11 @@ "evalue": "set value must be in (0.45, 0.55)", "output_type": "error", "traceback": [ - "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", - "\u001B[0;31mValueError\u001B[0m Traceback (most recent call last)", - "Cell \u001B[0;32mIn[14], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m \u001B[43mlfbound\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mset\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;241;43m0.2\u001B[39;49m\u001B[43m)\u001B[49m\n", - "File \u001B[0;32m~/dev/libraries/at/pyat/at/lattice/variables.py:202\u001B[0m, in \u001B[0;36mVariableBase.set\u001B[0;34m(self, value, ring)\u001B[0m\n\u001B[1;32m 194\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"Set the variable value\u001B[39;00m\n\u001B[1;32m 195\u001B[0m \n\u001B[1;32m 196\u001B[0m \u001B[38;5;124;03mArgs:\u001B[39;00m\n\u001B[0;32m (...)\u001B[0m\n\u001B[1;32m 199\u001B[0m \u001B[38;5;124;03m may be necessary to set the variable.\u001B[39;00m\n\u001B[1;32m 200\u001B[0m \u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[1;32m 201\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m value \u001B[38;5;241m<\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds[\u001B[38;5;241m0\u001B[39m] \u001B[38;5;129;01mor\u001B[39;00m value \u001B[38;5;241m>\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds[\u001B[38;5;241m1\u001B[39m]:\n\u001B[0;32m--> 202\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mset value must be in \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mbounds\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m\"\u001B[39m)\n\u001B[1;32m 203\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_setfun(value, ring\u001B[38;5;241m=\u001B[39mring)\n\u001B[1;32m 204\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m np\u001B[38;5;241m.\u001B[39misnan(\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_initial):\n", - "\u001B[0;31mValueError\u001B[0m: set value must be in (0.45, 0.55)" + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[14], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mlfbound\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0.2\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/dev/libraries/at/pyat/at/lattice/variables.py:202\u001b[0m, in \u001b[0;36mVariableBase.set\u001b[0;34m(self, value, ring)\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Set the variable value\u001b[39;00m\n\u001b[1;32m 195\u001b[0m \n\u001b[1;32m 196\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03m may be necessary to set the variable.\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 201\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m value \u001b[38;5;241m<\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;129;01mor\u001b[39;00m value \u001b[38;5;241m>\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds[\u001b[38;5;241m1\u001b[39m]:\n\u001b[0;32m--> 202\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mset value must be in \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbounds\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 203\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_setfun(value, ring\u001b[38;5;241m=\u001b[39mring)\n\u001b[1;32m 204\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m np\u001b[38;5;241m.\u001b[39misnan(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_initial):\n", + "\u001b[0;31mValueError\u001b[0m: set value must be in (0.45, 0.55)" ] } ],