wolfhece 2.1.67__py3-none-any.whl → 2.1.69__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.
wolfhece/PyParams.py CHANGED
@@ -598,13 +598,13 @@ class Wolf_Param(wx.Frame):
598
598
  else:
599
599
  self.prop = pg.PropertyGridManager(self,
600
600
  style = pg.PG_BOLD_MODIFIED|pg.PG_SPLITTER_AUTO_CENTER|
601
- # Include toolbar.
602
- pg.PG_TOOLBAR if toolbar else 0 |
603
601
  # Include description box.
604
602
  pg.PG_DESCRIPTION |
605
603
  pg.PG_TOOLTIPS |
606
604
  # Plus defaults.
607
- pg.PGMAN_DEFAULT_STYLE
605
+ pg.PGMAN_DEFAULT_STYLE |
606
+ # Include toolbar.
607
+ pg.PG_TOOLBAR if toolbar else 0
608
608
  )
609
609
 
610
610
  self.prop.Bind(pg.EVT_PG_DOUBLE_CLICK,self.OnDblClick)
@@ -628,15 +628,11 @@ class Wolf_Param(wx.Frame):
628
628
  self.sizer.Fit(self)
629
629
 
630
630
  self.SetSize(0,0,w,h)
631
+ # self.prop.SetDescBoxHeight(80)
631
632
 
632
633
  #affichage de la page
633
634
  self.Show(toShow)
634
635
 
635
- def mask_toolbar(self):
636
- """ Mask the toolbar """
637
-
638
- self.prop.SetSt
639
-
640
636
  def _set_only_prop(self, wxparent):
641
637
  """ Set only the property grid """
642
638
 
@@ -759,15 +759,12 @@ class vectorproperties:
759
759
  """
760
760
 
761
761
  if self.myprops is None:
762
- self.myprops=Wolf_Param(title='Vector Properties', w=500, h=800, to_read=False)
762
+ self.myprops=Wolf_Param(title='Vector Properties', w= 500, h= 800, to_read= False, ontop= False)
763
763
  self.myprops.show_in_active_if_default = True
764
764
  self.myprops._callbackdestroy = self.destroyprop
765
765
  self.myprops._callback=self.fill_property
766
766
 
767
767
  self.myprops.hide_selected_buttons() # only 'Apply' button
768
- # self.myprops.saveme.Disable()
769
- # self.myprops.loadme.Disable()
770
- # self.myprops.reloadme.Disable()
771
768
 
772
769
  self.myprops.addparam('Draw','Color',(0,0,0),'Color','Drawing color',whichdict='Default')
773
770
  self.myprops.addparam('Draw','Width',1,'Integer','Drawing width',whichdict='Default')
@@ -1678,6 +1675,7 @@ class vector:
1678
1675
 
1679
1676
  glPolygonMode(GL_FRONT_AND_BACK,GL_LINE)
1680
1677
  glDisable(GL_BLEND)
1678
+ glLineWidth(1.0)
1681
1679
 
1682
1680
  def plot_legend(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
1683
1681
  """
@@ -2537,13 +2535,15 @@ class zone:
2537
2535
  curvect:vector
2538
2536
  nb_treated = 0
2539
2537
  i=0
2540
-
2538
+ idx_vect = 0
2541
2539
  while nb_treated < self.nbvectors:
2542
- curvect = self.get_vector(lines[i])
2540
+ curvect = self.myvectors[idx_vect]
2541
+ assert curvect.myname == lines[i], _('Vector name mismatch')
2543
2542
  i+=1
2544
2543
  ret = curvect.myprop.load_extra(lines[i:])
2545
2544
  i+=ret
2546
2545
  nb_treated += 1
2546
+ idx_vect += 1
2547
2547
 
2548
2548
  return i
2549
2549
 
@@ -3951,7 +3951,8 @@ class Zones(wx.Frame, Element_To_Draw):
3951
3951
  mapviewer=None,
3952
3952
  need_for_wx: bool = False,
3953
3953
  bbox:Polygon = None,
3954
- find_minmax:bool = True) -> None:
3954
+ find_minmax:bool = True,
3955
+ shared:bool = False) -> None:
3955
3956
  """
3956
3957
  Objet de gestion et d'affichage d'informations vectorielles
3957
3958
 
@@ -3968,6 +3969,7 @@ class Zones(wx.Frame, Element_To_Draw):
3968
3969
  :param need_for_wx: si True --> permet l'affichage de la structure via WX car une app WX existe et est en cours d'exécution
3969
3970
  :param bbox: bounding box
3970
3971
  :param find_minmax: si True --> recherche des valeurs min et max
3972
+ :param shared: si True --> les vecteurs sont partagés entre plusieurs autres objets --> pas de préparation de la liste OGL
3971
3973
 
3972
3974
  wx_exists : si True --> permet l'affichage de la structure via WX car une app WX existe et est en cours d'exécution
3973
3975
 
@@ -3986,6 +3988,7 @@ class Zones(wx.Frame, Element_To_Draw):
3986
3988
  self._myprops = None # common properties of all zones
3987
3989
 
3988
3990
  self.loaded=True
3991
+ self.shared = shared # shared betwwen several WolfArray, wolfresults2d...
3989
3992
 
3990
3993
  self.active_vector:vector = None
3991
3994
  self.active_zone:zone = None
@@ -4072,20 +4075,39 @@ class Zones(wx.Frame, Element_To_Draw):
4072
4075
  try:
4073
4076
  nblines = len(lines)
4074
4077
  i=0
4078
+ idx_zone = 0
4075
4079
  while i<nblines:
4076
- curzone = self.get_zone(lines[i])
4080
+ curzone = self.myzones[idx_zone]
4081
+ assert curzone.myname == lines[i], _('Error while reading extra properties of {}'.format(self.filename))
4077
4082
  i+=1
4078
4083
  ret = curzone.load_extra(lines[i:])
4079
4084
  i+=ret
4085
+ idx_zone += 1
4080
4086
  except:
4081
4087
  logging.warning(_('Error while reading extra properties of {}'.format(self.filename)))
4082
4088
 
4083
4089
  if find_minmax:
4084
4090
  self.find_minmax(True)
4085
4091
 
4086
- if plotted and self.has_OGLContext:
4092
+ if plotted and self.has_OGLContext and not self.shared:
4087
4093
  self.prep_listogl()
4088
4094
 
4095
+ def force_unique_zone_name(self):
4096
+ """
4097
+ Check if all zones have a unique id
4098
+
4099
+ If not, the id will be set to the index of the zone in the list
4100
+ """
4101
+
4102
+ names = [curzone.myname for curzone in self.myzones]
4103
+ unique_names = set(names)
4104
+
4105
+ if len(unique_names) != len(names):
4106
+ for idx, curzone in enumerate(self.myzones):
4107
+ if names.count(curzone.myname)>1:
4108
+ curzone.myname += '_'+str(idx)
4109
+
4110
+
4089
4111
  @property
4090
4112
  def nbzones(self):
4091
4113
  return len(self.myzones)
@@ -4996,6 +5018,10 @@ class Zones(wx.Frame, Element_To_Draw):
4996
5018
  curv = self.active_vector
4997
5019
  n_rows = self.xls.GetNumberRows()
4998
5020
 
5021
+ if n_rows < 2:
5022
+ logging.warning(_('You need at least 2 points to interpolate the XY coordinates from the SZ coordinates'))
5023
+ return
5024
+
4999
5025
  # Getting the 2 first XY coordinates
5000
5026
  X =[]
5001
5027
  Y = []
@@ -6038,9 +6064,19 @@ class Zones(wx.Frame, Element_To_Draw):
6038
6064
  return
6039
6065
 
6040
6066
  actzone =self.active_zone
6041
- actzone.myvectors.pop(int(actzone.myvectors.index(self.active_vector)))
6042
- self.fill_structure()
6043
- self.find_minmax(True)
6067
+
6068
+ if actzone.nbvectors==0:
6069
+ return
6070
+
6071
+ idx = int(actzone.myvectors.index(self.active_vector))
6072
+ if idx >= 0 and idx < actzone.nbvectors:
6073
+ actzone.myvectors.pop(idx)
6074
+
6075
+ if actzone.nbvectors==0:
6076
+ self.Activate_vector(None)
6077
+
6078
+ self.fill_structure()
6079
+ self.find_minmax(True)
6044
6080
 
6045
6081
  def OnClickup_vector(self, event:wx.MouseEvent):
6046
6082
  """Remonte le vecteur actif dans la liste de la zone"""
@@ -6217,7 +6253,13 @@ class Zones(wx.Frame, Element_To_Draw):
6217
6253
 
6218
6254
  if self.active_vector is None:
6219
6255
  logging.info(_('Active vector is now set to None'))
6256
+ self.labelactvect.SetLabel('None')
6220
6257
  self.xls.ClearGrid()
6258
+ if self.parent is not None:
6259
+ try:
6260
+ self.parent.Active_vector(self.active_vector)
6261
+ except:
6262
+ raise Warning(_('Not supported in the current parent -- see PyVertexVectors in Activate_vector function'))
6221
6263
  return
6222
6264
 
6223
6265
  self.xls_active_vector()
@@ -6249,6 +6291,7 @@ class Zones(wx.Frame, Element_To_Draw):
6249
6291
 
6250
6292
  if self.active_zone is None:
6251
6293
  logging.info(_('Active zone is now set to None'))
6294
+ self.labelactzone.SetLabel('None')
6252
6295
  self.xls.ClearGrid()
6253
6296
  return
6254
6297
 
wolfhece/apps/version.py CHANGED
@@ -5,7 +5,7 @@ class WolfVersion():
5
5
 
6
6
  self.major = 2
7
7
  self.minor = 1
8
- self.patch = 67
8
+ self.patch = 69
9
9
 
10
10
  def __str__(self):
11
11
 
@@ -554,7 +554,9 @@ class hydrometry():
554
554
  return self.realstations.iloc[index[0]]
555
555
 
556
556
  def get_timeseries_group(self, rfw:Literal['rain','waterdepth','flowrate'], time:Literal['5min','5or10min','1h','1d','1m']):
557
- """Obtention des stations pour le groupe souhaité
557
+ """Obtention des stations pour le groupe souhaité.
558
+
559
+ Temps retourné en UTC
558
560
 
559
561
  :param rfw: type de groupe - rain, flowrate, waterdepth
560
562
  :param time: type de série - 5min, 5or10min, 1h, 1d, 1m
wolfhece/pyviews.py CHANGED
@@ -11,7 +11,8 @@ copying or distribution of this file, via any medium, is strictly prohibited.
11
11
  import logging
12
12
 
13
13
  from .drawing_obj import Element_To_Draw
14
- from .wolf_array import WolfArray, WolfArrayMB, VERSION_RGB, wolfpalette
14
+ from .wolf_array import WolfArray, WolfArrayMB, VERSION_RGB
15
+ from .PyPalette import wolfpalette
15
16
  from .PyParams import Wolf_Param, key_Param, Type_Param
16
17
 
17
18
 
wolfhece/wolf_array.py CHANGED
@@ -46,9 +46,14 @@ from os.path import dirname,basename,join
46
46
  import logging
47
47
  from typing import Literal
48
48
  from copy import deepcopy
49
- from osgeo import gdal
50
49
  from enum import Enum
51
50
 
51
+ try:
52
+ from osgeo import gdal
53
+ except ImportError as e:
54
+ print(e)
55
+ raise Exception(_('Error importing GDAL library'))
56
+
52
57
  try:
53
58
  from .Coordinates_operations import reproject_and_resample_raster
54
59
  except ImportError as e:
@@ -1458,7 +1463,14 @@ class Ops_Array(wx.Frame):
1458
1463
 
1459
1464
  def get_linked_arrays(self):
1460
1465
  """ Pour compatibilité avec la gestion de vecteur et WolfMapViewer """
1461
- return {self.parentarray.idx: self.parentarray}
1466
+ if self.is_shared:
1467
+ comp, diff = self._get_comp_elts_diff()
1468
+ ret = {}
1469
+ for elt in comp + diff:
1470
+ ret[elt.idx] = elt
1471
+ return ret
1472
+ else:
1473
+ return {self.parentarray.idx: self.parentarray}
1462
1474
 
1463
1475
  def set_GUI(self):
1464
1476
  """Set the wx GUI"""
@@ -2408,6 +2420,72 @@ class Ops_Array(wx.Frame):
2408
2420
  except Exception as e:
2409
2421
  logging.error('Error in hide_properties : %s' % e)
2410
2422
 
2423
+ @property
2424
+ def is_shared(self):
2425
+ """ Check if the vector manager is shared """
2426
+
2427
+ if self.mapviewer is not None:
2428
+ if self.mapviewer.linked:
2429
+ if not self.mapviewer.linkedList is None:
2430
+ comp = None
2431
+ for curviewer in self.mapviewer.linkedList:
2432
+ if curviewer.compare_results is not None:
2433
+ comp = curviewer.compare_results
2434
+ break
2435
+
2436
+ if comp is not None:
2437
+ elts = comp.elements
2438
+ diff = comp.diff
2439
+ if self.parentarray in elts or self.parentarray in diff and self.mapviewer.link_shareopsvect:
2440
+ return True
2441
+
2442
+ return False
2443
+
2444
+ def _get_comp_elts_diff(self):
2445
+ """ Get the elements and the differences of the linked arrays """
2446
+
2447
+ if self.mapviewer is not None:
2448
+ if self.mapviewer.linked:
2449
+ if not self.mapviewer.linkedList is None:
2450
+ comp = None
2451
+ for curviewer in self.mapviewer.linkedList:
2452
+ if curviewer.compare_results is not None:
2453
+ comp = curviewer.compare_results
2454
+ break
2455
+
2456
+ if comp is not None:
2457
+ return comp.elements, comp.diff
2458
+
2459
+ return [], []
2460
+
2461
+ def _link_zones(self):
2462
+ """ Link the same vector manager to all the linked arrays """
2463
+
2464
+ if self.mapviewer is not None:
2465
+ if self.mapviewer.linked:
2466
+ if not self.mapviewer.linkedList is None:
2467
+ comp = None
2468
+ for curviewer in self.mapviewer.linkedList:
2469
+ if curviewer.compare_results is not None:
2470
+ comp = curviewer.compare_results
2471
+ break
2472
+
2473
+ if comp is not None:
2474
+ elts = comp.elements
2475
+ for curelt in elts:
2476
+ if self.parentarray is not curelt:
2477
+ curelt.myops.myzones = self.myzones
2478
+ curelt.myops.fnsave = self.fnsave
2479
+
2480
+ diff = comp.diff
2481
+ for curelt in diff:
2482
+ if self.parentarray is not curelt:
2483
+ curelt.myops.myzones = self.myzones
2484
+ curelt.myops.fnsave = self.fnsave
2485
+
2486
+ for curviewer in self.mapviewer.linkedList:
2487
+ curviewer.Refresh()
2488
+
2411
2489
  def OnLoadvec(self, event:wx.MouseEvent):
2412
2490
  """ Load vector file """
2413
2491
 
@@ -2421,18 +2499,15 @@ class Ops_Array(wx.Frame):
2421
2499
 
2422
2500
  self.fnsave = dlg.GetPath()
2423
2501
  dlg.Destroy()
2424
- self.myzones = Zones(self.fnsave, parent=self)
2502
+
2503
+ self.myzones = Zones(self.fnsave, parent= self, shared= self.is_shared)
2425
2504
 
2426
2505
  # Link the same vector manager to all the linked arrays
2427
- #FIXME : only works if the active_array is the good one
2428
2506
  if self.mapviewer is not None:
2429
2507
  if self.mapviewer.linked:
2430
- if not self.mapviewer.linkedList is None:
2431
- for curViewer in self.mapviewer.linkedList:
2432
- if curViewer.link_shareopsvect:
2433
- curViewer.active_array.myops.myzones = self.myzones
2434
- curViewer.active_array.myops.fnsave = self.fnsave
2435
- self.mapviewer.Refresh()
2508
+ self._link_zones()
2509
+ else:
2510
+ self.mapviewer.Refresh()
2436
2511
 
2437
2512
  def OnSaveasvec(self, event:wx.MouseEvent):
2438
2513
  """ Save vector file """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolfhece
3
- Version: 2.1.67
3
+ Version: 2.1.69
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  License: Copyright (c) 2024 University of Liege. All rights reserved.
6
6
  Project-URL: Homepage, https://uee.uliege.be/hece
@@ -4,19 +4,19 @@ wolfhece/GraphNotebook.py,sha256=2TR8qjEwpMtl34QWgYNVe_PgTnuwhUxT5f9Y2zrmN2U,282
4
4
  wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,69656
5
5
  wolfhece/Lidar2002.py,sha256=bX-nIzdpjD7rOfEgJpTeaW6rIdAXwDp_z4YTM9CgANY,6068
6
6
  wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
7
- wolfhece/Model1D.py,sha256=uL1DJVmDI2xVSE7H6n3icn3QbsPtTHeg8E-6wkDloKw,476914
7
+ wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
8
8
  wolfhece/PyConfig.py,sha256=FB8u0belXOXTb03Ln6RdVWvMgjzi3oGPCmw2dWa3lNg,8332
9
9
  wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
10
- wolfhece/PyDraw.py,sha256=yHbr9KolS2j0uL9wbzV6McwXvZHVeSSZ64y6-wJot5s,411135
10
+ wolfhece/PyDraw.py,sha256=qKdjRbAWIwDw5UqdiY8xJ0tlZE_2sgh7CQMwCT7nkpQ,411126
11
11
  wolfhece/PyGui.py,sha256=oBIBpgBQRR_XXucKE5-RFrtqKj0DRg9VlUCRo8Mzalc,105009
12
12
  wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
13
13
  wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
14
14
  wolfhece/PyPalette.py,sha256=3ehK6H2PvqSe0zICR1HyNs6KQokR1DmnAh4LwYnLIcU,28009
15
- wolfhece/PyParams.py,sha256=Zxf3baM4TFNapcDqgrtM4IZ4vwCGVd3penwgwWUtG40,97775
15
+ wolfhece/PyParams.py,sha256=LGt9uBFRVeS0F_kObJw8bPkWFqYSzf5pUTscxVU5Mxo,97725
16
16
  wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
17
17
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
18
18
  wolfhece/PyVertex.py,sha256=MtZVjIWIi62QX_oqNosb56xPgjhOGVeGz-XsD82tsNg,40614
19
- wolfhece/PyVertexvectors.py,sha256=6rUVRMbar-2s59DrbnGncUOj5dR5ovMYxi8LXLd9PzA,236833
19
+ wolfhece/PyVertexvectors.py,sha256=z6MTKabo3cvIq-qKUjdHbgqeoHagbK6nBU_x-fFGG7A,238671
20
20
  wolfhece/PyWMS.py,sha256=fyyzm2HFwq8aRwVYHKiBatcZOeKnFi6DWhv4nfscySQ,4602
21
21
  wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
22
22
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
@@ -43,12 +43,12 @@ wolfhece/pydike.py,sha256=hPBQsmSTW4QAp1wcOzb-TL3L7eet2WT1sJx2q-WNQ-Q,2241
43
43
  wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
44
44
  wolfhece/pypolygons_scen.py,sha256=x-tnYLNq3MPV51NbaU14trgRj8qyUyOrMdF1zDsUX3I,37444
45
45
  wolfhece/pyshields.py,sha256=7k-qe2EJgr9fJE62jyPmlWQwRj8T0DK4iuMU844ZhYs,23281
46
- wolfhece/pyviews.py,sha256=AUtJY5V43XVH9juIKUSsozKbpkXHCEkWxn0GWuvAo_0,12562
46
+ wolfhece/pyviews.py,sha256=jFbjktYG-knwaqPzECuspZLesBcd40mptlaXqU_phfM,12585
47
47
  wolfhece/pywalous.py,sha256=yRaWJjKckXef1d9D5devP0yFHC9uc6kRV4G5x9PNq9k,18972
48
48
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
49
49
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
50
50
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
51
- wolfhece/wolf_array.py,sha256=QmAcZNRMdGwqXRO3MsRMREYW_3ZdJ41i9gg4WMtAbLM,376746
51
+ wolfhece/wolf_array.py,sha256=IV6aEILSsKLZdYnb6UWcL1ULB_EoPUB_Zc1N7MkfVcg,379441
52
52
  wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
53
53
  wolfhece/wolf_texture.py,sha256=DS5eobLxrq9ljyebYfpMSQPn8shkUAZZVfqrOKN_QUU,16951
54
54
  wolfhece/wolf_tiles.py,sha256=2Ho2I20rHRY81KXxjgLOYISdF4OkJ2d6omeY4shDoGI,10386
@@ -72,7 +72,7 @@ wolfhece/apps/check_install.py,sha256=Xoi_d8MzKzNAy2xqEpERdsqgRPu0hbBWukI0WkIYzD
72
72
  wolfhece/apps/curvedigitizer.py,sha256=Yps4bcayzbsz0AoVc_dkSk35dEhhn_esIBy1Ziefgmk,5334
73
73
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
74
74
  wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
75
- wolfhece/apps/version.py,sha256=cRc1I581AOhBuOpRqqnB83bANUXPq9N2wF1OVKOBfno,388
75
+ wolfhece/apps/version.py,sha256=5hmxVJ0GilhUXAnhr1lmWqGjBs0UDfE9Uoz6a_cNi1A,388
76
76
  wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
77
77
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
78
78
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -126,7 +126,7 @@ wolfhece/hydrology/read.py,sha256=itMat6MMn4Y14C3SMU_9JMBtpXFjG4mLNMfXXd5U6Ns,93
126
126
  wolfhece/hydrology/slope_manager.py,sha256=vlek0z8qcqB61eleiksyOe3QR1vpbtwfeowy6ms7_Fg,5580
127
127
  wolfhece/hydrology/wolfMap_treatment.py,sha256=eAxr24zJGwmDof1aZpcxewVvv_bWDvoO8t9Wwf99Mlo,10606
128
128
  wolfhece/hydrometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- wolfhece/hydrometry/kiwis.py,sha256=m3LGNxmB_ZY_ug-8BCM8jK_VqN6LtWRGpbPWtgRYFSE,46460
129
+ wolfhece/hydrometry/kiwis.py,sha256=jW5ivM0h_wZ_jM6OWh994iwQtsCZdwmQsMA7TMnCxMg,46495
130
130
  wolfhece/hydrometry/kiwis_gui.py,sha256=lApsSeBMJNAR1yocggdoHwz_xe6M_oaZ_E13CfHAlQA,23124
131
131
  wolfhece/hydrometry/kiwis_wolfgui.py,sha256=GPa5YNp2V2ZlxYQjPiCXERgPuWB_zij4ec2yHpRvoFA,4027
132
132
  wolfhece/hydrometry/kiwispie.py,sha256=akOaV46WwzISVlCcPz_phjsBrI_rDACUzdELtjx-xNg,13498
@@ -283,8 +283,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
283
283
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
284
284
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
285
285
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
286
- wolfhece-2.1.67.dist-info/METADATA,sha256=77W5WHquObr8qkk2A97PzjeORUnqfXAh_0Vo-F0cAaw,2570
287
- wolfhece-2.1.67.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
288
- wolfhece-2.1.67.dist-info/entry_points.txt,sha256=Q5JuIWV4odeIJI3qc6fV9MwRoz0ezqPVlFC1Ppm_vdQ,395
289
- wolfhece-2.1.67.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
290
- wolfhece-2.1.67.dist-info/RECORD,,
286
+ wolfhece-2.1.69.dist-info/METADATA,sha256=6fgeG56kwR7bkwR66SssGkbGX7PsRPmxl_bCCk2Dc3k,2570
287
+ wolfhece-2.1.69.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
288
+ wolfhece-2.1.69.dist-info/entry_points.txt,sha256=Q5JuIWV4odeIJI3qc6fV9MwRoz0ezqPVlFC1Ppm_vdQ,395
289
+ wolfhece-2.1.69.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
290
+ wolfhece-2.1.69.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: setuptools (72.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5