Compare commits

...

19 Commits
0.5.5 ... 0.5.7

Author SHA1 Message Date
Mark Qvist
d13c8af88e Updated dependencies 2025-01-19 21:47:22 +01:00
Mark Qvist
7cd025e236 Updated dependencies 2025-01-18 17:20:29 +01:00
Mark Qvist
c48a8d2a09 Updated version 2025-01-13 15:25:12 +01:00
Mark Qvist
4fb97eecc5 Updated dependencies 2025-01-13 15:24:23 +01:00
Mark Qvist
74e7e4e806 Updated default config 2025-01-13 15:22:13 +01:00
Mark Qvist
01a5c21016 Revert NF glyphs 2025-01-13 15:17:03 +01:00
Mark Qvist
5e8a14d7a6 Merge branch 'master' of github.com:markqvist/NomadNet 2025-01-13 15:10:06 +01:00
markqvist
6edf531fbf Merge pull request #64 from kc1awv/patch-1
Update TextUI.py
2025-01-13 15:09:53 +01:00
Mark Qvist
eb3ff558c0 Use built-in platform check 2025-01-13 15:09:39 +01:00
markqvist
b5bf730e07 Merge pull request #65 from liamcottle/master
Fix serving NomadNet pages from Windows
2025-01-13 15:06:33 +01:00
markqvist
c52c49371b Merge pull request #66 from penguinolog/urwid_deprecations
Handle urwid API deprecations
2025-01-13 15:04:46 +01:00
Mark Qvist
46eee79da2 Added sync transfer rate to PN list display 2025-01-13 14:40:45 +01:00
Mark Qvist
bd909c9f58 Updated version 2025-01-13 14:40:31 +01:00
Aleksei Stepanov
c95fd83400 Handle urwid API deprecations
* `_get_base_widget` method is going to be removed
2025-01-01 13:37:16 +01:00
liamcottle
7d18a103cf don't try to execute nomadnet pages when running on windows 2024-12-20 23:03:31 +13:00
Steve Miller
00855c32a7 Update TextUI.py
Replace some missing or deprecated NF icons with new / updated icons.
2024-12-17 09:07:14 -05:00
Mark Qvist
d8cfc69ac6 Updated dependencies 2024-12-12 08:54:59 +01:00
Mark Qvist
ccc41a5789 Updated version 2024-12-12 08:54:05 +01:00
Mark Qvist
7b38d4f80e Fix multiline prop 2024-12-12 08:53:20 +01:00
6 changed files with 24 additions and 16 deletions

View File

@@ -1,4 +1,6 @@
import os import os
import sys
import RNS import RNS
import time import time
import threading import threading
@@ -159,7 +161,7 @@ class Node:
try: try:
if request_allowed: if request_allowed:
RNS.log("Serving page: "+file_path, RNS.LOG_VERBOSE) RNS.log("Serving page: "+file_path, RNS.LOG_VERBOSE)
if os.access(file_path, os.X_OK): if not RNS.vendor.platformutils.is_windows() and os.access(file_path, os.X_OK):
env_map = {} env_map = {}
if "PATH" in os.environ: if "PATH" in os.environ:
env_map["PATH"] = os.environ["PATH"] env_map["PATH"] = os.environ["PATH"]

View File

@@ -1136,13 +1136,15 @@ announce_interval = 360
# Whether to announce when the node starts. # Whether to announce when the node starts.
announce_at_start = Yes announce_at_start = Yes
# By default, when Nomad Network is hosting a # When Nomad Network is hosting a page-serving
# node, it will also act as an LXMF propagation # node, it can also act as an LXMF propagation
# node. If there is already a large amount of # node. If there is already a large amount of
# propagation nodes on the network, or you # propagation nodes on the network, or you
# simply want to run a pageserving-only node, # simply want to run a pageserving-only node,
# you can disable running a propagation node. # you can disable running a propagation node.
# disable_propagation = False # Due to lots of propagation nodes being
# available, this is currently the default.
disable_propagation = Yes
# The maximum amount of storage to use for # The maximum amount of storage to use for
# the LXMF Propagation Node message store, # the LXMF Propagation Node message store,
@@ -1176,10 +1178,6 @@ max_transfer_size = 256
# and generally you do not need to use it. # and generally you do not need to use it.
# prioritise_destinations = 41d20c727598a3fbbdf9106133a3a0ed, d924b81822ca24e68e2effea99bcb8cf # prioritise_destinations = 41d20c727598a3fbbdf9106133a3a0ed, d924b81822ca24e68e2effea99bcb8cf
# Automatic rescan interval of the pages directory in minutes.
# Default: int = 0 (no rescan)
page_refresh_interval = 0
# You can specify the interval in minutes for # You can specify the interval in minutes for
# rescanning the hosted pages path. By default, # rescanning the hosted pages path. By default,
# this option is disabled, and the pages path # this option is disabled, and the pages path

View File

@@ -1 +1 @@
__version__ = "0.5.5" __version__ = "0.5.7"

View File

@@ -168,7 +168,7 @@ def parse_line(line, state, url_delegate):
fn = o["name"] fn = o["name"]
fs = o["style"] fs = o["style"]
fmask = "*" if o["masked"] else None fmask = "*" if o["masked"] else None
f = urwid.Edit(caption="", edit_text=fd, align=state["align"], multiline=False, mask=fmask) f = urwid.Edit(caption="", edit_text=fd, align=state["align"], multiline=True, mask=fmask)
f.field_name = fn f.field_name = fn
fa = urwid.AttrMap(f, fs) fa = urwid.AttrMap(f, fs)
widgets.append((fw, fa)) widgets.append((fw, fa))

View File

@@ -1594,10 +1594,10 @@ class NetworkDisplay():
if self.list_display == 1: if self.list_display == 1:
parent = self.app.ui.main_display.sub_displays.network_display parent = self.app.ui.main_display.sub_displays.network_display
selected_node_entry = parent.known_nodes_display.ilb.get_selected_item() selected_node_entry = parent.known_nodes_display.ilb.get_selected_item()
if selected_node_entry != None: if selected_node_entry is not None:
selected_node_hash = selected_node_entry._get_base_widget().display_widget.source_hash selected_node_hash = selected_node_entry.base_widget.display_widget.source_hash
if selected_node_hash != None: if selected_node_hash is not None:
info_widget = KnownNodeInfo(selected_node_hash) info_widget = KnownNodeInfo(selected_node_hash)
options = parent.left_pile.options(height_type=urwid.WEIGHT, height_amount=1) options = parent.left_pile.options(height_type=urwid.WEIGHT, height_amount=1)
parent.left_pile.contents[0] = (info_widget, options) parent.left_pile.contents[0] = (info_widget, options)
@@ -1797,7 +1797,15 @@ class LXMFPeerEntry(urwid.WidgetWrap):
style = "list_unresponsive" style = "list_unresponsive"
focus_style = "list_focus_unresponsive" focus_style = "list_focus_unresponsive"
widget = ListEntry(sym+" "+display_str+"\n "+alive_string+", last heard "+pretty_date(int(peer.last_heard))+"\n "+str(len(peer.unhandled_messages))+" unhandled LXMs, "+RNS.prettysize(peer.link_establishment_rate/8, "b")+"/s LER") if peer.propagation_transfer_limit:
txfer_limit = RNS.prettysize(peer.propagation_transfer_limit*1000)
else:
txfer_limit = "No"
peer_info_str = sym+" "+display_str+"\n "+alive_string+", last heard "+pretty_date(int(peer.last_heard))
peer_info_str += "\n "+str(len(peer.unhandled_messages))+f" unhandled LXMs, {txfer_limit} sync limit\n"
peer_info_str += f" {RNS.prettyspeed(peer.sync_transfer_rate)} STR, "
peer_info_str += f"{RNS.prettyspeed(peer.link_establishment_rate)} LER\n"
widget = ListEntry(peer_info_str)
self.display_widget = urwid.AttrMap(widget, style, focus_style) self.display_widget = urwid.AttrMap(widget, style, focus_style)
self.display_widget.destination_hash = destination_hash self.display_widget.destination_hash = destination_hash
super().__init__(self.display_widget) super().__init__(self.display_widget)

View File

@@ -30,6 +30,6 @@ setuptools.setup(
entry_points= { entry_points= {
'console_scripts': ['nomadnet=nomadnet.nomadnet:main'] 'console_scripts': ['nomadnet=nomadnet.nomadnet:main']
}, },
install_requires=["rns>=0.8.7", "lxmf>=0.5.8", "urwid>=2.4.4", "qrcode"], install_requires=["rns>=0.9.1", "lxmf>=0.6.0", "urwid>=2.6.16", "qrcode"],
python_requires=">=3.6", python_requires=">=3.7",
) )