Coder Social home page Coder Social logo

opentechinstitute / commotion-mesh-applet Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 4.0 255 KB

DEPRECATED, see commotion-client - represent the state of an olsrd mesh connection in a GNOME panel applet

Home Page: https://commotionwireless.net/

License: BSD 2-Clause "Simplified" License

Python 100.00%

commotion-mesh-applet's People

Contributors

eighthave avatar hawkinswnaf avatar natmey avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

commotion-mesh-applet's Issues

Update interface based on GUI redesign

After we complete the first phase of the GUI redesign, we'll need to update the interface based on the outcomes. Hopefully with the desktop Linux client, this should be relatively minor.

Provide connection information through mesh-applet

Commotion-mesh-applet could provide more detailed information about connection state.

For example:
Scrape jsoninfo to get info about the state of the connection, then change the applet icon accordingly. This should probably tap into the existing JsonInfo scrape that's happening, rather than having another json scrape.

There should probably something like 4 states. More might be confusing, but it can't just be on or off since mesh is cmore complicated than that. Perhaps something like:

no connection at all
small mesh
large mesh
mesh with internet

(Was issue 537 on code.commotionwireless.net)

add_menu_item() incorrect number of arguments

PythonArgs: ['/usr/lib/gnome-applets/commotion-mesh-applet']
Traceback:
Traceback (most recent call last):
File "/usr/lib/gnome-applets/commotion-mesh-applet", line 30, in
cma.create_menu()
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 374, in create_menu
strengths[profile[0]])
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 306, in add_visible_profile_menu_item
os.path.join(self.nm_icon_dir, 'nm-signal-50.png'))
TypeError: add_menu_item() takes at most 4 arguments (5 given)

Add interface for managing settings and profiles

One of the included interfaces with the Commotion Linux client (and all desktop clients) should be a "control panel" applet for the native system control panel that allows for the advanced management of configuration profiles available on the system.

Ubuntu 13.04 raring, "Show mesh status" fails

Got an error when trying to "Show mesh status" on an established mesh connection under Ubuntu 13.04, running Unity. No window shows and the following is outputed in the terminal window I started commotion-mesh-applet from:

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 390, in show_mesh_status
self.meshstatus.show()
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 114, in show
self.update()
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 102, in update
if link:
UnboundLocalError: local variable 'link' referenced before assignment

Update:
Apparently olsrd haven't found any neighbors (despite there being a couple of nodes around that are actively meshing) when checking 'echo all | nc localhost 2006'. And I also occasionally get the following error output - I think it's when I start establishing a connection (it comes before NetworkManager lets me know that the connection has been established).

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(_args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/NetworkManager.py", line 108, in helper
handler(_args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 374, in create_menu
strengths[profile[0]])
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 300, in add_visible_profile_menu_item
os.path.join(self.nm_icon_dir, 'nm-signal-100.png'))
TypeError: add_menu_item() takes at most 4 arguments (5 given)

I'll dig some more...

Ubuntu 13.04 Ad-hoc disallowed for Asus/Acer netbooks

Granted, this isn't our issue per se, but there is currently an incompatibility with Ubuntu 13.04 (Raring Ringtail). The Broadcom drivers don't allow for ad-hoc mode at all, and there is currently no patch. Affected devices include various Asus and Acer netbooks (including Asus Eee PC 1225B).

Create native "Quickstart" wizard for commotion-linux

We'll need a step-through wizard for creating new network profiles, analagous to the Quickstart interface on OpenWRT. This would accomplish many of the same functions but could presumably be somewhat similar, given the smaller range of possible interface configurations for desktop Linux (no access points, no multiple interface configuration).

Unbound local variable 'ac'

PythonArgs: ['/etc/NetworkManager/dispatcher.d/nm-dispatcher-olsrd', 'wlan0', 'up']
Traceback:
Traceback (most recent call last):
File "/etc/NetworkManager/dispatcher.d/nm-dispatcher-olsrd", line 276, in
m = MeshConnection(interface, status)
File "/etc/NetworkManager/dispatcher.d/nm-dispatcher-olsrd", line 127, in init
meshconnection = self.getMeshConnection(interface)
File "/etc/NetworkManager/dispatcher.d/nm-dispatcher-olsrd", line 190, in getMeshConnection
c = self.getAdhocConnection(interface)
File "/etc/NetworkManager/dispatcher.d/nm-dispatcher-olsrd", line 222, in getAdhocConnection
if ac == None:
UnboundLocalError: local variable 'ac' referenced before assignment

Provide mechanism to force mesh-applet to reread network config files

The applet currently requires a restart to parse new network config files. Ideally, a restart should not be required. If nothing else, there should be a menu entry that allows the user to "search" for new networks, or to define a new network (via a text editor that will pop up, perhaps).

(Was Bug 571 on code.commotionwireless.net)

Internationalization support for NetworkManager profile list

I got the following error when selecting a profile in the applet menu.

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/commotion_applet_support.py", line 314, in choose_profile
connections = dict([(x.GetSettings()['connection']['id'], x) for x in connections])
File "/usr/lib/python2.7/dist-packages/NetworkManager.py", line 102, in proxy_call
return self.unwrap(ret)
File "/usr/lib/python2.7/dist-packages/NetworkManager.py", line 65, in unwrap
d[k] = self.unwrap(v)
File "/usr/lib/python2.7/dist-packages/NetworkManager.py", line 65, in unwrap
d[k] = self.unwrap(v)
File "/usr/lib/python2.7/dist-packages/NetworkManager.py", line 76, in unwrap
return str(val)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe5' in position 2: ordinal not in range(128)

This was due to a profile in NM with an 'å' (00E5, http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=00E5&mode=hex ) in the name.

Is this related to NetworkManager.py not handling utf8 properly when returning str(val) or is it the interpretation of the string in commotion_applet_support.py ?

Either way, this is until it's fixed worked around by removing any profiles with non-ascii characters in their name.

Move log location

Log location should be moved from /tmp to linux standard /var/log

Integrate driver check into mesh-applet logic

Since the linux wireless driver table gives us a good idea what drivers are most and least likely to be be able to connect to a mesh network, it might be nice to give users of our Desktop app a quick, up-front indication of how mesh-ready their hardware is..

The check is fairly trivial; we'd just need to decide how we'd like to display the information about a given machine's mesh capabilities (or lack thereof).

Prerequisite task: version 1.0 UI review

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.