salabim 24.0.10.post5__py3-none-any.whl → 24.0.11__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.
salabim/salabim.py CHANGED
@@ -1,13 +1,13 @@
1
- # _ _ _ ____ _ _ ___ _ ___
2
- # ___ __ _ | | __ _ | |__ (_) _ __ ___ |___ \ | || | / _ \ / | / _ \
3
- # / __| / _` || | / _` || '_ \ | || '_ ` _ \ __) || || |_ | | | | | || | | |
4
- # \__ \| (_| || || (_| || |_) || || | | | | | / __/ |__ _| _ | |_| | _ | || |_| |
5
- # |___/ \__,_||_| \__,_||_.__/ |_||_| |_| |_| |_____| |_| (_) \___/ (_)|_| \___/
1
+ # _ _ _ ____ _ _ ___ _ _
2
+ # ___ __ _ | | __ _ | |__ (_) _ __ ___ |___ \ | || | / _ \ / |/ |
3
+ # / __| / _` || | / _` || '_ \ | || '_ ` _ \ __) || || |_ | | | | | || |
4
+ # \__ \| (_| || || (_| || |_) || || | | | | | / __/ |__ _| _ | |_| | _ | || |
5
+ # |___/ \__,_||_| \__,_||_.__/ |_||_| |_| |_| |_____| |_| (_) \___/ (_)|_||_|
6
6
  # discrete event simulation
7
7
  #
8
8
  # see www.salabim.org for more information, the documentation and license information
9
9
 
10
- __version__ = "24.0.10"
10
+ __version__ = "24.0.11"
11
11
 
12
12
  import heapq
13
13
  import random
@@ -60,9 +60,8 @@ PyDroid = sys.platform == "linux" and any("pydroid" in v for v in os.environ.val
60
60
  PyPy = platform.python_implementation() == "PyPy"
61
61
  Chromebook = "penguin" in platform.uname()
62
62
  PythonInExcel = not ("__file__" in globals())
63
- AnacondaCode="pyscript" in sys.modules
63
+ AnacondaCode = "pyscript" in sys.modules
64
64
 
65
- my_globals=globals()
66
65
 
67
66
  def a_log(*args):
68
67
  if not hasattr(a_log, "a_logfile_name"):
@@ -77,7 +76,7 @@ def a_log(*args):
77
76
  class g: ...
78
77
 
79
78
 
80
- if (PythinInExcel or AnacondaCode):
79
+ if PythonInExcel or AnacondaCode:
81
80
  _pie_result = []
82
81
 
83
82
  def pie_result():
@@ -856,7 +855,7 @@ class Monitor:
856
855
  stop += self.env._offset
857
856
  stop_action = "b" # non inclusive
858
857
  if self.env._animate:
859
- stop=min(stop,self.env._t)
858
+ stop = min(stop, self.env._t)
860
859
  else:
861
860
  stop = min(stop, self.env._now - self.env._offset) # not self.now() in order to support frozen monitors
862
861
  actions.append((start, "a", 0, 0))
@@ -891,21 +890,20 @@ class Monitor:
891
890
 
892
891
  enabled = False
893
892
  if self.env._animate:
894
- _x=self._x[:]
895
- _t=self._t[:]
893
+ _x = self._x[:]
894
+ _t = self._t[:]
896
895
  if self._x:
897
896
  _x.append(self._x[-1])
898
897
  _t.append(self.env._t)
899
- if isinstance(self._weight,bool):
900
- _weight=self._weight
898
+ if isinstance(self._weight, bool):
899
+ _weight = self._weight
901
900
  else:
902
- _weight=self._weight[:]
901
+ _weight = self._weight[:]
903
902
  _weight.append(self._weight[-1])
904
903
  else:
905
- _x=self._x
906
- _t=self._t
907
- _weight=self._weight
908
-
904
+ _x = self._x
905
+ _t = self._t
906
+ _weight = self._weight
909
907
 
910
908
  if self.env._animate:
911
909
  if self._x:
@@ -914,10 +912,8 @@ class Monitor:
914
912
  try:
915
913
  _weight.append(self.weight[-1])
916
914
  except AttributeError:
917
- ... # ignore if bool
918
- for t, type, x, weight in heapq.merge(
919
- actions, zip(self._t, itertools.repeat("c"), _x, _weight if (_weight and not self._level) else (1,) * len(_x))
920
- ):
915
+ ... # ignore if bool
916
+ for t, type, x, weight in heapq.merge(actions, zip(self._t, itertools.repeat("c"), _x, _weight if (_weight and not self._level) else (1,) * len(_x))):
921
917
  if new._level:
922
918
  if type == "a":
923
919
  enabled = True
@@ -10209,7 +10205,7 @@ class Environment:
10209
10205
  self.stopped = False
10210
10206
  self._paused = False
10211
10207
  self.last_s0 = ""
10212
- if (PythinInExcel or AnacondaCode):
10208
+ if PythonInExcel or AnacondaCode:
10213
10209
  self._blind_animation = True
10214
10210
  else:
10215
10211
  self._blind_animation = blind_animation
@@ -11504,7 +11500,7 @@ class Environment:
11504
11500
  if self._video_pingpong:
11505
11501
  self._images.extend(self._images[::-1])
11506
11502
  if self._video_repeat == 1: # in case of repeat == 1, loop should not be specified (otherwise, it might show twice)
11507
- if (PythinInExcel or AnacondaCode): # ***
11503
+ if PythonInExcel or AnacondaCode: # ***
11508
11504
  with b64_file_handler(self._video_name, mode="b", result=_pie_result) as f:
11509
11505
  self._images[0].save(
11510
11506
  f,
@@ -11525,7 +11521,7 @@ class Environment:
11525
11521
  optimize=False,
11526
11522
  )
11527
11523
  else:
11528
- if (PythinInExcel or AnacondaCode): # ***
11524
+ if PythonInExcel or AnacondaCode: # ***
11529
11525
  with b64_file_handler(self._video_name, mode="b", result=_pie_result) as f:
11530
11526
  self._images[0].save(
11531
11527
  f,
@@ -13114,7 +13110,7 @@ class Environment:
13114
13110
  mode = "RGB"
13115
13111
  else:
13116
13112
  raise ValueError("extension " + extension + " not supported")
13117
- if (PythinInExcel or AnacondaCode):
13113
+ if PythonInExcel or AnacondaCode:
13118
13114
  with b64_file_handler(str(filename), mode="b", result=_pie_result) as f:
13119
13115
  format = "jpeg" if extension == ".jpg" else extension[1:]
13120
13116
  self._capture_image(mode, video_mode).save(f, format=format)
@@ -14131,15 +14127,15 @@ class Environment:
14131
14127
  note that the header is only printed if trace=True
14132
14128
  """
14133
14129
  len_s1 = len(self.time_to_str(0))
14134
- self.print_trace((len_s1 - 4) * " " + "time", "current component", "action", "information", "" if (PythinInExcel or AnacondaCode) else "line#")
14135
- self.print_trace(len_s1 * "-", 20 * "-", 35 * "-", 48 * "-", "" if (PythinInExcel or AnacondaCode) else 6 * "-")
14130
+ self.print_trace((len_s1 - 4) * " " + "time", "current component", "action", "information", "" if (PythonInExcel or AnacondaCode) else "line#")
14131
+ self.print_trace(len_s1 * "-", 20 * "-", 35 * "-", 48 * "-", "" if (PythonInExcel or AnacondaCode) else 6 * "-")
14136
14132
  for ref in range(len(self._source_files)):
14137
14133
  for fullfilename, iref in self._source_files.items():
14138
14134
  if ref == iref:
14139
14135
  self._print_legend(iref)
14140
14136
 
14141
14137
  def _print_legend(self, ref):
14142
- if (PythinInExcel or AnacondaCode):
14138
+ if PythonInExcel or AnacondaCode:
14143
14139
  return
14144
14140
  if ref:
14145
14141
  s = "line numbers prefixed by " + chr(ord("A") + ref - 1) + " refer to"
@@ -14157,7 +14153,7 @@ class Environment:
14157
14153
  return self.filename_lineno_to_str(frameinfo.filename, frameinfo.lineno)
14158
14154
 
14159
14155
  def filename_lineno_to_str(self, filename, lineno):
14160
- if (PythinInExcel or AnacondaCode):
14156
+ if PythonInExcel or AnacondaCode:
14161
14157
  return "n/a"
14162
14158
  if Path(filename).name == Path(__file__).name: # internal salabim address
14163
14159
  return "n/a"
@@ -24264,7 +24260,7 @@ def _set_name(name, _nameserialize, object):
24264
24260
 
24265
24261
  @functools.lru_cache()
24266
24262
  def _screen_dimensions():
24267
- if (PythinInExcel or AnacondaCode):
24263
+ if PythonInExcel or AnacondaCode:
24268
24264
  return 1024, 768
24269
24265
  if Pythonista:
24270
24266
  screen_width, screen_height = ui.get_screen_size()
@@ -26280,7 +26276,7 @@ def _std_fonts():
26280
26276
 
26281
26277
 
26282
26278
  def fonts():
26283
- if (PythinInExcel or AnacondaCode):
26279
+ if PythonInExcel or AnacondaCode:
26284
26280
  return []
26285
26281
  if not hasattr(fonts, "font_list"):
26286
26282
  fonts.font_list = []
@@ -26553,7 +26549,7 @@ def can_animate(try_only: bool = True) -> bool:
26553
26549
  except ImportError:
26554
26550
  ImageGrab = None
26555
26551
 
26556
- if not Pythonista and not (PythinInExcel or AnacondaCode):
26552
+ if not Pythonista and not (PythonInExcel or AnacondaCode):
26557
26553
  from PIL import ImageTk
26558
26554
  except ImportError:
26559
26555
  if try_only:
@@ -26562,7 +26558,7 @@ def can_animate(try_only: bool = True) -> bool:
26562
26558
 
26563
26559
  g.dummy_image = Image.new("RGBA", (1, 1), (0, 0, 0, 0))
26564
26560
 
26565
- if not Pythonista and not (PythinInExcel or AnacondaCode):
26561
+ if not Pythonista and not (PythonInExcel or AnacondaCode):
26566
26562
  if PyDroid:
26567
26563
  if not g.tkinter_loaded:
26568
26564
  if try_only:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: salabim
3
- Version: 24.0.10.post5
3
+ Version: 24.0.11
4
4
  Summary: salabim - discrete event simulation in Python
5
5
  Author-email: Ruud van der Ham <rt.van.der.ham@gmail.com>
6
6
  Project-URL: Homepage, https://salabim.org
@@ -0,0 +1,10 @@
1
+ salabim/DejaVuSansMono.ttf,sha256=Z_oIXp5yp1Zaw2y2p3vaxwHhjHpG0MFbmwhxSh4aIEI,335068
2
+ salabim/LICENSE.txt,sha256=qHlBa-POyexatCxDTjSKMlYtkBFQDn9lu-YV_1L6V0U,1106
3
+ salabim/__init__.py,sha256=r7qPLvlmX0dkZDyjuTo8Jo3ex3sD1L4pmK6K5ib9vyw,56
4
+ salabim/calibri.ttf,sha256=RWpf8Uo31RfvGGNaSt9-2sXSuN87AVE_NFMRsV3LhBk,1330156
5
+ salabim/mplus-1m-regular.ttf,sha256=EuFHr90BJjuAn_r5MleJFN-WfkeWJ4tf7DweI5zr8tU,289812
6
+ salabim/salabim.py,sha256=4_MnkDN-cbMTmgGsSe0GVWTMDO1Bwk9tzArOUmdx8Yg,1097327
7
+ salabim-24.0.11.dist-info/METADATA,sha256=GvOkBsH4ol5LofjZg7u_Qe4ZakqGpoIULeHC676vAe0,3450
8
+ salabim-24.0.11.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
9
+ salabim-24.0.11.dist-info/top_level.txt,sha256=UE6zVlbi3F6T5ma1a_5TrojMaF21GYKDt9svvm0U4cQ,8
10
+ salabim-24.0.11.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- salabim/DejaVuSansMono.ttf,sha256=Z_oIXp5yp1Zaw2y2p3vaxwHhjHpG0MFbmwhxSh4aIEI,335068
2
- salabim/LICENSE.txt,sha256=qHlBa-POyexatCxDTjSKMlYtkBFQDn9lu-YV_1L6V0U,1106
3
- salabim/__init__.py,sha256=r7qPLvlmX0dkZDyjuTo8Jo3ex3sD1L4pmK6K5ib9vyw,56
4
- salabim/calibri.ttf,sha256=RWpf8Uo31RfvGGNaSt9-2sXSuN87AVE_NFMRsV3LhBk,1330156
5
- salabim/mplus-1m-regular.ttf,sha256=EuFHr90BJjuAn_r5MleJFN-WfkeWJ4tf7DweI5zr8tU,289812
6
- salabim/salabim.py,sha256=jkHX2FH0E_wyIuHK5sHtFmZ-vTzjMwgtvkOQqaEgDQk,1097385
7
- salabim-24.0.10.post5.dist-info/METADATA,sha256=536RgdiFsGvvFkbo_ZYFUJAciP6QRTl7tEH2zNhf8O4,3456
8
- salabim-24.0.10.post5.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
9
- salabim-24.0.10.post5.dist-info/top_level.txt,sha256=UE6zVlbi3F6T5ma1a_5TrojMaF21GYKDt9svvm0U4cQ,8
10
- salabim-24.0.10.post5.dist-info/RECORD,,