GSOC Day 10 – panelSystem Media

Today, I worked to finish the media support in panelPicture and to start and finish the media support in panelSystem. panelPicture’s support was nearly complete, but I had a few minor polish things to take care of. panelSystem didn’t have much structure for downloading images, so I had to add that – it was mostly fairly easy to copy the general ideas from panelPicture.

I had to tie into the media update events from the MediaThread, so that the panel could re-draw itself when new images were downloaded. This also meant that I had to keep a list of images that it wanted to pay attention to. I found that re-drawing only one image was a bit iffy, so I just had it rebuild itself whenever an image it cared about finished downloading. This worked well.

My other fixes for the day involved the MediaThread in libtpclient-py itself – the thread was not using authentication to log into a media server, so unless it was open to the public, it wouldn’t get in. I had to cut the URL into parts, which fortunately urllib does nicely for you, and then piece it back together in the format: Then it thought that the :password was the port, so I had to strip that out again in one section of the code. Finally, it worked.

It felt good to finally commit the media changes to the repository. Now I just need to work on the media for the starmap itself.

Here’s a screenshot of the media in panelSystem:

Media support in panelSystem.

Media support in panelSystem.

I’m not sure whether I’ll work on StarMap media tomorrow or whether I’ll work on orders. We’ll see.


~ by greywhind on June 2, 2009.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: