zebra-day 1.0.2__py3-none-any.whl → 2.0.0__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.
- zebra_day/cli/gui.py +89 -6
- zebra_day/etc/printer_config.json +2 -14
- zebra_day/etc/printer_config.template.json +17 -9
- zebra_day/etc/tmp_printers120.json +10 -0
- zebra_day/etc/tmp_printers145.json +10 -0
- zebra_day/etc/tmp_printers207.json +10 -0
- zebra_day/etc/tmp_printers469.json +10 -0
- zebra_day/etc/tmp_printers485.json +10 -0
- zebra_day/etc/tmp_printers531.json +10 -0
- zebra_day/etc/tmp_printers540.json +10 -0
- zebra_day/etc/tmp_printers542.json +10 -0
- zebra_day/etc/tmp_printers552.json +10 -0
- zebra_day/etc/tmp_printers715.json +10 -0
- zebra_day/etc/tmp_printers972.json +10 -0
- zebra_day/files/blank_preview.png +0 -0
- zebra_day/files/corners_20cmX30cm_preview.png +0 -0
- zebra_day/files/generic_2inX1in_preview.png +0 -0
- zebra_day/files/test_png_12020.png +0 -0
- zebra_day/files/test_png_12352.png +0 -0
- zebra_day/files/test_png_15472.png +0 -0
- zebra_day/files/test_png_24493.png +0 -0
- zebra_day/files/test_png_30069.png +0 -0
- zebra_day/files/test_png_47791.png +0 -0
- zebra_day/files/test_png_47799.png +0 -0
- zebra_day/files/test_png_55588.png +0 -0
- zebra_day/files/test_png_58809.png +0 -0
- zebra_day/files/test_png_67242.png +0 -0
- zebra_day/files/test_png_89893.png +0 -0
- zebra_day/files/tube_20mmX30mmA_preview.png +0 -0
- zebra_day/print_mgr.py +136 -80
- zebra_day/templates/modern/config_backups.html +59 -0
- zebra_day/templates/modern/config_editor.html +95 -0
- zebra_day/templates/modern/config_new.html +93 -0
- zebra_day/templates/modern/print_request.html +9 -5
- zebra_day/templates/modern/printer_detail.html +161 -34
- zebra_day/templates/modern/printers.html +17 -6
- zebra_day/templates/modern/template_editor.html +7 -4
- zebra_day/web/app.py +84 -7
- zebra_day/web/routers/api.py +155 -5
- zebra_day/web/routers/ui.py +155 -570
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/METADATA +74 -13
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/RECORD +46 -57
- zebra_day/bin/fetch_zebra_config.py +0 -15
- zebra_day/bin/generate_coord_grid_zpl.py +0 -50
- zebra_day/bin/print_zpl_from_file.py +0 -21
- zebra_day/bin/probe_new_label_dimensions.py +0 -75
- zebra_day/bin/scan_for_networed_zebra_printers.py +0 -23
- zebra_day/bin/scan_for_networed_zebra_printers_arp_scan.sh +0 -1
- zebra_day/bin/scan_for_networed_zebra_printers_curl.sh +0 -30
- zebra_day/bin/zserve.py +0 -1062
- zebra_day/templates/base.html +0 -36
- zebra_day/templates/bpr.html +0 -72
- zebra_day/templates/build_new_config.html +0 -36
- zebra_day/templates/build_print_request.html +0 -32
- zebra_day/templates/chg_ui_style.html +0 -19
- zebra_day/templates/edit_template.html +0 -128
- zebra_day/templates/edit_zpl.html +0 -37
- zebra_day/templates/index.html +0 -82
- zebra_day/templates/legacy/base.html +0 -37
- zebra_day/templates/legacy/bpr.html +0 -72
- zebra_day/templates/legacy/build_new_config.html +0 -36
- zebra_day/templates/legacy/build_print_request.html +0 -32
- zebra_day/templates/legacy/chg_ui_style.html +0 -19
- zebra_day/templates/legacy/edit_template.html +0 -128
- zebra_day/templates/legacy/edit_zpl.html +0 -37
- zebra_day/templates/legacy/index.html +0 -82
- zebra_day/templates/legacy/list_prior_configs.html +0 -24
- zebra_day/templates/legacy/print_result.html +0 -30
- zebra_day/templates/legacy/printer_details.html +0 -25
- zebra_day/templates/legacy/printer_status.html +0 -70
- zebra_day/templates/legacy/save_result.html +0 -17
- zebra_day/templates/legacy/send_print_request.html +0 -34
- zebra_day/templates/legacy/simple_print.html +0 -94
- zebra_day/templates/legacy/view_pstation_json.html +0 -29
- zebra_day/templates/list_prior_configs.html +0 -24
- zebra_day/templates/print_result.html +0 -30
- zebra_day/templates/printer_details.html +0 -25
- zebra_day/templates/printer_status.html +0 -70
- zebra_day/templates/save_result.html +0 -17
- zebra_day/templates/send_print_request.html +0 -34
- zebra_day/templates/simple_print.html +0 -94
- zebra_day/templates/view_pstation_json.html +0 -29
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/WHEEL +0 -0
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/entry_points.txt +0 -0
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/licenses/LICENSE +0 -0
- {zebra_day-1.0.2.dist-info → zebra_day-2.0.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zebra_day
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: A Python library to manage a Zebra printer fleet and an API for ZPL print requests.
|
|
5
5
|
Home-page: https://github.com/Daylily-Informatics/zebra_day
|
|
6
6
|
Author: John Major
|
|
@@ -60,7 +60,7 @@ Dynamic: license-file
|
|
|
60
60
|
|
|
61
61
|
<img src=zebra_day/imgs/bar_red.png>
|
|
62
62
|
|
|
63
|
-
## zebra_day Overview [
|
|
63
|
+
## zebra_day Overview [2.0.0](https://github.com/Daylily-Informatics/zebra_day/releases/tag/2.0.0)
|
|
64
64
|
|
|
65
65
|
### Build, Deploy, Run, Monitor, Teardown
|
|
66
66
|
|
|
@@ -86,13 +86,13 @@ zday gui start # Start web UI in background
|
|
|
86
86
|
zday gui stop # Stop web UI
|
|
87
87
|
zday gui status # Check if web UI is running
|
|
88
88
|
|
|
89
|
-
# Health Checks
|
|
90
|
-
curl
|
|
91
|
-
curl
|
|
89
|
+
# Health Checks (use https:// if certificates are configured, http:// otherwise)
|
|
90
|
+
curl https://localhost:8118/healthz # Basic health check
|
|
91
|
+
curl https://localhost:8118/readyz # Readiness check (printer mgr initialized)
|
|
92
92
|
|
|
93
93
|
# API Documentation
|
|
94
|
-
# Visit
|
|
95
|
-
# Visit
|
|
94
|
+
# Visit https://localhost:8118/docs for interactive OpenAPI docs
|
|
95
|
+
# Visit https://localhost:8118/redoc for alternative API documentation
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
<ul>
|
|
@@ -181,7 +181,7 @@ zday status # Show printer fleet status, service health
|
|
|
181
181
|
zday bootstrap # First-time setup: scan network, initialize config
|
|
182
182
|
|
|
183
183
|
# GUI server management
|
|
184
|
-
zday gui start [--auth none|cognito] [--host HOST] [--port PORT]
|
|
184
|
+
zday gui start [--auth none|cognito] [--host HOST] [--port PORT] [--cert FILE] [--key FILE] [--no-https]
|
|
185
185
|
zday gui stop
|
|
186
186
|
zday gui status
|
|
187
187
|
zday gui logs [--tail N] [--follow]
|
|
@@ -213,6 +213,64 @@ The old commands `zday_start` and `zday_quickstart` still work but are deprecate
|
|
|
213
213
|
| `zday_start` | `zday gui start` |
|
|
214
214
|
| `zday_start --auth cognito` | `zday gui start --auth cognito` |
|
|
215
215
|
|
|
216
|
+
### Local HTTPS Setup
|
|
217
|
+
|
|
218
|
+
The zebra_day web UI supports HTTPS for secure local development. By default, HTTPS is enabled if certificates are found.
|
|
219
|
+
|
|
220
|
+
#### One-Time Setup (mkcert)
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Install mkcert
|
|
224
|
+
# macOS
|
|
225
|
+
brew install mkcert
|
|
226
|
+
|
|
227
|
+
# Ubuntu/Debian
|
|
228
|
+
sudo apt install mkcert
|
|
229
|
+
|
|
230
|
+
# Create and install local CA (one-time, requires password)
|
|
231
|
+
mkcert -install
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
#### Generate Certificates for zebra_day
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
# Create certificate directory
|
|
238
|
+
mkdir -p ~/.config/zebra_day/certs
|
|
239
|
+
|
|
240
|
+
# Generate locally-trusted certificates
|
|
241
|
+
mkcert -cert-file ~/.config/zebra_day/certs/server.crt \
|
|
242
|
+
-key-file ~/.config/zebra_day/certs/server.key \
|
|
243
|
+
localhost 127.0.0.1 ::1
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
#### HTTPS Options
|
|
247
|
+
|
|
248
|
+
| Method | Description |
|
|
249
|
+
|--------|-------------|
|
|
250
|
+
| **Auto-detect** | If certs exist in `~/.config/zebra_day/certs/`, HTTPS is enabled automatically |
|
|
251
|
+
| **Explicit paths** | `zday gui start --cert /path/to/cert.crt --key /path/to/key.key` |
|
|
252
|
+
| **Environment vars** | Set `SSL_CERT_PATH` and `SSL_KEY_PATH` |
|
|
253
|
+
| **Force HTTP** | `zday gui start --no-https` |
|
|
254
|
+
|
|
255
|
+
#### Verify HTTPS
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Start server (will use HTTPS if certs are found)
|
|
259
|
+
zday gui start
|
|
260
|
+
|
|
261
|
+
# Test connection
|
|
262
|
+
curl https://localhost:8118/healthz
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### Troubleshooting
|
|
266
|
+
|
|
267
|
+
| Issue | Solution |
|
|
268
|
+
|-------|----------|
|
|
269
|
+
| Browser shows "Not Secure" | Run `mkcert -install` to trust the local CA |
|
|
270
|
+
| Certificate not found | Check paths: `ls ~/.config/zebra_day/certs/` |
|
|
271
|
+
| Permission denied | Ensure cert files are readable: `chmod 644 ~/.config/zebra_day/certs/*` |
|
|
272
|
+
| Want HTTP only | Use `--no-https` flag: `zday gui start --no-https` |
|
|
273
|
+
|
|
216
274
|
### It Is 3+ Things
|
|
217
275
|
|
|
218
276
|
(1) Zebra Printer Management & Configuration
|
|
@@ -502,10 +560,12 @@ zebra_day 0.6.0+ includes a redesigned modern UI alongside the preserved legacy
|
|
|
502
560
|
|
|
503
561
|
| Interface | URL | Description |
|
|
504
562
|
|-----------|-----|-------------|
|
|
505
|
-
| **Modern UI** | `
|
|
506
|
-
| **Legacy UI** | `
|
|
507
|
-
| **API Docs** | `
|
|
508
|
-
| **ReDoc** | `
|
|
563
|
+
| **Modern UI** | `https://localhost:8118/` | New dashboard with stats, quick actions, improved navigation |
|
|
564
|
+
| **Legacy UI** | `https://localhost:8118/legacy` | Original interface, fully functional |
|
|
565
|
+
| **API Docs** | `https://localhost:8118/docs` | Interactive OpenAPI/Swagger documentation |
|
|
566
|
+
| **ReDoc** | `https://localhost:8118/redoc` | Alternative API documentation |
|
|
567
|
+
|
|
568
|
+
> **Note:** Use `http://` instead of `https://` if running without certificates (`--no-https`).
|
|
509
569
|
|
|
510
570
|
Both interfaces provide full functionality. The modern UI offers:
|
|
511
571
|
- Dashboard with printer fleet statistics
|
|
@@ -579,7 +639,7 @@ When `--auth cognito` is enabled:
|
|
|
579
639
|
|
|
580
640
|
Include the JWT token in the Authorization header:
|
|
581
641
|
```bash
|
|
582
|
-
curl -H "Authorization: Bearer YOUR_JWT_TOKEN"
|
|
642
|
+
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" https://localhost:8118/api/v1/printers
|
|
583
643
|
```
|
|
584
644
|
|
|
585
645
|
### Secrets
|
|
@@ -784,3 +844,4 @@ Tthen run `sudo docker compose up --build -d` to run it then reach it at http://
|
|
|
784
844
|
|
|
785
845
|
|
|
786
846
|
|
|
847
|
+
|
|
@@ -3,36 +3,39 @@ zebra_day/cmd_mgr.py,sha256=RUGPT_WXvjq4XiFKFBOw2Oi1hFL1Mp78hUMKAFTgqS8,1116
|
|
|
3
3
|
zebra_day/exceptions.py,sha256=cDSsTFRekK1axkaCbzmHPYLY0MDxvenfv2K7mjKQMYw,2620
|
|
4
4
|
zebra_day/logging_config.py,sha256=y8_lMmFXYlCUxTAk6cHKjoS3qa0T673EOk5TmBDpw8o,2002
|
|
5
5
|
zebra_day/paths.py,sha256=Fm2xQbVLsmlJu95J84pyEL7PHakLW2FJjLa9NPov29Y,4460
|
|
6
|
-
zebra_day/print_mgr.py,sha256=
|
|
6
|
+
zebra_day/print_mgr.py,sha256=Exk1OQAxrn1K60XYNxhyWlZjzNlZTrHqu3n0hADeIFg,24757
|
|
7
7
|
zebra_day/zpl_renderer.py,sha256=vqcLd0CrgastHfpZ8btazFXV3lhDVaHDfZPhTQuCncw,8549
|
|
8
8
|
zebra_day/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
zebra_day/bin/fetch_zebra_config.py,sha256=-GANSqifEi6kWthfBKvOtMV-Ar5ZX63NmOLiKxf_0Cw,488
|
|
10
|
-
zebra_day/bin/generate_coord_grid_zpl.py,sha256=tWKDmw7bT13mAYdnEY81Coo0SLVLwrI3l2XA7gBy_Hw,1782
|
|
11
|
-
zebra_day/bin/print_zpl_from_file.py,sha256=-MXA_OLNn5NXD3U9f75NwKVLYcdsBw09aewkZ8uHxos,265
|
|
12
|
-
zebra_day/bin/probe_new_label_dimensions.py,sha256=JFpfylyxKUpX0bQgs2dMRjbuIGfJb5hd4GEbOT8uYeE,2286
|
|
13
|
-
zebra_day/bin/scan_for_networed_zebra_printers.py,sha256=chzUhIxHvOWoN3aBih2FNa7G0uCwcVKkGgcZUe5XJUQ,592
|
|
14
|
-
zebra_day/bin/scan_for_networed_zebra_printers_arp_scan.sh,sha256=XMV7Wc3XF3cd8gkqdFTeH9mzaQ2rc2kZyOVI_VFmDoI,25
|
|
15
|
-
zebra_day/bin/scan_for_networed_zebra_printers_curl.sh,sha256=BP_4dOk0Ra42MJsdfnAEOos78Dqx0Ua8Tt5OwG2nAII,865
|
|
16
|
-
zebra_day/bin/zserve.py,sha256=JkBowNGbyDyiRHM6fF_kN-lQ2Ry--GoD8_m58CHkGkQ,45692
|
|
17
9
|
zebra_day/cli/__init__.py,sha256=z1IZqgb3PlJTOrPsYbyUpNN-7Kj4cjbTLo-SzrBhAFs,8578
|
|
18
10
|
zebra_day/cli/cognito.py,sha256=ObVBDcIeKJmxCa8MbHBp3obyF2aZVnZ15oW7bUkYV14,4730
|
|
19
|
-
zebra_day/cli/gui.py,sha256=
|
|
11
|
+
zebra_day/cli/gui.py,sha256=5cPpTdtNsw4qnshPmY_aZOEVV1SNNX4XR9K6Umc0PvU,11806
|
|
20
12
|
zebra_day/cli/printer.py,sha256=_LiMrUDTCZggObeQr2dAPgGgQ3vAhAPoAfThr0pNIQs,5978
|
|
21
13
|
zebra_day/cli/template.py,sha256=6O-VIkuc0lQJUrOr9-6q7hp-LmvLSlAaKcmdfvQ9_7o,5570
|
|
22
14
|
zebra_day/etc/Monoid-Regular-HalfTight-Dollar-0-1-l.ttf,sha256=RFG3q_GHoEFsEaJb-PIayWRgy_RuFeC0ABkjcSBXT7c,79748
|
|
23
|
-
zebra_day/etc/printer_config.json,sha256=
|
|
24
|
-
zebra_day/etc/printer_config.template.json,sha256=
|
|
15
|
+
zebra_day/etc/printer_config.json,sha256=esoeYABERhciVc0fjkCZMapG8Dcu1YXnPjm8Qp802io,49
|
|
16
|
+
zebra_day/etc/printer_config.template.json,sha256=Ji0WbzonQ8yIiKFldPRvd7AmCp-MvIDLq_LhdrXu5Sc,772
|
|
25
17
|
zebra_day/etc/tmp_printers0.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
18
|
+
zebra_day/etc/tmp_printers120.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
19
|
+
zebra_day/etc/tmp_printers145.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
20
|
+
zebra_day/etc/tmp_printers207.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
26
21
|
zebra_day/etc/tmp_printers374.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
27
22
|
zebra_day/etc/tmp_printers383.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
28
23
|
zebra_day/etc/tmp_printers450.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
24
|
+
zebra_day/etc/tmp_printers469.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
25
|
+
zebra_day/etc/tmp_printers485.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
29
26
|
zebra_day/etc/tmp_printers504.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
27
|
+
zebra_day/etc/tmp_printers531.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
28
|
+
zebra_day/etc/tmp_printers540.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
29
|
+
zebra_day/etc/tmp_printers542.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
30
|
+
zebra_day/etc/tmp_printers552.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
30
31
|
zebra_day/etc/tmp_printers608.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
31
32
|
zebra_day/etc/tmp_printers657.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
33
|
+
zebra_day/etc/tmp_printers715.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
32
34
|
zebra_day/etc/tmp_printers838.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
33
35
|
zebra_day/etc/tmp_printers839.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
34
36
|
zebra_day/etc/tmp_printers933.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
35
37
|
zebra_day/etc/tmp_printers957.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
38
|
+
zebra_day/etc/tmp_printers972.json,sha256=0RA7EB5tcWd0WS8P9-j73lx2yBJ2XD1fbaKUrQ2pdAk,184
|
|
36
39
|
zebra_day/etc/label_styles/blank.zpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
40
|
zebra_day/etc/label_styles/cornersStripOf4Squares_1inX1in.zpl,sha256=rFFCw44WeZ6RKE6zZ8uPnWtiTh7mr-RVzFwrpc4oHzE,552
|
|
38
41
|
zebra_day/etc/label_styles/corners_1inX2in.zpl,sha256=wDogpF1tYILinH7xkB3KCZZHfAw3Reyq5fdc3lT8qOs,742
|
|
@@ -89,20 +92,35 @@ zebra_day/etc/old_printer_config/2026-02-01_01:51:29.789287_printer_config.json,
|
|
|
89
92
|
zebra_day/etc/old_printer_config/2026-02-01_01:51:29.794230_printer_config.json,sha256=eKsn7N7Gte4GQqWFGfF4pOMPwnYNMLDWe0O6v9rKX-o,18
|
|
90
93
|
zebra_day/etc/old_printer_config/2026-02-01_01:51:29.800021_printer_config.json,sha256=U_Gp8UIWg9CCnXgyFO6w91qQbGhOMRuOY0-Sh10_Jcc,42
|
|
91
94
|
zebra_day/files/.hold,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
+
zebra_day/files/blank_preview.png,sha256=_Y5D_c0Mk9_mG7ByCkTzGgNd1s8a2mXnV4MtBi45p-8,5568
|
|
96
|
+
zebra_day/files/corners_20cmX30cm_preview.png,sha256=nGStD58y0DaR_A2OjHzqJmO4PY4tBWGcVcnqx7MedCw,7339
|
|
97
|
+
zebra_day/files/generic_2inX1in_preview.png,sha256=cWTKPcIhMHTtBpTPWOPYxBeffHTOujgMxrOLM2FHULU,15817
|
|
92
98
|
zebra_day/files/hold,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
+
zebra_day/files/test_png_12020.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
100
|
+
zebra_day/files/test_png_12352.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
101
|
+
zebra_day/files/test_png_15472.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
93
102
|
zebra_day/files/test_png_17696.png,sha256=Ue971C0RDpNMN1cUNSOfY4AUXAC4EVKlJadi0ZsPmiU,11579
|
|
94
103
|
zebra_day/files/test_png_23477.png,sha256=reHzpFJuxFTmZ6vW0Xvk5RxF0sM-ECh2BeFQus_rPJw,11579
|
|
104
|
+
zebra_day/files/test_png_24493.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
95
105
|
zebra_day/files/test_png_28157.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
106
|
+
zebra_day/files/test_png_30069.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
96
107
|
zebra_day/files/test_png_35832.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
97
108
|
zebra_day/files/test_png_36400.png,sha256=bM1pgOP5tMhw-bzJcBBk8v8JctSUYlZb70UCtdjBUSo,11579
|
|
98
109
|
zebra_day/files/test_png_40816.png,sha256=C-Zt6O2ZgvaDK73BodUt_HBLWCt1Y3HRx6WQcIwDaIw,9216
|
|
110
|
+
zebra_day/files/test_png_47791.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
111
|
+
zebra_day/files/test_png_47799.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
99
112
|
zebra_day/files/test_png_49564.png,sha256=LwB_2v07NGduKrrUIrjSZ7kBFEzREEJNHXcQDN19uKg,11579
|
|
100
113
|
zebra_day/files/test_png_53848.png,sha256=x7aEWDY6GlvVG6s_gfi54jmJqtpAB3HEXQpE6B0WWkM,11579
|
|
114
|
+
zebra_day/files/test_png_55588.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
115
|
+
zebra_day/files/test_png_58809.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
101
116
|
zebra_day/files/test_png_62542.png,sha256=C-Zt6O2ZgvaDK73BodUt_HBLWCt1Y3HRx6WQcIwDaIw,9216
|
|
117
|
+
zebra_day/files/test_png_67242.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
118
|
+
zebra_day/files/test_png_89893.png,sha256=BZkB4S_6t9xq2S9y9-kfer6U5tch0jxXAiOFjlbKShg,8495
|
|
102
119
|
zebra_day/files/test_png_91597.png,sha256=3YPDRfhsTKmoIY90kLq-jVZZW4osLuAIdbmdxFCLtjw,11579
|
|
103
120
|
zebra_day/files/test_png_93633.png,sha256=C-Zt6O2ZgvaDK73BodUt_HBLWCt1Y3HRx6WQcIwDaIw,9216
|
|
104
121
|
zebra_day/files/tmpbjo3k7q1.png,sha256=fReIel3YmlwpYXph6C3zP9iox1_CSNIrHVpyGuW0kIg,8099
|
|
105
122
|
zebra_day/files/tmpigtr4pwy.png,sha256=0oBo7ClURIaDaF9bk5w72ChB38J3epa0dofHIoSixI4,8670
|
|
123
|
+
zebra_day/files/tube_20mmX30mmA_preview.png,sha256=XIdOZL7rmGLs7sArF9hu6L5JD-oQoiI-vY_ImQ_QlMI,21295
|
|
106
124
|
zebra_day/files/zpl_label_tube_2inX1in_2026-02-01_01:51:24.370964.png,sha256=reHzpFJuxFTmZ6vW0Xvk5RxF0sM-ECh2BeFQus_rPJw,11579
|
|
107
125
|
zebra_day/logs/.hold,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
126
|
zebra_day/logs/print_requests.log,sha256=pyGPUSt3N-POZG3dz4Xax9qronlW1bjV_-HK30uV3Ds,71
|
|
@@ -122,58 +140,29 @@ zebra_day/static/tron.css,sha256=EodvGGALe0ePUeSaYPZU8zPP84b_onGIwI3zgaeTg_U,857
|
|
|
122
140
|
zebra_day/static/zebra_modern.css,sha256=I1OM-UOpgXBE46g3qQ9SiZyc8uX6q15VMKaFmf_jApw,16625
|
|
123
141
|
zebra_day/static/zebras.css,sha256=I5k4_s8qg2qPtwxVX_R-KUWIED1nNkTWz2xzdDuwX-o,3600
|
|
124
142
|
zebra_day/static/js/zebra_modern.js,sha256=_zmr0CmIe7p3giYtZjV7r4G-z9s10gF6x9dWEBvQgGs,4564
|
|
125
|
-
zebra_day/templates/base.html,sha256=8rwsEZwRz-YYzacxdR4DyboKG-yy_kZuaS59nvXYGrw,1190
|
|
126
|
-
zebra_day/templates/bpr.html,sha256=obzVAs8G0zgP-b8jtUsa_T_okzsOw_jE_20tpHvrM9k,2370
|
|
127
|
-
zebra_day/templates/build_new_config.html,sha256=k1akbdDsKD3Mqsl-0NDdSBpsy6RBSSw3G05qquAHM3I,1154
|
|
128
|
-
zebra_day/templates/build_print_request.html,sha256=_WxVoO8EGQAZDThUVvAjq6mnwWJ5zh4NOH6gK7Et1Es,1328
|
|
129
|
-
zebra_day/templates/chg_ui_style.html,sha256=xNC_iqAUiELbgoadEbZ4bBEYPYfMnc5LpzGRKMH0tjQ,415
|
|
130
|
-
zebra_day/templates/edit_template.html,sha256=XJ2yd3-6MQ4Fke5d3oXwMjXb0y9hlwkeejdwWHfWUnU,4399
|
|
131
|
-
zebra_day/templates/edit_zpl.html,sha256=XNso1Wl5xGizTMXG5Wohqc_b1JzGHKcz-5as5J0jjWs,972
|
|
132
|
-
zebra_day/templates/index.html,sha256=8TJLUqSBfd5IkITIP5vZcinLihIEt8PVxDbGQp_-7A0,2598
|
|
133
|
-
zebra_day/templates/list_prior_configs.html,sha256=maZegE5SD3ghdlAXZjXVtKYxURvzh6ajDYCOmd6rrAg,715
|
|
134
|
-
zebra_day/templates/print_result.html,sha256=nQy87xhy3M74DBYQ6rfzayueb79XnnYt5v_7nhdOGIs,676
|
|
135
|
-
zebra_day/templates/printer_details.html,sha256=lCLyUpUTJNmQUnBnR6Tl8xeAuDCXTKYsIUfxw8-jvWY,624
|
|
136
|
-
zebra_day/templates/printer_status.html,sha256=RBUq7xcyrIACpUrHM1WcAqHd5CgBc29n3gjEsg6AWlI,2683
|
|
137
|
-
zebra_day/templates/save_result.html,sha256=6y4U8khbNLisHHddcr39hP0XBOfwDVQRJM7nbVa1U6g,359
|
|
138
|
-
zebra_day/templates/send_print_request.html,sha256=gB2QvTPQ2PFt7YnsD_rzgVmqh8wEdl4U7OQBqpC-Rm8,917
|
|
139
|
-
zebra_day/templates/simple_print.html,sha256=pC78nu_Etq09XPmaDozsiqkmPRZHeuJHZJCtfJn9cd8,2956
|
|
140
|
-
zebra_day/templates/view_pstation_json.html,sha256=8jy6bF85dO8TBrl4TedDG2Q_v3z33grqiB-CuTNM4Js,894
|
|
141
|
-
zebra_day/templates/legacy/base.html,sha256=DZiybJ0sI7aLHocfO1g9P9P4U0OLCkGXQ7AFzl_y4YE,1272
|
|
142
|
-
zebra_day/templates/legacy/bpr.html,sha256=SUXWG3ScjLiYxFnUbR2Xky-nRFeh6qJZ_lCLmr-Ouls,2390
|
|
143
|
-
zebra_day/templates/legacy/build_new_config.html,sha256=0E9pJ8mXbC9mLQ4D_nqTUZ8aHMFsX_BwvNh2g93Jvi8,1180
|
|
144
|
-
zebra_day/templates/legacy/build_print_request.html,sha256=UcyfXWLOs4RlcqDLuZX09izoMFCFRqfnfQtC0Rtt9P8,1348
|
|
145
|
-
zebra_day/templates/legacy/chg_ui_style.html,sha256=BeBB0rVUTn4a2qXF6WFhxFNwC2O-bV9zJDWGC-8DTC4,431
|
|
146
|
-
zebra_day/templates/legacy/edit_template.html,sha256=Qw6w-BIitGj7JdNCVvXY3gGwgRewY__fhgx1fnRO3Vo,4437
|
|
147
|
-
zebra_day/templates/legacy/edit_zpl.html,sha256=ZFfaN8icmaBW1HY-vAeRlNfG0y6vMkaLKS8mnrpEeMc,979
|
|
148
|
-
zebra_day/templates/legacy/index.html,sha256=j3ysh4m-I33xSeeQ5bVfvgdZxT3OOPS5JSeIrvXnUK8,2642
|
|
149
|
-
zebra_day/templates/legacy/list_prior_configs.html,sha256=82QH6o4uyK7BYfkRznpiXuP9dUI3PzhyIfZ7mVJ_Ixs,733
|
|
150
|
-
zebra_day/templates/legacy/print_result.html,sha256=OaleUNEneUTsb06HTr-08UkT0fr6uGaSG9xmAjhwKvU,695
|
|
151
|
-
zebra_day/templates/legacy/printer_details.html,sha256=HiOZm-KodNf6HcI9hG0DfXygI5SfLLhbKYJbIUZOxvk,644
|
|
152
|
-
zebra_day/templates/legacy/printer_status.html,sha256=wRKG4XvZ11TVtk00v_NQHt1kZpRojgR2y78CPU5dCcc,2731
|
|
153
|
-
zebra_day/templates/legacy/save_result.html,sha256=-_p6WojIJ1fLpOsN7BtJSQlnT5D9yiPWOKqaDBphjoQ,385
|
|
154
|
-
zebra_day/templates/legacy/send_print_request.html,sha256=cxcywQMIROtxDZ6V2kXbbL6ayJnHgCWtdyvTYTL2-M4,937
|
|
155
|
-
zebra_day/templates/legacy/simple_print.html,sha256=2y1O0lC-e_5JBHQitn0p8bPATO1uPsCksyL9Y71ieOU,2972
|
|
156
|
-
zebra_day/templates/legacy/view_pstation_json.html,sha256=bAMGGZ3DK1hVf3tvF8StTYq4gBMcuDX3PGhEsysiFQA,935
|
|
157
143
|
zebra_day/templates/modern/base.html,sha256=ONpd_ZkIV4nm0ooXvpr9uJu-JVzkiRwiGBedGoKjZjw,4552
|
|
158
144
|
zebra_day/templates/modern/config.html,sha256=quO2vOVSydrQasBk2cBO_igap6B9kvGL34i4aJs9ND8,5167
|
|
145
|
+
zebra_day/templates/modern/config_backups.html,sha256=cCV7uAcUnOCq9fLXYiNJKEyGFDBb9J23XGgGEnuy7vM,1942
|
|
146
|
+
zebra_day/templates/modern/config_editor.html,sha256=KKsuLSOQWWKQHDL2f0jmFhTzWttOkMYjNO_Lh2fPiVo,2962
|
|
147
|
+
zebra_day/templates/modern/config_new.html,sha256=XM-kvmQgllJld7jjKUvWeXhx5gFQwUv47K1Hfz4H38g,3910
|
|
159
148
|
zebra_day/templates/modern/dashboard.html,sha256=OEUjYTaXQfxyA4Qnq9yGsedS8MfNCly8sOCLuNGIgiM,5429
|
|
160
|
-
zebra_day/templates/modern/print_request.html,sha256=
|
|
149
|
+
zebra_day/templates/modern/print_request.html,sha256=XBx0FUWGPWyuyvdITuMfwmizTFWQmSOPKqdWn_AdGpI,6254
|
|
161
150
|
zebra_day/templates/modern/print_result.html,sha256=U2yWG8jmkVAQj3Myzn94uS80-8FU3PXtnitw8jWNEW4,3237
|
|
162
|
-
zebra_day/templates/modern/printer_detail.html,sha256=
|
|
163
|
-
zebra_day/templates/modern/printers.html,sha256=
|
|
151
|
+
zebra_day/templates/modern/printer_detail.html,sha256=SildrvsqLGINseya1ctoNw0XKfRRO3Jf0Qp4GrTb0pc,9989
|
|
152
|
+
zebra_day/templates/modern/printers.html,sha256=qwu8k02jsdjPJoIl3P4FEIdlal84GCVbDe1TjYJo1EI,5775
|
|
164
153
|
zebra_day/templates/modern/save_result.html,sha256=ShxIVetqfiJnEdq43sSQWqSblIBp2eOH3p9KZPHglgg,1546
|
|
165
|
-
zebra_day/templates/modern/template_editor.html,sha256=
|
|
154
|
+
zebra_day/templates/modern/template_editor.html,sha256=DH3vtUuPMLyBwvzz-G9rc-odxDqVbDM9Uv9IY9VNK9M,7148
|
|
166
155
|
zebra_day/templates/modern/templates.html,sha256=SJmJ4s4VKA7yWXrKQmAfvYWrKU2zvMtNEjIPgag6lcA,4635
|
|
167
156
|
zebra_day/web/__init__.py,sha256=S1kvJdkPuHl5mBlRLTbFiFQ7-uc6PZ6dW_oqsy4d4tc,188
|
|
168
|
-
zebra_day/web/app.py,sha256=
|
|
157
|
+
zebra_day/web/app.py,sha256=v_CSewdaZZp_5VytC9SfrKEegLJBRD2zTW_HvikP480,8193
|
|
169
158
|
zebra_day/web/auth.py,sha256=hKkd2TzspFUnZtv6mmDVHTS2j3BBEjZuaZUQcqmD8PY,5858
|
|
170
159
|
zebra_day/web/middleware.py,sha256=AFCi8C9ecbxwbjDYwIFZzz7etRZad1ORqOCzUTC-ml0,4884
|
|
171
160
|
zebra_day/web/routers/__init__.py,sha256=xWVL9oJx4JU6_NkdNTDDvyTzgXWX173pvbCp1z15XSw,54
|
|
172
|
-
zebra_day/web/routers/api.py,sha256=
|
|
173
|
-
zebra_day/web/routers/ui.py,sha256=
|
|
174
|
-
zebra_day-
|
|
175
|
-
zebra_day-
|
|
176
|
-
zebra_day-
|
|
177
|
-
zebra_day-
|
|
178
|
-
zebra_day-
|
|
179
|
-
zebra_day-
|
|
161
|
+
zebra_day/web/routers/api.py,sha256=0eShyT1QDbLU1x7_5tUUGA4yDr1Xf7pJDCbCOAOpPJA,11777
|
|
162
|
+
zebra_day/web/routers/ui.py,sha256=M5TSGx7wo7EjvQ9YERKMmj_ouDQjEgnc11eEbrcY3j4,19766
|
|
163
|
+
zebra_day-2.0.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
164
|
+
zebra_day-2.0.0.dist-info/METADATA,sha256=syXuGh7kViNjsZMpfF_pg1vN0AzSaCb2MM93j5xYYcE,34111
|
|
165
|
+
zebra_day-2.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
166
|
+
zebra_day-2.0.0.dist-info/entry_points.txt,sha256=LuUjLGAjOu0R50tma6_4__Te5UScZMrARbkofSVLVYM,131
|
|
167
|
+
zebra_day-2.0.0.dist-info/top_level.txt,sha256=YTHvTEmr_0Jdxstja9CpvzaFCBedOq8EhKnrhDg4Pm4,10
|
|
168
|
+
zebra_day-2.0.0.dist-info/RECORD,,
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import socket
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
|
-
def send_zpl_to_printer(ip_address, port, zpl_string):
|
|
5
|
-
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
6
|
-
s.connect((ip_address, port))
|
|
7
|
-
s.sendall(zpl_string.encode())
|
|
8
|
-
response = s.recv(1024)
|
|
9
|
-
return response.decode()
|
|
10
|
-
|
|
11
|
-
# Example usage
|
|
12
|
-
ip = sys.argv[1]
|
|
13
|
-
zpl_command = '^XA^HH^XZ' # This command retrieves the printer's configuration. Replace as needed.
|
|
14
|
-
response = send_zpl_to_printer(ip, 9100, zpl_command)
|
|
15
|
-
print(response)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import zebra_day.print_mgr as zdpm
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def generate_coarse_grid(x_dim, y_dim):
|
|
6
|
-
step = 50
|
|
7
|
-
zpl_strings = []
|
|
8
|
-
for x in range(0, x_dim, step):
|
|
9
|
-
for y in range(0, y_dim, step):
|
|
10
|
-
zpl_strings.append(f"^FO{x},{y}^A0N,18,18^FD{x}^FS^FO{x},{y+20}^A0N,18,18^FD{y}^FS")
|
|
11
|
-
#zpl_strings.append(f"^FO{x},{y}^A0N,22,22^FD{x},{y}^FS")
|
|
12
|
-
return "^XA" + "".join(zpl_strings) + "^XZ"
|
|
13
|
-
|
|
14
|
-
def generate_fine_grid(top_left, bottom_right, step=20, expand=50):
|
|
15
|
-
x_start = max(0, top_left[0] - expand)
|
|
16
|
-
y_start = max(0, top_left[1] - expand)
|
|
17
|
-
x_end = bottom_right[0] + expand
|
|
18
|
-
y_end = bottom_right[1] + expand
|
|
19
|
-
zpl_strings = []
|
|
20
|
-
for x in range(x_start, x_end, step):
|
|
21
|
-
for y in range(y_start, y_end, step):
|
|
22
|
-
zpl_strings.append(f"^FO{x},{y}^A0N,20,20^FD{x},{y}^FS")
|
|
23
|
-
return "^XA" + "".join(zpl_strings) + "^XZ"
|
|
24
|
-
|
|
25
|
-
def main(ip):
|
|
26
|
-
|
|
27
|
-
zpld = zdpm.zpl()
|
|
28
|
-
|
|
29
|
-
# Part 1: Coarse Grid
|
|
30
|
-
x_dim = int(input("Enter width of the rectangle in dots: "))
|
|
31
|
-
y_dim = int(input("Enter height of the rectangle in dots: "))
|
|
32
|
-
print("\nZPL for coarse grid:\n")
|
|
33
|
-
zpl_string = generate_coarse_grid(x_dim, y_dim)
|
|
34
|
-
print(zpl_string)
|
|
35
|
-
zpld.print_raw_zpl(zpl_string , ip)
|
|
36
|
-
|
|
37
|
-
fh = open('./test_800dX800dCoordinateArray.zpl','w')
|
|
38
|
-
fh.write(zpl_string)
|
|
39
|
-
fh.close()
|
|
40
|
-
|
|
41
|
-
# Part 2: Fine Grid
|
|
42
|
-
#top_left = tuple(map(int, input("\nEnter top-left corner coordinates (x,y) separated by a comma: ").split(',')))
|
|
43
|
-
#bottom_right = tuple(map(int, input("Enter bottom-right corner coordinates (x,y) separated by a comma: ").split(',')))
|
|
44
|
-
#print("\nZPL for fine grid:\n")
|
|
45
|
-
#zpl_string2 = generate_fine_grid(top_left, bottom_right)
|
|
46
|
-
#zpld.print_raw_zpl(zpl_string2 , ip)
|
|
47
|
-
|
|
48
|
-
if __name__ == "__main__":
|
|
49
|
-
|
|
50
|
-
main(sys.argv[1])
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import zebra_day.print_mgr as zdpm
|
|
3
|
-
|
|
4
|
-
ip = sys.argv[1]
|
|
5
|
-
|
|
6
|
-
zpl_file = sys.argv[2]
|
|
7
|
-
|
|
8
|
-
zpld = zdpm.zpl()
|
|
9
|
-
|
|
10
|
-
zpl_string = ""
|
|
11
|
-
|
|
12
|
-
fh = open(zpl_file, 'r')
|
|
13
|
-
for i in fh:
|
|
14
|
-
zpl_string += i.rstrip()
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
print(zpl_string)
|
|
18
|
-
|
|
19
|
-
zpld.print_raw_zpl(zpl_string , ip)
|
|
20
|
-
|
|
21
|
-
print('done!')
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import zebra_day.print_mgr as zdpm
|
|
3
|
-
|
|
4
|
-
class ZPLBoundaryTester:
|
|
5
|
-
def __init__(self):
|
|
6
|
-
# Starting coordinates
|
|
7
|
-
self.x = 235
|
|
8
|
-
self.y = 20 ##235,20
|
|
9
|
-
|
|
10
|
-
# Step size (how much we move the print position each time)
|
|
11
|
-
# Adjust based on the printer's resolution (DPI) and desired granularity.
|
|
12
|
-
self.step = 100
|
|
13
|
-
|
|
14
|
-
# Flags
|
|
15
|
-
self.first_print_x = True
|
|
16
|
-
self.first_print_y = True
|
|
17
|
-
|
|
18
|
-
self.first_x = None
|
|
19
|
-
self.first_y = None
|
|
20
|
-
self.first_last_x = None
|
|
21
|
-
self.first_last_y = None
|
|
22
|
-
|
|
23
|
-
def generate_zpl(self):
|
|
24
|
-
#zpl_string = f"^XA^FO{self.x},{self.y}^ADN,30,20^FDXXX^FS^XZ"
|
|
25
|
-
zpl_string = f"^XA^FO{self.x},{self.y}^BY1^B3N,N,40,N,N^FDX^FS^XZ"
|
|
26
|
-
#zpl_string = f"^XA^FO{self.x},{self.y}^A0N,100,100^FDX^FS^XZ"
|
|
27
|
-
return zpl_string
|
|
28
|
-
|
|
29
|
-
def process_feedback(self, feedback):
|
|
30
|
-
if feedback == "n": # not yet
|
|
31
|
-
if not self.first_print_y:
|
|
32
|
-
print("Testing completed.")
|
|
33
|
-
return None
|
|
34
|
-
self.y += self.step
|
|
35
|
-
self.x += self.step
|
|
36
|
-
self.first_print_x = True
|
|
37
|
-
return self.generate_zpl()
|
|
38
|
-
|
|
39
|
-
elif feedback == "b": # begins
|
|
40
|
-
self.first_print_x = False
|
|
41
|
-
self.x += self.step
|
|
42
|
-
return self.generate_zpl()
|
|
43
|
-
|
|
44
|
-
elif feedback == "c": # continuses
|
|
45
|
-
self.x += self.step
|
|
46
|
-
return self.generate_zpl()
|
|
47
|
-
|
|
48
|
-
elif feedback == "o": # off
|
|
49
|
-
if self.first_print_x:
|
|
50
|
-
self.first_print_y = False
|
|
51
|
-
else:
|
|
52
|
-
self.y += self.step
|
|
53
|
-
self.x = 0
|
|
54
|
-
self.first_print_x = True
|
|
55
|
-
return self.generate_zpl()
|
|
56
|
-
|
|
57
|
-
else:
|
|
58
|
-
print("Invalid feedback. Please provide a valid feedback string.")
|
|
59
|
-
return None
|
|
60
|
-
|
|
61
|
-
def main(ip='localhost'):
|
|
62
|
-
tester = ZPLBoundaryTester()
|
|
63
|
-
zpl_string = tester.generate_zpl()
|
|
64
|
-
|
|
65
|
-
zpld = zdpm.zpl()
|
|
66
|
-
|
|
67
|
-
while zpl_string:
|
|
68
|
-
print(f"Send the following ZPL to the printer:\n{zpl_string}")
|
|
69
|
-
feedback = input("Please provide your feedback: ")
|
|
70
|
-
zpl_string = tester.process_feedback(feedback)
|
|
71
|
-
zpld.print_raw_zpl(zpl_string , ip)
|
|
72
|
-
|
|
73
|
-
if __name__ == "__main__":
|
|
74
|
-
ip = sys.argv[1]
|
|
75
|
-
main(ip)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import subprocess
|
|
2
|
-
import re
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
|
-
ip_root = sys.argv[1] # ie: 192.168.1.1
|
|
6
|
-
|
|
7
|
-
# Command
|
|
8
|
-
command = ["nmap", "-p", "80", "-sV", "-T4", "--max-retries", "0", "--host-timeout", "21s", "-A", f"{ip_root}/24"]
|
|
9
|
-
output = subprocess.check_output(command).decode("utf-8")
|
|
10
|
-
|
|
11
|
-
# Parse the output
|
|
12
|
-
lines = output.split('\n')
|
|
13
|
-
zebra_ips = []
|
|
14
|
-
|
|
15
|
-
for i, line in enumerate(lines):
|
|
16
|
-
if 'Nmap scan report for' in line:
|
|
17
|
-
current_ip = re.search(r'for (\d+\.\d+\.\d+\.\d+)', line).group(1)
|
|
18
|
-
if 'Zebra' in line:
|
|
19
|
-
zebra_ips.append(current_ip)
|
|
20
|
-
|
|
21
|
-
# Print the results
|
|
22
|
-
for ip in zebra_ips:
|
|
23
|
-
print(ip)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
sudo arp-scan --localnet
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Network range (modify if needed)
|
|
4
|
-
network=$1 # "192.168.1"
|
|
5
|
-
scan_wait=0.4
|
|
6
|
-
if [[ "$2" == "" ]]; then
|
|
7
|
-
scan_wait=0.4
|
|
8
|
-
else
|
|
9
|
-
scan_wait=$2
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# Loop through each IP and use curl
|
|
14
|
-
for i in {1..254}; do
|
|
15
|
-
ip="$network.$i"
|
|
16
|
-
# Use curl to fetch the page and grep to check for "Zebra"
|
|
17
|
-
echo $ip
|
|
18
|
-
if curl -m $scan_wait -s "http://$ip:80" | grep -q "Zebra"; then
|
|
19
|
-
content=$(curl -m 4 -s "http://$ip:80")
|
|
20
|
-
if echo "$content" | grep -q "Zebra"; then
|
|
21
|
-
model=$(echo """$content""" | perl -ne 'print $1 if /^(.*?)<\/H1>/')
|
|
22
|
-
combo=$(echo """$content""" | perl -ne 'print $1 if /<TITLE>(.*?)<\/TITLE>/')
|
|
23
|
-
serial=$(echo """$combo""" | cut -d '-' -f 1)
|
|
24
|
-
zstatus=$(echo """$combo""" | cut -d '-' -f 2)
|
|
25
|
-
arp_resp=$(arp -n $ip)
|
|
26
|
-
echo "ZebraPrinter|$ip|$model|$serial|$zstatus|$arp_resp"
|
|
27
|
-
fi
|
|
28
|
-
fi
|
|
29
|
-
done
|
|
30
|
-
|