a2p2 0.7.6__py3-none-any.whl → 0.7.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
a2p2/jmmc/catalogs.py CHANGED
@@ -26,6 +26,8 @@ class Catalog():
26
26
 
27
27
  def __init__(self, catalogName, username=None, password=None, prod=False, apiUrl=None, tapUrl=None, where=None, joins=None):
28
28
  self.catalogName = catalogName
29
+ self.updated = False
30
+ self.lastTable = None
29
31
  self.where = where
30
32
  self.joins = joins
31
33
  self.prod = prod
@@ -99,13 +101,16 @@ class Catalog():
99
101
 
100
102
  return self.getTable().to_pandas()
101
103
 
102
- def getTable(self, maxrec=10000):
104
+ def getTable(self, maxrec=10000, forceUpdate=False):
103
105
  """ Get an astropy table from the main catalog joined the other if provided in constructor.
104
106
 
105
107
  usage: cat.getTable()
106
108
  """
107
109
  # using SELECT TOP N below to workarround astroquery.utils.tap BUG
108
110
 
111
+ if not self.updated and self.lastTable and not forceUpdate:
112
+ return self.lastTable
113
+
109
114
  clauses = []
110
115
  if self.joins :
111
116
  joinedCatalogNames = []
@@ -136,7 +141,9 @@ class Catalog():
136
141
 
137
142
  query = " ".join(clauses)
138
143
  logger.info(f"Querying remote catalog : {query}")
139
- return self.tap.search(query,maxrec=maxrec).to_table()
144
+ self.lastTable = self.tap.search(query,maxrec=maxrec).to_table()
145
+ self.updated=False
146
+ return self.lastTable
140
147
 
141
148
  def tableToDict(self, table):
142
149
  """ Convert table (astropy.table or row) to a list of dict so we can modify content and update remote catalog using updateRows().
@@ -166,6 +173,7 @@ class Catalog():
166
173
 
167
174
  usage: cat.updateRows(42, {"col_a":"a", "col_b":"b" })
168
175
  """
176
+ self.updated = True
169
177
  return self.api._put(f"/{self.catalogName}/{id}", values)
170
178
 
171
179
  def updateRows(self, values):
@@ -174,7 +182,7 @@ class Catalog():
174
182
 
175
183
  usage: updateRows([ { "id":42, "col_a":"a" }, { "id":24, "col_b":"b" } ])
176
184
  """
177
-
185
+ self.updated = True
178
186
  # We may check befere sending payload that we always provide an id for every record
179
187
  # What is the behaviour if we provide various data assosiated to the same id ?
180
188
  return self.api._put(f"/{self.catalogName}", values)
@@ -185,6 +193,7 @@ class Catalog():
185
193
 
186
194
  usage: addCatalogRows([ { "id":42, "col_a":"a" }, { "id":24, "col_b":"b" } ])
187
195
  """
196
+ self.updated = True
188
197
  return self.api._post(f"/{self.catalogName}", json=values)
189
198
 
190
199
 
a2p2/version.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.7.6"
1
+ __version__ = "0.7.7"
2
2
 
3
3
  __release_notes__ = {
4
4
  # "0.1.6": {
@@ -23,7 +23,11 @@ __release_notes__ = {
23
23
  # "Try to read OB in P2 and send them back to Aspro2 as a new obs",
24
24
  # ],
25
25
 
26
- "0.7.6": {
26
+ "0.7.7": {
27
+ "A2P2": [
28
+ "save some data retrival until update or force request occurs",
29
+ ],
30
+ },"0.7.6": {
27
31
  "A2P2": [
28
32
  "add getDataFrame() to a2p2.jmmc.Catalog to provide remote data with pandas format",
29
33
  ],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: a2p2
3
- Version: 0.7.6
3
+ Version: 0.7.7
4
4
  Author-email: JMMC Tech Group <jmmc-tech-group@jmmc.fr>
5
5
  License: OSI Approved :: GNU General Public License v3 (GPLv3)
6
6
  Project-URL: Homepage, https://www.jmmc.fr/a2p2
@@ -7,12 +7,12 @@ a2p2/instrument.py,sha256=JI1i8vsGu1ku_3i7my278b8y8vL5Z-SF3V8XkHPSs48,732
7
7
  a2p2/ob.py,sha256=lcSm5eXv79K6cjp0VxvxD4sSlsBTKHGbmT85XEx74lY,6268
8
8
  a2p2/samp.py,sha256=DN20lWszkuuneR1BV1MBLEyoGyN8tZWvOeC5rEVLICo,3438
9
9
  a2p2/utils.py,sha256=QEA9cpc2TaqXDa4yqrFiGkCl__1wV8--rVw_A-p_HM0,23833
10
- a2p2/version.py,sha256=SBcM00GM4AaYrNLt35Q9OmYC5RG20coTbavUQYpboB0,12614
10
+ a2p2/version.py,sha256=IlWxDqoVq3nbpxcyAiJ0pxrp7opkJ4Stqhg8ICCrs6s,12734
11
11
  a2p2/chara/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  a2p2/chara/facility.py,sha256=otv0UVQVYD7dE_ENojjatjld5owgM9qRm7vsAc0jyqQ,2754
13
13
  a2p2/chara/gui.py,sha256=4O8u-g-UJSeqEV9CUPNflVNWIsmH0b_xf8c9huxAivs,5119
14
14
  a2p2/jmmc/__init__.py,sha256=Yx8Ae77UQA_aLMzhKgWym4m2fbMR_4m77TGfaXy6I4A,187
15
- a2p2/jmmc/catalogs.py,sha256=bEmG_gkte5uGeKcbsnz6BTMYLnWB4HFpp_XmgSxcwyg,8624
15
+ a2p2/jmmc/catalogs.py,sha256=dbo54rz26EkPWUCsV9zngLpllnFqvNKpS84Gomn2WL8,8955
16
16
  a2p2/jmmc/generated_models.py,sha256=69fmPfkCMBc0GyDeHp1rs0vkoPqOE4j0egMBWX5mB1U,11823
17
17
  a2p2/jmmc/models.py,sha256=ikI8Dk-9ThkG1uHtoPJwB43tPF_YZj8M5tftIcJio7s,3776
18
18
  a2p2/jmmc/services.py,sha256=kcRaRnR4COKijF5izDqqNHjKyU1j2H8PEPvbDsBUFcw,312
@@ -31,9 +31,9 @@ a2p2/vlti/conf/MATISSE_ditTable.json,sha256=2RQXb9UL1_VlcAAGoxqpe3nTrRfO4gyOX_IG
31
31
  a2p2/vlti/conf/MATISSE_rangeTable.json,sha256=_j5m-EOh4bbfwdaANdh23yjgNef95AUku_uNujr9BDc,5770
32
32
  a2p2/vlti/conf/PIONIER_ditTable.json,sha256=BKK7nF0nE_LOP44l_fAvAnpG8oOq5p9srcdTNQ2udKo,857
33
33
  a2p2/vlti/conf/PIONIER_rangeTable.json,sha256=71Ycm2h-uBUVSAWy6lTpaBDOYwKKL5MuZH6F5ESHOI0,2113
34
- a2p2-0.7.6.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
35
- a2p2-0.7.6.dist-info/METADATA,sha256=7JQoo7_dNUObegDtEqWxnsdSkFIOZOeTziMDx7hKyTY,4188
36
- a2p2-0.7.6.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
37
- a2p2-0.7.6.dist-info/entry_points.txt,sha256=5Pq7faxs04hSEtjpqtBAlHw3cGUpvTmBugnS5PzgJMY,44
38
- a2p2-0.7.6.dist-info/top_level.txt,sha256=lLDb6xGRyHYSbrO0EUx8vNEzTiCDtPe2z7PSbqGY4kE,5
39
- a2p2-0.7.6.dist-info/RECORD,,
34
+ a2p2-0.7.7.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
35
+ a2p2-0.7.7.dist-info/METADATA,sha256=2PINF64OeVs9rRtgU5NY7DVEODvfjXB7BlAB_9nc07M,4188
36
+ a2p2-0.7.7.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
37
+ a2p2-0.7.7.dist-info/entry_points.txt,sha256=5Pq7faxs04hSEtjpqtBAlHw3cGUpvTmBugnS5PzgJMY,44
38
+ a2p2-0.7.7.dist-info/top_level.txt,sha256=lLDb6xGRyHYSbrO0EUx8vNEzTiCDtPe2z7PSbqGY4kE,5
39
+ a2p2-0.7.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5