Selasa, 25 Januari 2011

giPlayer - A python-gtk wrapper for get_iplayer


A python-gtk wrapper for get_iplayer. Makes downloading BBC radio and television programmes easier than ever.


giPlayer is a very simple python gtk gui to download BBC programmes on the Linux OS. With a deb file it should easily work on all debian based versions of Linux including Ubuntu. There is no help but it is fairly straightforward to use. It is a wrapper for get_iplayer. If you wish to understand in more detail how it downloads programmes you can read the command line program get_iplayer help file.

(...)
Read the rest of giPlayer - A python-gtk wrapper for get_iplayer (22 words)




© admin for Ubuntu Geek, 2011. |
Permalink |
No comment |
Add to
del.icio.us


Post tags: , ,


Related Articles


Download Bash shell Scripting Guide for Beginners (PDF)


Everybody working on a UNIX or UNIX-like system who wants to make life easier on themselves, power users and sysadmins alike, can benefit from reading this book.



The Bash Guide for Beginners gets you started with Bash scripting and bridges the gap between the Bash HOWTO and the Advanced Bash Scripting Guide. Everybody who wants to make life easier on themselves, power users and sysadmins alike, can benefit from reading this practical course. The guide contains lots of examples and exercises at the end of each chapter, demonstrating the theory and helping you practice. Bash is available on a wide variety of UNIX, Linux, MS Windows and other systems.



©2011 Ubuntu Geek. All Rights Reserved.

.

Share



© admin for Ubuntu Geek, 2011. |
Permalink |
No comment |
Add to
del.icio.us


Post tags: ,


Related Articles


Martin Pitt: Na zdraví PyGI!

Last week I was in Prague to attend the GNOME/Python 2011 Hackfest for gobject-introspection, to which Tomeu Vizoso kindly invited me after I started working with PyGI some months ago.

read more

Martin Pitt: Na zdraví PyGI!

Last week I was in Prague to attend the GNOME/Python 2011 Hackfest for gobject-introspection, to which Tomeu Vizoso kindly invited me after I started working with PyGI some months ago. It happened at a place called brmlab which was quite the right environment for a bunch of 9 hackers: Some comfy couches and chairs, soldering irons, lots of old TV tubes, chips, and other electronics, a big Pirate flag, really good Wifi, plenty of Club Mate and Coke supplies, and not putting unnecessary effort into mundane things like wallpapers.


It was really nice to get to know the upstream experts John (J5) Palmieri and Tomeu Vizoso. When sitting together in a room, fully focussing on this area for a full week, it’s so much easier to just ask them about something and getting things done and into upstream than on IRC or bugzilla, where you don’t know each other personally. I certainly learned a lot this week (and not only how great Czech beer tastes :-) )!


So what did I do?


Application porting


After already having ported four Ubuntu PyGTK applications to GI before (apport, jockey, aptdaemon, and language-selector),

my main goal and occupation during this week was to start porting a bigger PyGTK application. I picked system-config-printer, as it’s two magnitudes bigger than the previous projects, exercises quite a lot more of the GTK GI bindings, and thus also exposes a lot more GTK annotation and pygobject bugs. This resulted in a new pygi s-c-p branch which has the first 100 rounds of “test, break, fix” iterations. It now at least starts, and you can do a number of things with it, but a lot of functionality is still broken.


As a kind of “finger exercise” and also to check for how well pygi-convert works for small projects now, I also ported computer-janitor. This went really well (I had it working after about 30 minutes), and also led me to finally fixing the unicode vs. str mess for GtkTreeView that you got so far with Python 2.x.


pygobject and GTK fixes


Porting system-config-printer and computer-janitor uncovered a lot of opportunities to improve pygi-convert.sh, a big “perl -e” kind of script to do the mechanical grunt work of the porting process. It doesn’t fix up changed signatures (such as adding missing arguments which were default arguments in PyGTK, or the ubiquitous “user_data” argument for signal handlers), but at least it gets a lot of namespaces, method, and constant names right.


I also fixed three annotation fixes in GTK+. We also collaboratively reviewed and tested Pavel’s annotation branch which helped to fix tons of problems, especially after Steve Frécinaux’s excellent reference leak fix, so if you play around with current pygobject git head, you really also have to use the current GTK+ git head.


Speaking of which, if you want to port applications and always stay on top of the pygobject/GTK development without having to clutter your package system with “make install”s of those, it works very well to have this in your ~/.bashrc:


export GI_TYPELIB_PATH=$HOME/projects/gtk/gtk:$HOME/projects/gtk/gdk
export PYTHONPATH=$HOME/projects/pygobject

Better GVariant/GDBus support


The GNOME world is moving from the old dbus-glib python bindings to GDBus, which is integrated into GLib. However, dbus-python exposed a really nice and convenient way of doing D-Bus calls, while using GDBus from Python was hideously complicated, especially for nontrivial arguments with empty or nested arrays:


from gi.repository import Gio, GLib
from gi._gi import variant_type_from_string

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
'/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

vb = GLib.VariantBuilder()
vb.init(variant_type_from_string('r'))
vb.add_value(GLib.Variant('s', 'test'))
vb.add_value(GLib.Variant('u', 1))
vb.add_value(GLib.Variant('s', 'gtk-ok'))
vb.add_value(GLib.Variant('s', 'Hello World!'))
vb.add_value(GLib.Variant('s', 'Subtext'))
# add an empty array
eavb = GLib.VariantBuilder()
eavb.init(variant_type_from_string('as'))
vb.add_value(eavb.end())
# add an empty dict
eavb = GLib.VariantBuilder()
eavb.init(variant_type_from_string('a{sv}'))
vb.add_value(eavb.end())
vb.add_value(GLib.Variant('i', 10000))
args = vb.end()

result = notify.call_sync('Notify', args, 0, -1, None)
id = result.get_child_value(0).get_uint32()
print id

So I went to making the GLib.Variant constructor work properly with nested types and boxed variants, adding Pythonic GVariant iterators and indexing (so that you can treat GVariant dictionaries/arrays/tuples just like their Python equivalents), and finally a Variant.unpack() method for converting the return value of a D-Bus call back into a native Python data type. This looks a lot friendlier now:


from gi.repository import Gio, GLib

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
'/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

args = GLib.Variant('(susssasa{sv}i)', 'test', 1, 'gtk-ok', 'Hello World!',
'Subtext', [], {}, 10000)
result = notify.call_sync('Notify', args, 0, -1, None)
id = result.unpack()[0]
print id

I also prepared another patch in GNOME#640181 which will provide the icing on the cake, i. e. handle the variant building/unpacking transparently and make the explicit call_sync() unnecessary:


from gi.repository import Gio, GLib

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
'/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

result = notify.Notify('(susssasa{sv}i)', 'test', 1, 'gtk-ok', 'Hello World!',
'Subtext', [], {}, 10000)
print result[0]

I hope that I can get this reviewed and land this soon.



Thanks to our sponsors!


Many thanks to the GNOME Foundation and Collabora for sponsoring this event!

The Fridge: User Days January 29-30 Schedule

On the weekend of January 29-30th we will be hosting our 3rd Ubuntu User Days event in #ubuntu-classroom on irc.freenode.net (#ubuntu-classroom-chat for questions).

All times in the timetable are in UTC, click the time to find out your local time.

Saturday, January 29th

Time (UTC)SubjectPresenter
08:30Introduction to User Daynigelb, pleia2, nhandler
09:00Software Installationshrini
10:00Networking and sharing files in Ubuntudnivra
11:00Cloud for usersDaviey
12:00Ubuntu Oneralsina
13:00Finding Help in Ubuntustarcraftman
14:00How to fix a broken machinepopey
15:00Switching from OS Xaveilleux
16:00Tips and tricks for multi-bootersCheri703
17:00Inkscape Introductiondoctormo
18:00Command Line Email Clients for Ubuntu_marx_
19:00Using IRCIdleOne
20:00Accessibility appsPendulum
21:00Desktop Environments: Gnome, KDE, XFCEmaco and pleia2
22:00Command Line Basicsimbrandon
23:00Asking questions on Launchpad and Reporting bugs on Launchpadcharlie-tca

Sunday, January 30th

Time (UTC)SubjectPresenter
00:00Switching from Windowscprofitt
01:00Entertaining and educating kids using UbuntuMichelleQ
02:00Linux Security Mythmaco
03:00Unityjcastro and Dbo
04:00What’s cooking in Ubuntujcastro

For more information about User Days, including any last-minute adjustments to our schedule, please see our wiki page:

https://wiki.ubuntu.com/UserDays

Originally posted by Elizabeth Krumbach here on January 24, 2011 at 17:52

Edubuntu: Edubuntu on YouTube

Edubuntu on YouTube


Last year Edubuntu jumped on the bandwagon and signed up for a channel on YouTube. We found some Edubuntu related videos and added them as favourites. Favourite videos appears in our profile so that anyone who visits our profile page will see them.


We thought it might be a good idea to round up some videos in a blog entry for people who don't actively follow YouTube. More importantly, if you know of some videos who should add as favourites on our channel, please point them out!


The Videos


Screencasts:



Bernadette Rego has a series of video FOSS4Educators tutorials that cover applications in Edubuntu. Sound quality could be better but otherwise her screencasts are great, here are some of them:



People who use Edubuntu:



Conference



The OpenSourceSchools channel is part of the UK BECTA initiative designed to promote the use of Open Source Software in the UK. Here are some videos that was uploaded from BETT that is relevant to Ubuntu/Edubuntu and the software we ship:



We love videos


We welcome your video contributions! If you'd like to create any Edubuntu videos, whether they are screencasts, documentation, demos, general discussion, talks or reviews then we'll be happy to feature it on our channel. Simple add the Edubuntu Project user as a friend and send a message!


read more

FCM#44 is HERE!

FCM#44 is HERE!: "This is it folks, the last issue of Full Circle… … last issue of 2010 that is! Get it while it’s hot! - http://fullcirclemagazine.org/issue-44/ This month: Command and Conquer. How-To : Program in Python – Part 18, Backup with Wubi & Link Shortening with Phurl. Review – Unetbootin. Top 5 – BitTorrent Clients. plus: Interviews, [...]"