pywargame 0.3.1__py3-none-any.whl → 0.4.2__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.
Files changed (131) hide show
  1. pywargame/__init__.py +7 -1
  2. pywargame/common/__init__.py +3 -0
  3. pywargame/common/dicedraw.py +6 -1
  4. pywargame/common/drawdice.py +12 -3
  5. pywargame/common/test.py +2 -2
  6. pywargame/cyberboard/__init__.py +2 -0
  7. pywargame/cyberboard/archive.py +2 -2
  8. pywargame/cyberboard/base.py +2 -1
  9. pywargame/cyberboard/board.py +3 -1
  10. pywargame/cyberboard/cell.py +2 -1
  11. pywargame/cyberboard/draw.py +2 -1
  12. pywargame/cyberboard/exporter.py +8 -7
  13. pywargame/cyberboard/extractor.py +1 -1
  14. pywargame/cyberboard/features.py +1 -1
  15. pywargame/cyberboard/gamebox.py +1 -1
  16. pywargame/cyberboard/gbxext.py +13 -9
  17. pywargame/cyberboard/gsnexp.py +17 -8
  18. pywargame/cyberboard/gsnext.py +12 -7
  19. pywargame/cyberboard/head.py +2 -1
  20. pywargame/cyberboard/image.py +1 -1
  21. pywargame/cyberboard/mark.py +1 -1
  22. pywargame/cyberboard/palette.py +2 -1
  23. pywargame/cyberboard/piece.py +2 -1
  24. pywargame/cyberboard/player.py +1 -1
  25. pywargame/cyberboard/scenario.py +1 -1
  26. pywargame/cyberboard/testgrid.py +2 -1
  27. pywargame/cyberboard/tile.py +2 -1
  28. pywargame/cyberboard/tray.py +2 -1
  29. pywargame/cyberboard/windows.py +1 -1
  30. pywargame/cyberboard/zeropwd.py +18 -11
  31. pywargame/latex/latexexporter.py +7 -7
  32. pywargame/latex/main.py +10 -6
  33. pywargame/vassal/__init__.py +3 -2
  34. pywargame/vassal/board.py +1 -1
  35. pywargame/vassal/buildfile.py +2 -1
  36. pywargame/vassal/chart.py +1 -1
  37. pywargame/vassal/chessclock.py +1 -1
  38. pywargame/vassal/collect.py +4 -3
  39. pywargame/vassal/command.py +1 -1
  40. pywargame/vassal/documentation.py +1 -1
  41. pywargame/vassal/dumpvsav.py +7 -2
  42. pywargame/vassal/element.py +2 -1
  43. pywargame/vassal/exporter.py +2 -2
  44. pywargame/vassal/extension.py +1 -1
  45. pywargame/vassal/folder.py +1 -1
  46. pywargame/vassal/game.py +1 -1
  47. pywargame/vassal/gameelements.py +29 -12
  48. pywargame/vassal/globalproperty.py +1 -1
  49. pywargame/vassal/grid.py +1 -1
  50. pywargame/vassal/map.py +1 -1
  51. pywargame/vassal/mapelements.py +1 -1
  52. pywargame/vassal/merge.py +8 -5
  53. pywargame/vassal/merger.py +1 -1
  54. pywargame/vassal/moduledata.py +2 -1
  55. pywargame/vassal/patch.py +8 -5
  56. pywargame/vassal/player.py +1 -1
  57. pywargame/vassal/trait.py +13 -10
  58. pywargame/vassal/traits/__init__.py +1 -1
  59. pywargame/vassal/traits/area.py +5 -3
  60. pywargame/vassal/traits/basic.py +1 -1
  61. pywargame/vassal/traits/calculatedproperty.py +1 -1
  62. pywargame/vassal/traits/cargo.py +4 -1
  63. pywargame/vassal/traits/click.py +1 -1
  64. pywargame/vassal/traits/clone.py +1 -1
  65. pywargame/vassal/traits/delete.py +1 -1
  66. pywargame/vassal/traits/deselect.py +1 -1
  67. pywargame/vassal/traits/dynamicproperty.py +1 -1
  68. pywargame/vassal/traits/globalcommand.py +1 -1
  69. pywargame/vassal/traits/globalhotkey.py +1 -1
  70. pywargame/vassal/traits/globalproperty.py +1 -1
  71. pywargame/vassal/traits/hide.py +1 -1
  72. pywargame/vassal/traits/label.py +1 -1
  73. pywargame/vassal/traits/layer.py +1 -1
  74. pywargame/vassal/traits/mark.py +1 -1
  75. pywargame/vassal/traits/mask.py +1 -1
  76. pywargame/vassal/traits/mat.py +4 -1
  77. pywargame/vassal/traits/moved.py +1 -1
  78. pywargame/vassal/traits/movefixed.py +1 -1
  79. pywargame/vassal/traits/nonrect.py +1 -1
  80. pywargame/vassal/traits/nostack.py +1 -1
  81. pywargame/vassal/traits/place.py +1 -1
  82. pywargame/vassal/traits/prototype.py +1 -1
  83. pywargame/vassal/traits/report.py +1 -1
  84. pywargame/vassal/traits/restrictaccess.py +1 -1
  85. pywargame/vassal/traits/restrictcommand.py +1 -1
  86. pywargame/vassal/traits/{return.py → retrn.py} +1 -1
  87. pywargame/vassal/traits/rotate.py +1 -1
  88. pywargame/vassal/traits/sendto.py +1 -1
  89. pywargame/vassal/traits/sheet.py +1 -1
  90. pywargame/vassal/traits/skel.py +1 -1
  91. pywargame/vassal/traits/stack.py +1 -1
  92. pywargame/vassal/traits/submenu.py +1 -1
  93. pywargame/vassal/traits/trail.py +1 -1
  94. pywargame/vassal/traits/trigger.py +1 -1
  95. pywargame/vassal/turn.py +1 -1
  96. pywargame/vassal/upgrade.py +1 -1
  97. pywargame/vassal/vmod.py +46 -2
  98. pywargame/vassal/widget.py +1 -1
  99. pywargame/vassal/withtraits.py +1 -1
  100. pywargame/vassal/zone.py +1 -1
  101. pywargame/zuntzu/__init__.py +9 -0
  102. pywargame/zuntzu/countersheet.py +3 -3
  103. pywargame/zuntzu/dicehand.py +2 -2
  104. pywargame/zuntzu/exporter.py +10 -10
  105. pywargame/zuntzu/gamebox.py +7 -7
  106. pywargame/zuntzu/map.py +2 -2
  107. pywargame/zuntzu/scenario.py +2 -2
  108. pywargame/zuntzu/ztexp.py +10 -8
  109. {pywargame-0.3.1.dist-info → pywargame-0.4.2.dist-info}/METADATA +51 -31
  110. pywargame-0.4.2.dist-info/RECORD +138 -0
  111. pywargame-0.4.2.dist-info/entry_points.txt +11 -0
  112. pywargame/cyberboard.py +0 -2728
  113. pywargame/gbx0pwd.py +0 -2776
  114. pywargame/gbxextract.py +0 -2795
  115. pywargame/gsnexport.py +0 -16499
  116. pywargame/gsnextract.py +0 -2790
  117. pywargame/vassal/patchcollect.py +0 -28
  118. pywargame/vassal/skel.py +0 -380
  119. pywargame/vassal.py +0 -12500
  120. pywargame/vmodpatch.py +0 -12548
  121. pywargame/vsavdump.py +0 -12533
  122. pywargame/vslmerge.py +0 -13015
  123. pywargame/wgexport.py +0 -16689
  124. pywargame/ztexport.py +0 -14351
  125. pywargame-0.3.1.dist-info/RECORD +0 -150
  126. /pywargame/vassal/{dumpcollect.py → collectdump.py} +0 -0
  127. /pywargame/vassal/{mrgcollect.py → collectmrg.py} +0 -0
  128. /pywargame/vassal/{xml.py → xmlns.py} +0 -0
  129. {pywargame-0.3.1.dist-info → pywargame-0.4.2.dist-info}/WHEEL +0 -0
  130. {pywargame-0.3.1.dist-info → pywargame-0.4.2.dist-info}/licenses/LICENSE +0 -0
  131. {pywargame-0.3.1.dist-info → pywargame-0.4.2.dist-info}/top_level.txt +0 -0
pywargame/vassal/vmod.py CHANGED
@@ -3,7 +3,7 @@
3
3
  # Wrapper around a module
4
4
  #
5
5
  ## BEGIN_IMPORT
6
- from . xml import xmlns
6
+ from . xmlns import xmlns
7
7
  ## END_IMPORT
8
8
 
9
9
  class VMod:
@@ -287,7 +287,7 @@ class VMod:
287
287
  Whether to be verbose or not
288
288
  '''
289
289
  ## BEGIN_IMPORT
290
- from common import VerboseGuard, Verbose
290
+ from .. common import VerboseGuard, Verbose
291
291
  ## END_IMPORT
292
292
 
293
293
  with cls(vmod_filename,'r') as vmod:
@@ -318,6 +318,50 @@ class VMod:
318
318
  moduleData.encode()})
319
319
 
320
320
 
321
+ @classmethod
322
+ def patchFunction(cls,vmod_filename,patch,verbose):
323
+ '''Patch a module with a Python script
324
+
325
+ Parameters
326
+ ----------
327
+ vmod_filename : str
328
+ File name of module to patch. Will be overwritten
329
+ patch : callable
330
+ A callable to patch the VMod. It must have signature
331
+
332
+ patch(buildFile : pywargames.vassal.BuildFile,
333
+ moduleData : pywargames.vassal.ModuleData,
334
+ vmod : pywargames.vassal.VMod
335
+ verbose : boolean)
336
+
337
+ verbose : bool
338
+ Whether to be verbose or not
339
+ '''
340
+ ## BEGIN_IMPORT
341
+ from .. common import VerboseGuard, Verbose
342
+ from . buildfile import BuildFile
343
+ from . moduledata import ModuleData
344
+ ## END_IMPORT
345
+
346
+ with cls(vmod_filename,'r') as vmod:
347
+ buildFile = BuildFile(vmod.getBuildFile())
348
+ moduleData = ModuleData(vmod.getModuleData())
349
+
350
+ with cls(vmod_filename,'a') as vmod:
351
+ try:
352
+ patch(buildFile,
353
+ moduleData,
354
+ vmod,
355
+ verbose)
356
+
357
+ vmod.replaceFiles(**{VMod.BUILD_FILE :
358
+ buildFile.encode(),
359
+ VMod.MODULE_DATA :
360
+ moduleData.encode()})
361
+ except Exception as e:
362
+ raise
363
+
364
+
321
365
  #
322
366
  # EOF
323
367
  #
@@ -1,5 +1,5 @@
1
1
  ## BEGIN_IMPORT
2
- from common import VerboseGuard
2
+ from .. common import VerboseGuard
3
3
  from . base import *
4
4
  from . element import Element
5
5
  from . gameelements import GameElement
@@ -1,5 +1,5 @@
1
1
  ## BEGIN_IMPORT
2
- from common import VerboseGuard
2
+ from .. common import VerboseGuard
3
3
  from . base import *
4
4
  from . element import Element
5
5
  from . command import *
pywargame/vassal/zone.py CHANGED
@@ -1,5 +1,5 @@
1
1
  ## BEGIN_IMPORT
2
- from common import VerboseGuard
2
+ from .. common import VerboseGuard
3
3
  from . base import *
4
4
  from . element import Element
5
5
  from . grid import *
@@ -1,4 +1,13 @@
1
1
  #
2
+ from . base import *
3
+ from . dicehand import *
4
+ from . piece import *
5
+ from . map import *
6
+ from . scenario import *
7
+ from . countersheet import *
8
+ from . gamebox import *
9
+ from . exporter import *
10
+ from . ztexp import *
2
11
 
3
12
  #
4
13
  # EOF
@@ -1,7 +1,7 @@
1
1
  ## BEGIN_IMPORTS
2
- from base import DomInspect, ZTImage
3
- from piece import ZTPiece
4
- from common import VerboseGuard
2
+ from . base import DomInspect, ZTImage
3
+ from . piece import ZTPiece
4
+ from pywargame.common import VerboseGuard
5
5
  ## END_IMPORTS
6
6
 
7
7
  # --------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  ## BEGIN_IMPORTS
2
- from base import DomInspect
3
- from common import VerboseGuard
2
+ from . base import DomInspect
3
+ from pywargame.common import VerboseGuard
4
4
  ## END_IMPORTS
5
5
 
6
6
  # --------------------------------------------------------------------
@@ -1,14 +1,14 @@
1
1
  ## BEGIN_IMPORTS
2
- from common import VerboseGuard, Verbose
3
- from vassal.buildfile import BuildFile
4
- from vassal.documentation import Documentation
5
- from vassal.traits import *
6
- from vassal.base import *
7
- from vassal.moduledata import ModuleData
8
- from vassal.exporter import Exporter
9
- from vassal.mapelements import LayerControl
10
- from vassal.vsav import VSav
11
- from base import ZTImage
2
+ from pywargame.common import VerboseGuard, Verbose
3
+ from pywargame.vassal.buildfile import BuildFile
4
+ from pywargame.vassal.documentation import Documentation
5
+ from pywargame.vassal.traits import *
6
+ from pywargame.vassal.base import *
7
+ from pywargame.vassal.moduledata import ModuleData
8
+ from pywargame.vassal.exporter import Exporter
9
+ from pywargame.vassal.mapelements import LayerControl
10
+ from pywargame.vassal.vsav import VSav
11
+ from . base import ZTImage
12
12
  ## END_IMPORTS
13
13
 
14
14
 
@@ -1,11 +1,11 @@
1
1
  ## BEGIN_IMPORTS
2
- from base import DomInspect
3
- from map import ZTMap
4
- from piece import ZTPiece
5
- from countersheet import ZTCounterSheet
6
- from dicehand import ZTDiceHand
7
- from common import VerboseGuard
8
- from scenario import ZTScenario
2
+ from . base import DomInspect
3
+ from . map import ZTMap
4
+ from . piece import ZTPiece
5
+ from . countersheet import ZTCounterSheet
6
+ from . dicehand import ZTDiceHand
7
+ from pywargame.common import VerboseGuard
8
+ from . scenario import ZTScenario
9
9
  ## END_IMPORTS
10
10
 
11
11
  # --------------------------------------------------------------------
pywargame/zuntzu/map.py CHANGED
@@ -1,6 +1,6 @@
1
1
  ## BEGIN_IMPORTS
2
- from base import DomInspect, ZTImage
3
- from common import VerboseGuard
2
+ from . base import DomInspect, ZTImage
3
+ from pywargame.common import VerboseGuard
4
4
  ## END_IMPORTS
5
5
 
6
6
  # --------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  ## BEGIN_IMPORTS
2
- from common import VerboseGuard
3
- from base import DomInspect
2
+ from pywargame.common import VerboseGuard
3
+ from . base import DomInspect
4
4
  ## END_IMPORTS
5
5
 
6
6
  # --------------------------------------------------------------------
pywargame/zuntzu/ztexp.py CHANGED
@@ -1,15 +1,13 @@
1
1
  #!/usr/bin/env python
2
2
  ## BEGIN_IMPORTS
3
- from sys import path
4
- path.append('..')
5
-
6
- from gamebox import ZTGameBox
7
- from exporter import ZTExporter
8
- from common import Verbose
9
- from base import ZTImage
3
+ from pywargame.zuntzu.gamebox import ZTGameBox
4
+ from pywargame.zuntzu.exporter import ZTExporter
5
+ from pywargame.common import Verbose
6
+ from pywargame.zuntzu.base import ZTImage
10
7
  ## END_IMPORTS
11
8
 
12
- if __name__ == '__main__':
9
+ # ====================================================================
10
+ def exportMain():
13
11
  from argparse import ArgumentParser, FileType, \
14
12
  RawDescriptionHelpFormatter
15
13
  from pathlib import Path
@@ -109,6 +107,10 @@ if __name__ == '__main__':
109
107
  pass
110
108
 
111
109
  raise e
110
+
111
+ # ====================================================================
112
+ if __name__ == '__main__':
113
+ exportMain()
112
114
 
113
115
  #
114
116
  # EOF
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pywargame
3
- Version: 0.3.1
3
+ Version: 0.4.2
4
4
  Summary: Python library to manipulate wargame modules
5
5
  Home-page: https://wargames_tex.gitlab.io/pywargame/
6
6
  Author: Christian Holm Christensen
@@ -32,7 +32,7 @@ Aided Wargaming (CAW).
32
32
 
33
33
  - [`pywargame`](pywargame) Top of package
34
34
  - [`common`](pywargame/common) Common utilities used by other code.
35
- - [`vassal`](pywargame/vassal) Read or write
35
+ - [`vassal`](pywargame/vassal) Read or write
36
36
  [VASSAL](https://vassalengine.org)
37
37
  ([GitHub](https://github.com/vassalengine/vassal)) modules,
38
38
  including
@@ -42,7 +42,7 @@ Aided Wargaming (CAW).
42
42
  - [`cyberboard`](pywargame/cyberboard) Read
43
43
  [CyberBoard](http://cyberboard.norsesoft.com/)
44
44
  ([GitHub](https://github.com/CyberBoardPBEM/cbwindows)) GameBox
45
- files.
45
+ and scenario files.
46
46
  - [`zuntzu`](pywargame/zuntzu) Convert [ZunTzu](https://zuntzu.com)
47
47
  ([GitHub](https://github.com/ZunTzu-Software/ZunTzu)) GameBox to
48
48
  VASSAL module.
@@ -53,9 +53,10 @@ Aided Wargaming (CAW).
53
53
 
54
54
  ## Changes
55
55
 
56
- The code isn't versioned yet, and therefore the changes are given by
57
- date.
58
-
56
+ - 0.4.1
57
+ - Some fixes to `pip` releases
58
+ - 0.4.0
59
+ - First release via `pip`
59
60
  - 2nd of February, 2024
60
61
  - Fix problem with background of maps exported from CyberBoard
61
62
  gamebox. Thanks to @zovs66 for pointing this out.
@@ -64,47 +65,56 @@ date.
64
65
 
65
66
  ## Scripts
66
67
 
67
- - [`vslmerge.py`](vassal/merge.py) merges VASSAL modules and
68
+ - [`vslmerge.py`](pywargame/vassal/merge.py) merges VASSAL modules and
68
69
  extensions together into one module. This is work in progress.
69
- Please report any problems you see.
70
+ Please report any problems you see.
70
71
 
71
- - [`vmodpatch.py`](vassal/patch.py) patches a VASSAL modules by
72
- running a Python script on it. The input module file is
73
- overwritten.
72
+ - [`vmodpatch.py`](pywargame/vassal/patch.py) patches a VASSAL modules
73
+ by running a Python script on it. The input module file is
74
+ overwritten.
74
75
 
75
- - [`vsavdump.py`](vassal/dumpsave.py) dumps the content of a VASSAL
76
- save or log file to standard output.
76
+ - [`vsavdump.py`](pywargame/vassal/dumpsave.py) dumps the content of a
77
+ VASSAL save or log file to standard output.
77
78
 
78
- - [`gbxextract.py`](cyberboard/gbxext.py) reads in a CyberBoard
79
- GameBox file (`.gbx`) and writes out a ZIP file with images and a
80
- JSON file with information about the GameBox and the images.
79
+ - [`gbxextract.py`](pywargame/cyberboard/gbxext.py) reads in a
80
+ CyberBoard GameBox file (`.gbx`) and writes out a ZIP file with
81
+ images and a JSON file with information about the GameBox and the
82
+ images.
81
83
 
82
84
  Pieces (units and markers) are saved as PNGs, while the boards are
83
85
  saves as SVGs.
84
86
 
85
- - [`gsnextract.py`](cyberboard/gsnext.py) reads in a CyberBoard
86
- Scenario file (`.gsn`) and writes out a ZIP file with images and a
87
- JSON file with information about the Scenario, GameBox, and the
88
- images.
87
+ - [`gsnextract.py`](pywargame/cyberboard/gsnext.py) reads in a
88
+ CyberBoard Scenario file (`.gsn`) and writes out a ZIP file with
89
+ images and a JSON file with information about the Scenario, GameBox,
90
+ and the images.
89
91
 
90
92
  Pieces (units and markers) are saved as PNGs, while the boards are
91
93
  saves as SVGs.
92
94
 
93
- - [`gsnexport.py`](cyberboard/gsnexp.py) reads in a
95
+ - [`gsnexport.py`](pywargame/cyberboard/gsnexp.py) reads in a
94
96
  CyberBoard Scenario file (`.gsn`) and generates a (draft) VASSAL
95
- module. A Python script can be supplied to patch up the module.
97
+ module. A Python script can be supplied to patch up the module.
96
98
 
97
- - [`ztexport.py`](zuntzu/ztexp.py) reads in a ZunTzu game box file
98
- (`.ztb`) and generates a (draft) VASSAL module. A Python script can
99
- be supplied to patch up the module.
99
+ - [`ztexport.py`](pywargame/zuntzu/ztexp.py) reads in a ZunTzu game
100
+ box file (`.ztb`) and generates a (draft) VASSAL module. A Python
101
+ script can be supplied to patch up the module.
100
102
 
101
- - [`wgexport.py`](latex/main.py) reads in a PDF and JSON file created
102
- from LaTeX sources using the
103
+ - [`wgexport.py`](pywargame/latex/main.py) reads in a PDF and JSON
104
+ file created from LaTeX sources using the
103
105
  [`wargame`](https://gitlab.com/wargames_tex/wargame_tex) package,
104
106
  and generates a (draft) VASSAL module. A Python script can be
105
107
  supplied to patch up the module.
108
+
109
+ ## Installation via `pip`
110
+
111
+ Just do
112
+
113
+ ```
114
+ $ pip install pywargame
115
+ ```
106
116
 
107
- ## Download
117
+ ## Download as scripts
108
118
 
109
119
  You can get the scripts in ZIP file
110
120
 
@@ -125,7 +135,8 @@ or individually
125
135
  - [requirements.txt][]
126
136
  - [README.md][]
127
137
 
128
- or [browse][] the files.
138
+ or [browse][] the files. Note that these scripts are _standalone_ and
139
+ does not require a module installation of `pywargame`.
129
140
 
130
141
  ## Build
131
142
 
@@ -145,15 +156,24 @@ to ensure you have those installed.
145
156
  To generate these scripts, do
146
157
 
147
158
  cd pywargame/vassal && ./collect.py
159
+ cd pywargame/vassal && ./collectmrg.py
160
+ cd pywargame/vassal && ./collectpatch.py
161
+ cd pywargame/vassal && ./collectdump.py
148
162
  cd pywargame/cyberboard && ./collect.py
149
163
  cd pywargame/cyberboard && ./collectgbxext.py
150
164
  cd pywargame/cyberboard && ./collectgsnext.py
151
165
  cd pywargame/cyberboard && ./collectgsnexp.py
166
+ cd pywargame/zuntzu && ./collect.py
152
167
  cd pywargame/latex && ./collect.py
168
+ cp pywargame/vassal/vassal.py .
169
+ cp pywargame/vassal/vslmerge.py .
170
+ cp pywargame/vassal/vmodpatch.py .
171
+ cp pywargame/vassal/vsavdump.py .
153
172
  cp pywargame/cyberboard/gbxextract.py .
154
173
  cp pywargame/cyberboard/gsnextract.py .
155
174
  cp pywargame/cyberboard/gsnexport.py .
156
- cp pywargame/latex/wgexport.py .
175
+ cp pywargame/zuntzu/ztexport.py .
176
+ cp pywargame/latex/wgexport.py .
157
177
 
158
178
  or simply, on most modern operating systems,
159
179
 
@@ -203,7 +223,7 @@ scenario - can then be merged into one using the
203
223
  [`vslmerge.py`](vassal/merge.py) script.
204
224
 
205
225
  CyberBoard game boxes and scenarios made with CyberBoard prior to
206
- version 3.0 are _not_ supported. You may have some luck opening first
226
+ version 3.0 are _not_ supported. You may have some luck first opening
207
227
  the game box and then the scenario with `CBDesign.exe` and
208
228
  `CBPlay.exe`, respectively, and saving anew. Of course, this requires
209
229
  an installation of CyberBoard (on Linux, use
@@ -0,0 +1,138 @@
1
+ pywargame/__init__.py,sha256=NFeabA3p8Ai1oZ5H34FNuVLjZxZfMf6XIDvgWtmv3vo,190
2
+ pywargame/common/__init__.py,sha256=AvTKi9p1wSpLTjKGYR_NYrgaNBPaDaynL0IowmS58V8,128
3
+ pywargame/common/collector.py,sha256=rKKZ-cmITF9KvVOEhfnGLCeRRSVjSV2yhcJ-xpZWNFc,2714
4
+ pywargame/common/dicedraw.py,sha256=SXMZNkRGD05L16z71p_x5zoEkuRuvcDE0SIeIGtJjAQ,13595
5
+ pywargame/common/drawdice.py,sha256=E5obNuWH2cQVBLHcFGFPtUSB29lH4TmWQuYRTGeNjnM,1639
6
+ pywargame/common/singleton.py,sha256=NCsJG0V8PLZsXLEIg3pSLjM4cATH58kC1FVWGlyXpp4,585
7
+ pywargame/common/test.py,sha256=SX5AJou8NtsFF9RYqjUuc6DFqQ7plDVhMZvAEhocoUY,536
8
+ pywargame/common/verbose.py,sha256=nxVJdmMNEPcXvZSdEqbJLWCJL6OtjWy_1HPhSGBY0XM,1401
9
+ pywargame/common/verboseguard.py,sha256=h0yEZaPCUhTawzTSkkDPOA3o6V1PU7SXRB4mMfmv86A,1251
10
+ pywargame/cyberboard/__init__.py,sha256=zzC2SZ7LBcfKwyOog9EnihAJxwi3dc6M1hpv5tRyLcs,410
11
+ pywargame/cyberboard/archive.py,sha256=BtkEEwcQSK867aVtPlR62EXYqW0LHhVlZeWTn16bj1k,8376
12
+ pywargame/cyberboard/base.py,sha256=A_-xzJIWtUUpO_KwuOXeYAUpoAriJ2bk2qgLWp9Gm8M,2083
13
+ pywargame/cyberboard/board.py,sha256=icUzJBPCSgSpoyXzzM-iB4LqUrO9RYyGDjZZeDMQvKQ,18896
14
+ pywargame/cyberboard/cell.py,sha256=3Hfu0PeGno98CjtULtTiwj4kqCak-6DGTBbdzqEqcEs,6748
15
+ pywargame/cyberboard/collect.py,sha256=hWd0zddmcG850yMvjk42S5hnk_codsLEKN6nDaqJ8e8,1231
16
+ pywargame/cyberboard/collectgbx0pwd.py,sha256=w9Nj9GX29vxYMWe-EswJIj9_xfoPYWvygR6tFDW6NoQ,746
17
+ pywargame/cyberboard/collectgbxext.py,sha256=77RrFsTWD0sfYIwXj_o2ObXS3fMZQpWk41PM3ePwUHc,748
18
+ pywargame/cyberboard/collectgsnexp.py,sha256=C7SCX-qLWS3W1mZhU4AS5yi-f0PlKwuPJwqmK16Au7Y,805
19
+ pywargame/cyberboard/collectgsnext.py,sha256=qwlSLCFqRYWqo8tsduT1H0UQIrUAMJUQjLVbvfHnRlo,748
20
+ pywargame/cyberboard/draw.py,sha256=iB5-AW4RazG7MjOuTpE3CJElkSzH5i9gk7XGQx3yFtY,12917
21
+ pywargame/cyberboard/exporter.py,sha256=1SLFqvO64m0NJGROATkX3DjBa1MAI4MEWwMyA6vjg_A,50426
22
+ pywargame/cyberboard/extractor.py,sha256=HmLjzDCc0GqKKOftZsR15CIdtAwN14oSTSUE3KeaJXI,8588
23
+ pywargame/cyberboard/features.py,sha256=NfIVFFVfJ0Ez59CDs7pQOSbn05LoCPhC0LBR6Icoiqk,806
24
+ pywargame/cyberboard/gamebox.py,sha256=P1Efk2BypAWdfYpHdI46-dPurR4g3rU21rjnsWOaBik,3246
25
+ pywargame/cyberboard/gbxexp.py,sha256=L2oqZSzea9azJ2r8w791QqiZPpIGbFbv8dQ6al9gTVY,2680
26
+ pywargame/cyberboard/gbxext.py,sha256=9EbPj0WjbfZHR-CGd10sdCijDaKJ-CKZ5ia-ihBkOWg,2112
27
+ pywargame/cyberboard/gsnexp.py,sha256=FmvM-0BZw5t9JXayqBlTEgF4L8BchvjNwGyrWJma7po,5953
28
+ pywargame/cyberboard/gsnext.py,sha256=ArLqAEWNjmB8rbsd0NJZX5FhHkoLbhGURRhOIPlZ-u0,1832
29
+ pywargame/cyberboard/head.py,sha256=4wWeZ0nAUPUIxYpCgSDPpjHQXvpdimfYVgvRZdDpnq8,3555
30
+ pywargame/cyberboard/image.py,sha256=3jMRim9l9wt4Z55EghnH1Ii6uplMSYTGFBprPNaj-Gk,2609
31
+ pywargame/cyberboard/main.py,sha256=nRPnyLnDJmF7aa2GLQobov5KOPnSEbEF2-Kr6xMTpBQ,1199
32
+ pywargame/cyberboard/mark.py,sha256=Dk79_XhMUc_JJqbatcONOPli69HRa2fggj4wOJDz9LA,3853
33
+ pywargame/cyberboard/palette.py,sha256=BsscX5SCAeOWJCEGAGeQZ0Qu3Pk4-kM7N6BtQDi_v6U,1169
34
+ pywargame/cyberboard/piece.py,sha256=yyiCvmpOO1dTe0npKTZq3tF90ZwoDlQajObzQZDdT2g,6688
35
+ pywargame/cyberboard/player.py,sha256=X9oSlcwphjseO3eh4y7HlsL7fcKD-q9YAV7YXMOEL3M,945
36
+ pywargame/cyberboard/scenario.py,sha256=8GpJB1VRSCRSG3wh70T43IThLh9atRyjLgj63LYyHnQ,5031
37
+ pywargame/cyberboard/testgrid.py,sha256=qcDuhcXviIA3X7tp1zseHgART_BhHfZsCAC4KCrafOk,4564
38
+ pywargame/cyberboard/tile.py,sha256=FZqEmyG8e7ZuhQl9ZkBiVRXxRtlnaEmZRxOHmSuW0t0,4243
39
+ pywargame/cyberboard/tray.py,sha256=j5PiLIavH_jVUJJtH5RzlSK6Ob-l_lgwbgqrL97FFxo,2230
40
+ pywargame/cyberboard/windows.py,sha256=7C91lBkQRiCwvMf4OD08r-JpYP38a80clvhZKpIQgT0,1360
41
+ pywargame/cyberboard/zeropwd.py,sha256=NCM38vJW6ib8InEnasnTlj9jdzPR3_U9jvzM_98TTJs,1498
42
+ pywargame/latex/__init__.py,sha256=Rp37RgAtQZSRS_uBvCEQRVLKoVTCPJ-IvIKapTIOpys,43
43
+ pywargame/latex/collect.py,sha256=ybBcV6KlLKP7CKB8yUzjl5vM52sMmmIe8zIij_D4mQE,790
44
+ pywargame/latex/latexexporter.py,sha256=4HnVwi0MoMj78p70A3N8ypXkvNK2ydSs39US01qYB3g,182893
45
+ pywargame/latex/main.py,sha256=K4LkEP5lsGjNbp4FIaFqZfiBhqghfuAdXhk76YBWFvo,7219
46
+ pywargame/vassal/__init__.py,sha256=-UDnhlzD2isiDszdaKyp_sO_Rbbws6jB6PT4qi7rZEc,1908
47
+ pywargame/vassal/base.py,sha256=okGsRZ3lW98SkGqboY1eEEHr0v0tkgfJcoDrOrW13Ag,3197
48
+ pywargame/vassal/board.py,sha256=JGXU1AEQ5T17bqOgVJz8gkD5RajRlAqERcmNtnL-FbE,8031
49
+ pywargame/vassal/buildfile.py,sha256=H05fJQm5Ui9uG1hBuI7WxjpKUFWBdwnqnTqZ7JEyKCs,1605
50
+ pywargame/vassal/chart.py,sha256=CAc-FBSdBWjkLYvAxWoKd67bWRBUChgxDoTEdIfy5iQ,2569
51
+ pywargame/vassal/chessclock.py,sha256=U9nsBGepBDgXM099Gsq3pulB6JoMaFohBcBXAy1Ndpw,7110
52
+ pywargame/vassal/collect.py,sha256=51eyRtsGVCtJZPzUebJeGK_mjQg7PLn1jFlrUTA0xNY,2722
53
+ pywargame/vassal/collectdump.py,sha256=SAUQQI5hi43lMnsNmndOvzYA-p8-s8yu85kxSaLCfuM,738
54
+ pywargame/vassal/collectmrg.py,sha256=emDUB-wfCPvg7pSQ9RQyP56ASuWjNi0T6ElvtYOdzXM,779
55
+ pywargame/vassal/collectpatch.py,sha256=uMactHfNEQKETX5cIhDyrXoBQPDZCa8IT4tTcPL_QV8,736
56
+ pywargame/vassal/command.py,sha256=hvTllYv1TWhb0goKSkD3TxbYaroSk9P6NMMVEGvj43M,537
57
+ pywargame/vassal/documentation.py,sha256=XVz0pJfgw1F5iDKwsYKDNC1pCEGA80OPq_SPQjTTYO8,9798
58
+ pywargame/vassal/dumpvsav.py,sha256=NnqsJoGW67IVL_E4YGOhivCUWo4nv7jR3OA4Oy4GrRc,753
59
+ pywargame/vassal/element.py,sha256=bot8-EbmPWOU-xIfupLB9KXxbSKS3VYrumpZ1yrvHQw,14800
60
+ pywargame/vassal/exporter.py,sha256=d4Pe1_XsNQ_nYdr1clS8rZEbeIffjbAWKNAkJxTNQlc,2969
61
+ pywargame/vassal/extension.py,sha256=bBa9OTF58idyhrkBqHjEvfynZ8ixyd8uitz3yGiSOX8,3050
62
+ pywargame/vassal/folder.py,sha256=meuBuz1I8NloB5MtUmRyZleOZQaAV5P5f3W7Ae7Jkk0,3214
63
+ pywargame/vassal/game.py,sha256=gVTJdVVkP0k2bxJ782B5A83l7Iv90xL2OQqndv4NmWM,28209
64
+ pywargame/vassal/gameelements.py,sha256=uduyD2r7-jGGCxtQLbZkh_H4lsMBPhe3vLLD9cqBOYg,44415
65
+ pywargame/vassal/globalkey.py,sha256=B1z-NGmvzXlxTMCjbvys4Ve_zHoCGyaWQNf1ekX4QZo,4754
66
+ pywargame/vassal/globalproperty.py,sha256=NVJShkmSe3z71MWP7CZZFf3LbzuhqVZT006XB6YNG7Q,14703
67
+ pywargame/vassal/grid.py,sha256=7uKI_Z2bqHwRZ5H7GuT7LguhZASnVHq1UuDas72_xfs,20021
68
+ pywargame/vassal/map.py,sha256=UoaUJEJ-Ki6Ozm4FeIwsiQaReltMHmMI3XgCWfTQJjo,36245
69
+ pywargame/vassal/mapelements.py,sha256=jUH_xXaJ2gsEZXo32dJMIWMC2laFoE7kbi1Ira6mKrM,42684
70
+ pywargame/vassal/merge.py,sha256=0GvsHtHqzdj4me6DQsq-PMfoLunwwZvRbTria3SS3b4,1927
71
+ pywargame/vassal/merger.py,sha256=4zljR3gJwNILZ_mikTmEREbXbjzUhIKthjVLXR3Qpy8,18646
72
+ pywargame/vassal/moduledata.py,sha256=ddDcrCerWVdhWwaXHlDXEzWtC-QBUV14N4WNdg_-Yq4,8191
73
+ pywargame/vassal/patch.py,sha256=bv0Ehj5aZtDbFrM_2rOtVHZ42E1gt_jnPBOm84AmRbM,1297
74
+ pywargame/vassal/player.py,sha256=NApEQgp8QM51jTQCv9z5mxBuJ72N-y6FU7KMM5AdS7M,2380
75
+ pywargame/vassal/save.py,sha256=e50hupScDnYkmoC5fg1l2aebj0t23OjWpAUH8VJCiM4,16739
76
+ pywargame/vassal/trait.py,sha256=4xaUV-hU6HKA5JT7etLOesGTwExCXV6W9E6EiX1qGj8,7220
77
+ pywargame/vassal/turn.py,sha256=lrqw5nHVmWn8dNMhArZh7hrhJcV_H0Nx2q3_Q8pT7zM,9245
78
+ pywargame/vassal/upgrade.py,sha256=EmttGRLkn69QQXUI-nKjupfVfKbWN0KfjR9m1OKU4UQ,5449
79
+ pywargame/vassal/vmod.py,sha256=370OlxFeWeh_xR7F_rp0yvpOQT0marIQpBMV9pytk74,10229
80
+ pywargame/vassal/vsav.py,sha256=lOWYw-pZzNTeeRjnHnWKwc8_impwCyH3i7fd4ZaYLA0,3396
81
+ pywargame/vassal/widget.py,sha256=wet1JNw-EHkFykHx1JO1a4QYOatwi78MqkAuKXM1m30,11499
82
+ pywargame/vassal/withtraits.py,sha256=iTltDdpwJ2nN12kOBHQTtVtOWfcsFth-gSZRAU1MI9g,20565
83
+ pywargame/vassal/xmlns.py,sha256=450RmaIpEpK_IFzdFmZCSUxT46CtrH8VmHbLlaI9CNw,155
84
+ pywargame/vassal/zone.py,sha256=QW6fMbMS8pF1kOux95RBFAjrAd56GA_Q9QFg4p0jx_U,12613
85
+ pywargame/vassal/traits/__init__.py,sha256=BKb14Zrjz20Y25qEtDdlB8-iSKYBYTGWLVOI3RAZqWs,1227
86
+ pywargame/vassal/traits/area.py,sha256=zPOxjnLn2wFcmMd3OXwD9WH_G9KqjGLgpPeupYLGv7Y,2056
87
+ pywargame/vassal/traits/basic.py,sha256=JSmYtLpgyVLBNzx-urJazPJOUZtITIkTRlYN9tWB4Q4,1242
88
+ pywargame/vassal/traits/calculatedproperty.py,sha256=23yZXNajxUYb5gugevIGBqwFzTEsGHjF9Tg1alg46JA,595
89
+ pywargame/vassal/traits/cargo.py,sha256=9TF6zrMfqQUWPXxL5MEHJYOHoYGS8Dlo-OjU5PsBqWI,973
90
+ pywargame/vassal/traits/click.py,sha256=vS2hRIsxzIccECvXbfvyw62gBQZO_zlVwn88AS63TH0,1329
91
+ pywargame/vassal/traits/clone.py,sha256=yqEoAYyFHrdF996t8TqyY5a1JI6IWKbvZVEN4aW92X4,763
92
+ pywargame/vassal/traits/delete.py,sha256=1Zdt3FRox0QD5Fbx_YNFpPGN1G53D7d0oBnvri_L6Qs,605
93
+ pywargame/vassal/traits/deselect.py,sha256=6iiMHIk3BOHn_vCG4arOL07rtjP3vL4EHKhXgX8HSn4,919
94
+ pywargame/vassal/traits/dynamicproperty.py,sha256=MUrt5uWT155ayZaRxEFme5C3FI4brmqRUYuBzjYJiWw,3811
95
+ pywargame/vassal/traits/globalcommand.py,sha256=8PTO-TDZQjGuZ7sbJU2NAAovLiLv11B7Y3FMeOf8nyY,2058
96
+ pywargame/vassal/traits/globalhotkey.py,sha256=Fpzbh9m92V4nMK-FjZX7def_3BTJ5ZHBnIIBpWjSf2E,814
97
+ pywargame/vassal/traits/globalproperty.py,sha256=HWQxgHeteZSef7OMT7zoRYxyUDcUK60Cpq0avI72w7Q,2000
98
+ pywargame/vassal/traits/hide.py,sha256=wwByEtyKXyqiHDdf5gGaBaZ-1g8NvbooiaUqDkpNjyA,2237
99
+ pywargame/vassal/traits/label.py,sha256=wZqlaLDHYsI74C92fR1li_yoWNB1tZo2PtBjnQdL80U,2772
100
+ pywargame/vassal/traits/layer.py,sha256=oFBV2xWXiOEULVV7sYGlkQ4qqe3KvasADNYqCby488A,3689
101
+ pywargame/vassal/traits/mark.py,sha256=1vWs49hHxWjlQ2tcJzxYn1mI9M7nG7O4gDI4pzVE5fk,460
102
+ pywargame/vassal/traits/mask.py,sha256=5YAtsGAia8MQdIPSOebKEst7JViCyy4r56rCG7MozUA,2474
103
+ pywargame/vassal/traits/mat.py,sha256=0Pr3lfzxJdVVFbaimzyMm6HawJCkD4-5jSCBTn9RtWo,582
104
+ pywargame/vassal/traits/moved.py,sha256=zzjqAR1AbqCL_n4A7vx4QW9CP7EcVV8earnCb-zt_sM,1069
105
+ pywargame/vassal/traits/movefixed.py,sha256=dPi88eaOJMg-rrVZhs3jYAbIjh33nX8Z5c73ro9pQSU,1791
106
+ pywargame/vassal/traits/nonrect.py,sha256=v1a8UBFpdUTfXWnNTNSh-Vd6CAPVRdK9YbqCX08trI0,2781
107
+ pywargame/vassal/traits/nostack.py,sha256=Hmm2-EandMJxfefWuCYUF_xGFi5xv-TM399Ou6CPZ30,1745
108
+ pywargame/vassal/traits/place.py,sha256=1wpoWtSrC9VlulHSeqmX_c8-vTjGYXXgj1-L86cGxjI,4304
109
+ pywargame/vassal/traits/prototype.py,sha256=GSLSBVbEfjoWQ0-FSJqhgNAhQ9L5m4ptiWnjf2Feqi4,487
110
+ pywargame/vassal/traits/report.py,sha256=dZFLx6HH_Eyd4ViWbI6SUQaPq7dSi_NCQodsMJe-Njg,1160
111
+ pywargame/vassal/traits/restrictaccess.py,sha256=dbOf875hAcf212Ce8QiNrf37NuQAq8LukETbgV2glKE,870
112
+ pywargame/vassal/traits/restrictcommand.py,sha256=X0w0_QzFY_qlRk5oKeMV5io-7RByb-cQLB_Tk-F4KXw,1029
113
+ pywargame/vassal/traits/retrn.py,sha256=lMXlHrXA2ZVa2MsURjKOv3YbRLDYA8mo4HMRiLnxb5U,1281
114
+ pywargame/vassal/traits/rotate.py,sha256=S7EVPuyOjjHiAWQ0_xdEB0RtdooFnNi7DLkkIHkWo3s,2584
115
+ pywargame/vassal/traits/sendto.py,sha256=UO9rgqm7mb5Gwb-Lke4wUApL35qGev7DmbjTnhzP12E,2372
116
+ pywargame/vassal/traits/sheet.py,sha256=5YHFMr1QXm4Y5eR7N6Z7KnNj2vt3r1_X_9rjR_-vnJE,4251
117
+ pywargame/vassal/traits/skel.py,sha256=fFwFi6RwDEIsBiSmf3S96MbuNV-nTZ2qyKY6py-yreY,105
118
+ pywargame/vassal/traits/stack.py,sha256=wyLVorQJp-cmRIckMqwv1nhj_IJ3Nw9OKdzTLY45i3c,824
119
+ pywargame/vassal/traits/submenu.py,sha256=Le0GdVKviH7STRchSp_hssD1ZQ1ZVZ7hyuxAjhJPPag,904
120
+ pywargame/vassal/traits/trail.py,sha256=0OJLCOU0-peqhMUvuQd-CEbvuMCYPsZI9kJqJ-XmlJ8,2707
121
+ pywargame/vassal/traits/trigger.py,sha256=BqSDYwp3brtNbTzD7NsEQT-CUsrTdkGUCFV-Mo8PP0E,2861
122
+ pywargame/zuntzu/__init__.py,sha256=FDI1b8Ay10vvt2pe97GjfSkpxgw0fDUpRryeN8669_I,274
123
+ pywargame/zuntzu/base.py,sha256=qhGEwspN9sXjLW-GpU7pllm-jC9AAm-MhF-oLwiTxdQ,2496
124
+ pywargame/zuntzu/collect.py,sha256=TSjgsr0t3mBxNSoaapde4LOm2UXQCPnxLWZbwBUdtSs,969
125
+ pywargame/zuntzu/countersheet.py,sha256=5rrN3MvdLftlbbkuXL5mZ0-oSaMY5yPlBMrHYnhdMFo,10186
126
+ pywargame/zuntzu/dicehand.py,sha256=OkrS5cPpShvuVTY2R3FP0fc9SamfG8lenoFIiQpuZXA,1814
127
+ pywargame/zuntzu/exporter.py,sha256=FdatwOydBzFflhhVvhLqIyfZIKRBczoa8BAgdxnc6RA,38573
128
+ pywargame/zuntzu/gamebox.py,sha256=K8XGxD7edn-wVxfxkK6NUR4_EZlMpiyNdU2FKicbE74,5557
129
+ pywargame/zuntzu/map.py,sha256=AhpMbIkYGl20BrZaQyZGbZSTqlUhiHOyJXpNbmSNeGk,1303
130
+ pywargame/zuntzu/piece.py,sha256=gkncBL4twsjRBi7ZWJ6pdKDIK1gi_sK-xIih-RzYJHc,934
131
+ pywargame/zuntzu/scenario.py,sha256=QwY5Vk8cfi2rG01d3lp3kRy6SA4kNpfjccrZ1OSSgjA,6530
132
+ pywargame/zuntzu/ztexp.py,sha256=pJp8TgOK5umLi30aFQKIeqyhxNjTHtJNJpUGk7EosnQ,4182
133
+ pywargame-0.4.2.dist-info/licenses/LICENSE,sha256=memetuYBJ7n0A-1_Uiq5GO8YUt6PMciiMROkV9zAqW4,265
134
+ pywargame-0.4.2.dist-info/METADATA,sha256=IhkFdIExWqBbQKmxbsbggL4j3-ODJ3fq6tTcgKtBHUk,14641
135
+ pywargame-0.4.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
136
+ pywargame-0.4.2.dist-info/entry_points.txt,sha256=5KDdnOagbFoWmC-3uMZDgrve1dZPn7fIn0cm_TKqGfM,525
137
+ pywargame-0.4.2.dist-info/top_level.txt,sha256=w2HqLsCQSoBKEOc2YXLJLyc2Ihg2XQ2Hq29E1IasW74,10
138
+ pywargame-0.4.2.dist-info/RECORD,,
@@ -0,0 +1,11 @@
1
+ [console_scripts]
2
+ drawdice.py = pywargame.common.drawdice:diceMain
3
+ gbx0pwd.py = pywargame.cyberboard.zeropwd:zeroPwdMain
4
+ gbxextract.py = pywargame.cyberboard.gbxext:extractMain
5
+ gsnexport.py = pywargame.cyberboard.gsnexp:exportMain
6
+ gsnextract.py = pywargame.cyberboard.gsnext:extractMain
7
+ vmodpatch.py = pywargame.vassal.patch:patchMain
8
+ vsavdump.py = pywargame.vassal.dumpvsav:dumpMain
9
+ vslmerge.py = pywargame.vassal.merge:mergeMain
10
+ wgexport.py = pywargame.latex.main:exportMain
11
+ ztexport.py = pywargame.zuntzu.ztexp:exportMain