pendify 0.1.0__tar.gz → 0.1.2__tar.gz

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 (26) hide show
  1. {pendify-0.1.0/src/pendify.egg-info → pendify-0.1.2}/PKG-INFO +1 -1
  2. {pendify-0.1.0 → pendify-0.1.2}/pyproject.toml +1 -1
  3. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/page.py +14 -11
  4. {pendify-0.1.0 → pendify-0.1.2/src/pendify.egg-info}/PKG-INFO +1 -1
  5. {pendify-0.1.0 → pendify-0.1.2}/LICENSE +0 -0
  6. {pendify-0.1.0 → pendify-0.1.2}/MANIFEST.in +0 -0
  7. {pendify-0.1.0 → pendify-0.1.2}/README.md +0 -0
  8. {pendify-0.1.0 → pendify-0.1.2}/setup.cfg +0 -0
  9. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/__init__.py +0 -0
  10. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/__main__.py +0 -0
  11. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/alert.py +0 -0
  12. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/autostart.py +0 -0
  13. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/client.py +0 -0
  14. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/codes.py +0 -0
  15. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/config.py +0 -0
  16. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/icon.py +0 -0
  17. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/pairing.py +0 -0
  18. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/pendify.ico +0 -0
  19. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/plate_almena.py +0 -0
  20. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/qr.py +0 -0
  21. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/runfile.py +0 -0
  22. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/watcher.py +0 -0
  23. {pendify-0.1.0 → pendify-0.1.2}/src/pendify/worker.py +0 -0
  24. {pendify-0.1.0 → pendify-0.1.2}/src/pendify.egg-info/SOURCES.txt +0 -0
  25. {pendify-0.1.0 → pendify-0.1.2}/src/pendify.egg-info/dependency_links.txt +0 -0
  26. {pendify-0.1.0 → pendify-0.1.2}/src/pendify.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pendify
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Pairs this PC with a phone account by a QR on a loopback page and sends it two kinds of alerts.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/ElkinDev/PendiFy
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pendify"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "Pairs this PC with a phone account by a QR on a loopback page and sends it two kinds of alerts."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -35,9 +35,9 @@ FENCE_HEADERS = (("Cache-Control", "no-store"), ("Referrer-Policy", "no-referrer
35
35
  ("Content-Security-Policy", POLICY), ("X-Content-Type-Options", "nosniff"))
36
36
  # The program's name (owner 2026-10-01): the title and the h1 of the pairing page and of the stopped page.
37
37
  NAME = "PendiFy"
38
- # The foot's credit: the creator's handle and the repository, a link out that opens in a new tab with no opener and
39
- # no referrer. A link loads nothing, so the policy above is unchanged.
40
- CREATOR = "ElkinDev"
38
+ # The top bar's credit: the creator's handle and the repository, a link out that opens in a new tab with no opener
39
+ # and no referrer. A link loads nothing, so the policy above is unchanged.
40
+ CREATOR = "Niklerk"
41
41
  REPOSITORY = "https://github.com/ElkinDev/PendiFy"
42
42
  # The address the linked page's sponsored QR encodes.
43
43
  SPONSOR_ADDRESS = "https://pendiapp.com"
@@ -272,7 +272,7 @@ _STYLE = (":root{color-scheme:light dark;" + _LIGHT + "}\n"
272
272
  ".key{display:grid;gap:2px;margin:0}\n"
273
273
  ".key-label{font-size:12px;line-height:16px;font-weight:500;color:var(--ink2)}\n"
274
274
  # The header's actions as pendiapp.com's .nav-actions holds them: the language switch, then the theme button.
275
- ".bar{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;margin:0 0 8px}\n"
275
+ ".bar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;margin:0 0 8px}\n"
276
276
  # pendiapp.com's language switch (assets/styles.css, .langsw), its variables mapped to the page's own:
277
277
  # --hairline to --hair, --muted to --ink2, --brand and --on-brand as they are. Each entry is a submit
278
278
  # button, so the page's button look is set back to the site's link: no minimum height, no border, no fill,
@@ -439,9 +439,9 @@ _STYLE += ("@media (min-width:880px){.page{max-width:max(1040px,85vw)}\n"
439
439
  # The program's name in the title row, and the sentence it took the place of under it.
440
440
  ".tagline{margin:0 0 16px;font-size:16px;line-height:24px;font-weight:500;color:var(--ink)}\n"
441
441
  "@media (min-width:880px){.tagline{font-size:18px;line-height:28px}}\n"
442
- # The creator and the repository at the foot, «Salir» stays right.
443
- ".foot{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px}\n"
442
+ # The creator and the repository first in the top bar, at the left end of the row of its two controls.
444
443
  ".credit{margin:0;font-size:14px;line-height:20px;color:var(--ink2)}\n"
444
+ ".bar .credit{margin-right:auto}\n"
445
445
  ".credit b{font-weight:600;color:var(--ink)}\n"
446
446
  ".credit a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;"
447
447
  "text-underline-offset:3px;border-radius:4px}\n"
@@ -470,6 +470,8 @@ _STYLE += ("@media (min-width:880px){.page{max-width:max(1040px,85vw)}\n"
470
470
  ".arcade i:nth-of-type(3){bottom:6px;left:6px}.arcade i:nth-of-type(4){bottom:6px;right:6px}\n"
471
471
  ".qr2{display:block;width:264px;height:264px;outline:4px solid var(--px-line)}\n"
472
472
  "@media (max-width:399px){.qr2{width:231px;height:231px}}\n"
473
+ # Under 360 px the code is 198 px, 6 px a module, so the frame stays inside a 320 px window's gutters.
474
+ "@media (max-width:359px){.qr2{width:198px;height:198px}}\n"
473
475
  "@media (min-width:880px){.qr2{width:min(330px,calc(clamp(340px,34vw,522px) - 82px));"
474
476
  "height:min(330px,calc(clamp(340px,34vw,522px) - 82px))}}\n"
475
477
  ".sponsor-cap{margin:0;font-size:14px;line-height:20px;color:var(--ink2)}\n"
@@ -847,7 +849,8 @@ class PairingPage:
847
849
  # Beside a watcher the state line carries the pause it was rendered with, which the poll compares.
848
850
  paused = "" if seen is None else f' data-paused="{str(_paused(seen)).lower()}"'
849
851
  # What this is and what to do, with the QR card beside it on a wide window; the two other roads in one fold
850
- # under it; the credit and quit at the foot. The title row reads the program's name, its sentence under it.
852
+ # under it; the credit opens the top bar, and the quit sits at the foot, only beside a quit. The title row reads
853
+ # the program's name, its sentence under it.
851
854
  link = [f'<div class="title-row"><img alt="" width="32" height="32" src="{ICON_URI}"><h1>{NAME}</h1>'
852
855
  f"</div>", f'<p class="tagline">{words["title"]}</p>', f'<p class="intro">{words["intro"]}</p>',
853
856
  f'<p id="state" role="status" data-shown="{str(snapshot["showCode"]).lower()}'
@@ -907,12 +910,12 @@ class PairingPage:
907
910
  _form("forget", token, f'<button type="submit">{words["forget"]}</button>')]
908
911
  quit_button = f'<button type="submit">{words["quit"]}</button>'
909
912
  quit_form = "" if self.on_quit is None else _form("quit", token, quit_button)
910
- foot = (f'<footer class="foot"><p class="credit">{words["credit"]} <b>{CREATOR}</b> · <a href="{REPOSITORY}" '
911
- f'target="_blank" rel="noopener noreferrer">{REPOSITORY.removeprefix("https://")}</a></p>{quit_form}'
912
- "</footer>")
913
+ foot = "" if self.on_quit is None else f'<footer class="foot">{quit_form}</footer>'
914
+ credit = (f'<p class="credit">{words["credit"]} <b>{CREATOR}</b> · <a href="{REPOSITORY}" target="_blank" '
915
+ f'rel="noopener noreferrer">{REPOSITORY.removeprefix("https://")}</a></p>')
913
916
  # The typed link and the forget in one fold, open when the typed values were refused so the note shows.
914
917
  fold = " open" if snapshot["typedRefused"] else ""
915
- bar = (f'<header class="bar">{_switch(words, token, lang)}<button id="theme-toggle" class="icon-btn" '
918
+ bar = (f'<header class="bar">{credit}{_switch(words, token, lang)}<button id="theme-toggle" class="icon-btn" '
916
919
  f'type="button" aria-pressed="false" '
917
920
  f'aria-label="{words["theme_toggle"]}">{_THEME_ICONS}</button></header>')
918
921
  theme = self.state.theme()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pendify
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Pairs this PC with a phone account by a QR on a loopback page and sends it two kinds of alerts.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/ElkinDev/PendiFy
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes