PDA

View Full Version : PyCI Development Update


riskable
09-17-2009, 07:36 AM
While we're all waiting for the judges to make their decision I thought I'd post an update on what I've been doing with PyCI lately: Bug fixes!

I've recently fixed the following bugs that apparently were in my final contest entry (sigh):

* The wireless device form submit button doesn't work due to a typo in the JavaScript code for that page (doh) -- FIXED
* The virtual wireless interface accordion is too small -- FIXED
* Updating QOS classifications doesn't work properly when removing a single option from an existing entry -- FIXED
* Actually, there was a bunch of update_<whatever> functions under the Network plugin that needed the same fix -- FIXED
* Bridged interfaces with more than one interface cause a template rendering error under Network->Interfaces -- FIXED
* Occasionally the fields don't get filled out in some of the accordions (page refresh fixes it) -- I *think* I fixed this one (hasn't happened again). Also might be related to the Python bug mentioned below.
* Change DHCP ethers to use /etc/ethers instead of /etc/ethers.local (OpenWRT devs apparently changed their mind about that file somewhere between when I wrote that interface and when I built my final contest entry) -- FIXED
* The /etc/ethers interface (under the DHCP Server config) incorrectly uses IP/MAC instead of MAC/IP -- FIXED

...and here's a bug I'm working on:
* When in HTTPS mode Python itself can crash from time to time when doing some intensive processing. I'm pretty sure I've narrowed this down to an issue with the way libopenssl is configured/compiled on OpenWRT for the ar71xx platform (no threading). Fortunately, I think it is a simple fix (and it isn't a bug in *my* code). Unfortunately, my final contest entry shipped with SSL mode enabled and I fear the judges might think PyCI is "unstable" when and if it crashes during testing.

Then again, this crashing bug might just be occurring on *my* RouterStation with the newer builds of OpenWRT I'm using. So it might not be an issue with my contest entry at all. It is really frustrating when a bug in a dependency causes an intermittent problem with your own app :(

Lastly, I want to make a note regarding my interface design: I don't care what anyone else thinks... I love it. I recently started using my RouterStation as my home router and when I was changing my wireless settings that's when I discovered that first bug with the submit form not working. That was annoying but it wasn't a show-stopper that prevented me from configuring my wireless card. Why? Just about every single PyCI configuration interface has two fail-safes in case the regular interface doesn't do what you want:

1) /etc/config/whatever tab: No matter what the interface does you can always fall back to editing the file directly right there in the same configuration section. Not only is this useful in the event that something is broken (like my experience with the bug mentioned above) but it is also useful when you're trying to understand what it is, exactly, each configuration element does.

2) Escape From The Web terminal. Even if PyCI doesn't do what you want you can pull up a full command line interface anywhere by hitting the Escape key. Its latest iteration even works with full-screen apps like vi and top.

jzeller
09-17-2009, 08:54 AM
Riskable,

I am anxiously awaiting the release of your firmware. I started in this contest but during the middle of development we had a new idea and direction so I have been working on that ever since. However, what we are working on I was planning on adding to your firmware along with some other additions. Can we talk sometime over email or IM. Out of the two that I have seen so far, we are looking to move forward with yours regardless of the outcome of the contest. Feel free to email me at jzeller at nex-tech dot com. I look forward to working with you.

riskable
09-17-2009, 11:28 AM
I just uploaded a new screenshot demonstrating Escape From The Web on an actual RouterStation:

http://www.flickr.com/photos/18175109@N00/3928866075/sizes/o/

(I just fixed a bug related to termios.TIOCSWINSZ on the ar71xx platform so now it works =)

CzechEnglishFrenchGermanItalianPolishPortugueseRussianSpanish
Translations by vB Enterprise Translator 3.5.4