[totem] plugins: Fix variable, constant and method names in Python plugins
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [totem] plugins: Fix variable, constant and method names in Python plugins
- Date: Tue, 5 Apr 2011 00:15:01 +0000 (UTC)
commit 2c24f82a9c263f50edc502ce5f182a16df258e51
Author: Philip Withnall <philip tecnocode co uk>
Date: Sun Mar 27 12:47:16 2011 +0100
plugins: Fix variable, constant and method names in Python plugins
This shuts pylint up about those problems. Helps: bgo#645739
src/plugins/coherence_upnp/coherence_upnp.py | 53 +++---
src/plugins/dbus-service/dbus-service.py | 81 ++++++---
src/plugins/iplayer/iplayer.py | 6 +-
src/plugins/iplayer/iplayer2.py | 241 +++++++++++++-------------
src/plugins/iplayer/listparser.py | 38 ++--
src/plugins/jamendo/jamendo.py | 121 +++++++------
src/plugins/opensubtitles/hash.py | 32 ++--
src/plugins/opensubtitles/opensubtitles.py | 69 ++++----
src/plugins/pythonconsole/pythonconsole.py | 10 +-
9 files changed, 344 insertions(+), 307 deletions(-)
---
diff --git a/src/plugins/coherence_upnp/coherence_upnp.py b/src/plugins/coherence_upnp/coherence_upnp.py
index 62e49fc..1a8f63d 100644
--- a/src/plugins/coherence_upnp/coherence_upnp.py
+++ b/src/plugins/coherence_upnp/coherence_upnp.py
@@ -28,34 +28,35 @@ class UPnPClient (gobject.GObject, Peas.Activatable):
def __init__ (self):
self.totem_object = None
- self.ui = TreeWidget ()
- self.ui.window.set_shadow_type (gtk.SHADOW_IN)
- self.ui.cb_item_right_click = self.button_pressed
- self.ui.window.show_all ()
- selection = self.ui.treeview.get_selection ()
+ self.uiw = TreeWidget ()
+ self.uiw.window.set_shadow_type (gtk.SHADOW_IN)
+ self.uiw.cb_item_right_click = self.button_pressed
+ self.uiw.window.show_all ()
+ selection = self.uiw.treeview.get_selection ()
selection.set_mode (gtk.SELECTION_MULTIPLE)
def button_pressed (self, widget, event):
if event.button == 3:
- x = int (event.x)
- y = int (event.y)
+ event_x = int (event.x)
+ event_y = int (event.y)
try:
- row_path, column, _, _ = self.ui.treeview.get_path_at_pos (x, y)
- selection = self.ui.treeview.get_selection ()
+ row_path, column, _cell_x, _cell_y = \
+ self.uiw.treeview.get_path_at_pos (event_x, event_y)
+ selection = self.uiw.treeview.get_selection ()
if not selection.path_is_selected (row_path):
- self.ui.treeview.set_cursor (row_path, column, False)
+ self.uiw.treeview.set_cursor (row_path, column, False)
print "button_pressed", row_path, (row_path[0],)
- iter = self.ui.store.get_iter ((row_path[0],))
- udn, = self.ui.store.get (iter, UDN_COLUMN)
- iter = self.ui.store.get_iter (row_path)
- upnp_class, url = self.ui.store.get (iter, UPNP_CLASS_COLUMN,
- SERVICE_COLUMN)
+ itera = self.uiw.store.get_iter ((row_path[0],))
+ udn, = self.uiw.store.get (itera, UDN_COLUMN)
+ itera = self.uiw.store.get_iter (row_path)
+ upnp_class, url = self.uiw.store.get (itera, UPNP_CLASS_COLUMN,
+ SERVICE_COLUMN)
print udn, upnp_class, url
if (not upnp_class.startswith ('object.container') and
not upnp_class == 'root'):
- has_delete = self.ui.device_has_action (udn,
- 'ContentDirectory',
- 'DestroyObject')
+ has_delete = self.uiw.device_has_action (udn,
+ 'ContentDirectory',
+ 'DestroyObject')
self.create_item_context (has_delete = has_delete)
self.context.popup (None, None, None, event.button,
event.time)
@@ -68,22 +69,22 @@ class UPnPClient (gobject.GObject, Peas.Activatable):
""" create context menu for right click in treeview item"""
def action (menu, text):
- selection = self.ui.treeview.get_selection ()
+ selection = self.uiw.treeview.get_selection ()
model, selected_rows = selection.get_selected_rows ()
if text == 'item.delete':
for row_path in selected_rows:
- self.ui.destroy_object (row_path)
+ self.uiw.destroy_object (row_path)
return
if (len (selected_rows) > 0 and text ==' item.play'):
row_path = selected_rows.pop (0)
- iter = self.ui.store.get_iter (row_path)
- url, = self.ui.store.get (iter, SERVICE_COLUMN)
+ itera = self.uiw.store.get_iter (row_path)
+ url, = self.uiw.store.get (itera, SERVICE_COLUMN)
self.totem_object.action_remote (totem.REMOTE_COMMAND_REPLACE,
url)
self.totem_object.action_remote (totem.REMOTE_COMMAND_PLAY, url)
for row_path in selected_rows:
- iter = self.ui.store.get_iter (row_path)
- url, = self.ui.store.get (iter, SERVICE_COLUMN)
+ itera = self.uiw.store.get_iter (row_path)
+ url, = self.uiw.store.get (itera, SERVICE_COLUMN)
self.totem_object.action_remote (totem.REMOTE_COMMAND_ENQUEUE,
url)
self.totem_object.action_remote (totem.REMOTE_COMMAND_PLAY, url)
@@ -126,12 +127,12 @@ class UPnPClient (gobject.GObject, Peas.Activatable):
self.totem_object = self.object
self.totem_object.add_sidebar_page ("upnp-coherence",
_(u"Coherence DLNA/UPnP Client"),
- self.ui.window)
+ self.uiw.window)
def load_and_play (url):
self.totem_object.add_to_playlist_and_play (url, '', True)
- self.ui.cb_item_dbl_click = load_and_play
+ self.uiw.cb_item_dbl_click = load_and_play
def do_deactivate (self):
self.totem_object.remove_sidebar_page ("upnp-coherence")
diff --git a/src/plugins/dbus-service/dbus-service.py b/src/plugins/dbus-service/dbus-service.py
index ed40208..ffa183f 100644
--- a/src/plugins/dbus-service/dbus-service.py
+++ b/src/plugins/dbus-service/dbus-service.py
@@ -26,8 +26,8 @@ from gi.repository import Totem
import dbus, dbus.service
from dbus.mainloop.glib import DBusGMainLoop
-class dbusservice (gobject.GObject, Peas.Activatable):
- __gtype_name__ = 'dbusservice'
+class DbusService (gobject.GObject, Peas.Activatable):
+ __gtype_name__ = 'DbusService'
object = gobject.property (type = gobject.GObject)
@@ -54,17 +54,20 @@ class Root (dbus.service.Object):
self.remove_from_connection (None, None)
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 's')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 's')
def Identity (self):
return self.totem.get_version ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Quit (self):
self.totem.action_exit ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '(qq)')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '(qq)')
def MprisVersion (self):
return dbus.Struct ((dbus.UInt16 (1), dbus.UInt16 (0)),
signature = '(qq)')
@@ -187,42 +190,47 @@ class Player (dbus.service.Object):
self.remove_from_connection (None, None)
@dbus.service.signal (dbus_interface = "org.freedesktop.MediaPlayer",
- signature = 'a{sv}')
+ signature = 'a{sv}') # pylint: disable-msg=C0103
def TrackChange (self, metadata):
pass
@dbus.service.signal (dbus_interface = "org.freedesktop.MediaPlayer",
- signature = '(iiii)')
+ signature = '(iiii)') # pylint: disable-msg=C0103
def StatusChange (self, status):
pass
@dbus.service.signal (dbus_interface = "org.freedesktop.MediaPlayer",
- signature = 'i')
+ signature = 'i') # pylint: disable-msg=C0103
def CapsChange (self, caps):
pass
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Next (self):
self.totem.action_next ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Prev (self):
self.totem.action_previous ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Pause (self):
self.totem.action_play_pause ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Stop (self):
self.totem.action_stop ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '')
def Play (self):
# If playing : rewind to the beginning of current track,
# else : start playing.
@@ -232,46 +240,54 @@ class Player (dbus.service.Object):
self.totem.action_play ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'b', out_signature = '')
+ in_signature = 'b', # pylint: disable-msg=C0103
+ out_signature = '')
def Repeat (self, value):
pass # we don't support repeating individual tracks
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = '(iiii)')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = '(iiii)')
def GetStatus (self):
status = self.calculate_status ()
self.old_status = status
return dbus.Struct (status, signature = '(iiii)')
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'a{sv}')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'a{sv}')
def GetMetadata (self):
return self.current_metadata
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'i')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'i')
def GetCaps (self):
caps = self.calculate_caps ()
self.old_caps = caps
return caps
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'i', out_signature = '')
+ in_signature = 'i', # pylint: disable-msg=C0103
+ out_signature = '')
def VolumeSet (self, volume):
self.totem.action_volume (volume / 100.0)
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'i')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'i')
def VolumeGet (self):
return dbus.Int32 (self.totem.get_volume () * 100)
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'i', out_signature = '')
+ in_signature = 'i', # pylint: disable-msg=C0103
+ out_signature = '')
def PositionSet (self, position):
self.totem.action_seek_time (position, False)
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'i')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'i')
def PositionGet (self):
return dbus.Int32 (self.totem.props.current_time)
@@ -284,49 +300,56 @@ class TrackList (dbus.service.Object):
self.remove_from_connection (None, None)
@dbus.service.signal (dbus_interface = "org.freedesktop.MediaPlayer",
- signature = 'i')
+ signature = 'i') # pylint: disable-msg=C0103
def TrackListChange (self, length):
# TODO: we can't implement this until TotemPlaylist is exposed in the
# Python API
pass
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'i', out_signature = 'a{sv}')
+ in_signature = 'i', # pylint: disable-msg=C0103
+ out_signature = 'a{sv}')
def GetMetadata (self, pos):
# Since the API doesn't currently exist in Totem to get the rest of the
# metadata, we can only return the title
return { "title" : self.totem.get_title_at_playlist_pos (pos) }
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'i')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'i')
def GetCurrentTrack (self):
return self.totem.get_playlist_pos ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = '', out_signature = 'i')
+ in_signature = '', # pylint: disable-msg=C0103
+ out_signature = 'i')
def GetLength (self):
return self.totem.get_playlist_length ()
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'sb', out_signature = 'i')
+ in_signature = 'sb', # pylint: disable-msg=C0103
+ out_signature = 'i')
def AddTrack (self, uri, play_immediately):
# We can't currently support !play_immediately
self.totem.add_to_playlist_and_play (str (uri), '', True)
return 0
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'i', out_signature = '')
+ in_signature = 'i', # pylint: disable-msg=C0103
+ out_signature = '')
def DelTrack (self, pos):
# TODO: we need TotemPlaylist exposed by the Python API for this
pass
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'b', out_signature = '')
+ in_signature = 'b', # pylint: disable-msg=C0103
+ out_signature = '')
def SetLoop (self, loop):
self.totem.action_remote_set_setting (Totem.RemoteSetting.REPEAT, loop)
@dbus.service.method (dbus_interface='org.freedesktop.MediaPlayer',
- in_signature = 'b', out_signature = '')
+ in_signature = 'b', # pylint: disable-msg=C0103
+ out_signature = '')
def SetRandom (self, random):
self.totem.action_remote_set_setting (Totem.RemoteSetting.SHUFFLE,
random)
diff --git a/src/plugins/iplayer/iplayer.py b/src/plugins/iplayer/iplayer.py
index 0835f8d..44df066 100644
--- a/src/plugins/iplayer/iplayer.py
+++ b/src/plugins/iplayer/iplayer.py
@@ -37,13 +37,13 @@ class IplayerPlugin (gobject.GObject, Peas.Activatable):
container.show_all ()
- self.tv = iplayer2.feed ('tv')
+ self.tv_feed = iplayer2.Feed ('tv')
# Add the interface to Totem's sidebar
self.totem.add_sidebar_page ("iplayer", _(u"BBC iPlayer"), container)
# Get the channel category listings
- self.populate_channel_list (self.tv, self.tv_tree_store)
+ self.populate_channel_list (self.tv_feed, self.tv_tree_store)
def do_deactivate (self):
self.totem.remove_sidebar_page ("iplayer")
@@ -95,7 +95,7 @@ class IplayerPlugin (gobject.GObject, Peas.Activatable):
return
# Populate it with programmes asynchronously
- self.populate_programme_list (self.tv, tree_model, row_iter)
+ self.populate_programme_list (self.tv_feed, tree_model, row_iter)
def _row_activated_cb (self, tree_view, path, view_column):
tree_store = tree_view.get_model ()
diff --git a/src/plugins/iplayer/iplayer2.py b/src/plugins/iplayer/iplayer2.py
index de1a1d3..f9537d5 100644
--- a/src/plugins/iplayer/iplayer2.py
+++ b/src/plugins/iplayer/iplayer2.py
@@ -46,25 +46,25 @@ def any (iterable):
# http://colinm.org/blog/on-demand-loading-of-flickr-photo-metadata
# returns immediately for all previously-called functions
-def call_once (fn):
+def call_once (function):
called_by = {}
def result (self):
if self in called_by:
return
called_by[self] = True
- fn (self)
+ function (self)
return result
# runs loader before decorated function
def loaded_by (loader):
- def decorator (fn):
+ def decorator (function):
def result (self, *args, **kwargs):
loader (self)
- return fn (self, *args, **kwargs)
+ return function (self, *args, **kwargs)
return result
return decorator
-channels_tv_list = [
+CHANNELS_TV_LIST = [
('bbc_one', 'BBC One'),
('bbc_two', 'BBC Two'),
('bbc_three', 'BBC Three'),
@@ -76,8 +76,8 @@ channels_tv_list = [
('bbc_hd', 'BBC HD'),
('bbc_alba', 'BBC Alba'),
]
-channels_tv = dict (channels_tv_list)
-channels_national_radio_list = [
+CHANNELS_TV = dict (CHANNELS_TV_LIST)
+CHANNELS_NATIONAL_RADIO_LIST = [
('bbc_radio_one', 'Radio 1'),
('bbc_1xtra', '1 Xtra'),
('bbc_radio_two', 'Radio 2'),
@@ -96,7 +96,7 @@ channels_national_radio_list = [
('bbc_world_service', 'World Service'),
('bbc_radio_nan_gaidheal', 'BBC nan Gaidheal')
]
-channels_local_radio_list = [
+CHANNELS_LOCAL_RADIO_LIST = [
('bbc_radio_cumbria', 'BBC Cumbria'),
('bbc_radio_newcastle', 'BBC Newcastle'),
('bbc_tees', 'BBC Tees'),
@@ -140,7 +140,7 @@ channels_local_radio_list = [
]
LOGO_URI = 'http://www.bbc.co.uk/englandcms/'
-channels_logos = {
+CHANNELS_LOGOS = {
'bbc_radio_cumbria': LOGO_URI + 'localradio/images/cumbria.gif',
'bbc_radio_newcastle': LOGO_URI + 'localradio/images/newcastle.gif',
'bbc_tees': LOGO_URI + 'localradio/images/tees.gif',
@@ -190,13 +190,13 @@ channels_logos = {
}
-channels_national_radio = dict (channels_national_radio_list)
-channels_local_radio = dict (channels_local_radio_list)
-channels_radio_list = channels_national_radio_list + channels_local_radio_list
-channels_radio = dict (channels_radio_list)
+CHANNELS_NATIONAL_RADIO = dict (CHANNELS_NATIONAL_RADIO_LIST)
+CHANNELS_LOCAL_RADIO = dict (CHANNELS_LOCAL_RADIO_LIST)
+CHANNELS_RADIO_LIST = CHANNELS_NATIONAL_RADIO_LIST + CHANNELS_LOCAL_RADIO_LIST
+CHANNELS_RADIO = dict (CHANNELS_RADIO_LIST)
-channels = dict (channels_tv_list + channels_radio_list)
-categories_list = [
+CHANNELS = dict (CHANNELS_TV_LIST + CHANNELS_RADIO_LIST)
+CATEGORIES_LIST = [
('childrens', 'Children\'s'),
('comedy', 'Comedy'),
('drama', 'Drama'),
@@ -212,10 +212,10 @@ categories_list = [
('scotland', 'Scotland'),
('wales', 'Wales')
]
-categories = dict (categories_list)
+CATEGORIES = dict (CATEGORIES_LIST)
ENGLAND_RADIO_URI = 'http://www.bbc.co.uk/england/'
-live_radio_stations = {
+LIVE_RADIO_STATIONS = {
'Radio 1': 'http://www.bbc.co.uk/radio1/wm_asx/aod/radio1_hi.asx',
'1 Xtra': 'http://www.bbc.co.uk/1xtra/realmedia/1xtra_hi.asx',
'Radio 2': 'http://www.bbc.co.uk/radio2/wm_asx/aod/radio2_hi.asx',
@@ -282,7 +282,7 @@ live_radio_stations = {
'BBC Tees': ENGLAND_RADIO_URI + 'cleveland.ram',
}
-live_webcams = {
+LIVE_WEBCAMS = {
'Radio 1': 'http://www.bbc.co.uk/radio1/webcam/images/live/webcam.jpg',
'1 Xtra': 'http://www.bbc.co.uk/1xtra/webcam/live/1xtraa.jpg',
'Radio 2': 'http://www.bbc.co.uk/radio2/webcam/live/radio2.jpg',
@@ -291,23 +291,23 @@ live_webcams = {
'Asian Network': 'http://www.bbc.co.uk/asiannetwork/webcams/birmingham.jpg'
}
-rss_cache = {}
+RSS_CACHE = {}
-self_closing_tags = ['alternate', 'mediator']
+SELF_CLOSING_TAGS = ['alternate', 'mediator']
-http = httplib2.Http ()
+HTTP_OBJECT = httplib2.Http ()
-re_selfclose = re.compile ('< ([a-zA-Z0-9]+) ( ?.*)/>', re.M | re.S)
+RE_SELF_CLOSE = re.compile ('< ([a-zA-Z0-9]+) ( ?.*)/>', re.M | re.S)
def fix_selfclosing (xml):
- return re_selfclose.sub ('<\\1\\2></\\1>', xml)
+ return RE_SELF_CLOSE.sub ('<\\1\\2></\\1>', xml)
-def set_http_cache_dir (d):
- fc = httplib2.FileCache (d)
- http.cache = fc
+def set_http_cache_dir (directory):
+ file_cache = httplib2.FileCache (directory)
+ HTTP_OBJECT.cache = file_cache
-def set_http_cache (c):
- http.cache = c
+def set_http_cache (cache):
+ HTTP_OBJECT.cache = cache
class NoItemsError (Exception):
def __init__ (self, reason=None):
@@ -317,7 +317,7 @@ class NoItemsError (Exception):
reason = self.reason or _(u'<no reason given>')
return _(u'Programme unavailable ("%s")') % (reason)
-class memoize (object):
+class Memoize (object):
def __init__ (self, func):
self.func = func
self._cache = {}
@@ -333,24 +333,24 @@ class memoize (object):
return result
def httpretrieve (url, filename):
- _, data = http.request (url, 'GET')
- f = open (filename, 'wb')
- f.write (data)
- f.close ()
+ _response, data = HTTP_OBJECT.request (url, 'GET')
+ data_file = open (filename, 'wb')
+ data_file.write (data)
+ data_file.close ()
def httpget (url):
- resp, data = http.request (url, 'GET')
+ resp, data = HTTP_OBJECT.request (url, 'GET')
return data
def parse_entry_id (entry_id):
# tag:bbc.co.uk,2008:PIPS:b00808sc
- r = re.compile ('PIPS: ([0-9a-z]{8})')
- matches = r.findall (entry_id)
+ regexp = re.compile ('PIPS: ([0-9a-z]{8})')
+ matches = regexp.findall (entry_id)
if not matches:
return None
return matches[0]
-class media (object):
+class Media (object):
def __init__ (self, item, media_node):
self.item = item
self.href = None
@@ -386,8 +386,9 @@ class media (object):
tep['video', 'video/mpeg', 'h264', 'http'] = 'mobile'
tep['audio', 'audio/mpeg', 'mp3', 'rtmp'] = 'mp3'
tep['audio', 'audio/real', 'real', 'http'] = 'real'
- me = (self.kind, self.mimetype, self.encoding, self.connection_protocol)
- return tep.get (me, None)
+ media = (self.kind, self.mimetype, self.encoding,
+ self.connection_protocol)
+ return tep.get (media, None)
def read_media_node (self, media, resolve=False):
"""
@@ -445,7 +446,7 @@ class media (object):
def programme (self):
return self.item.programme
-class item (object):
+class Item (object):
"""
Represents an iPlayer programme item. Most programmes consist of 2 such
items, (1) the ident, and (2) the actual programme. The item specifies the
@@ -531,10 +532,10 @@ class item (object):
return self.medias
url = self.mediaselector_url
#logging.info ("Stream XML URL: %s", str (url))
- _, xml = http.request (url)
+ _response, xml = HTTP_OBJECT.request (url)
entities = BeautifulStoneSoup.XML_ENTITIES
soup = BeautifulStoneSoup (xml, convertEntities = entities)
- medias = [media (self, m) for m in soup ('media')]
+ medias = [Media (self, m) for m in soup ('media')]
#logging.info ('Found media: %s', pformat (medias, indent=8))
self.medias = medias
return medias
@@ -553,12 +554,12 @@ class item (object):
Returns a dictionary of media objects for the given application types.
"""
medias = [m for m in self.media if m.application in applications]
- d = {}.fromkeys (applications)
- for m in medias:
- d[m.application] = m
- return d
+ dictionary = {}.fromkeys (applications)
+ for media in medias:
+ dictionary[media.application] = media
+ return dictionary
-class programme (object):
+class Programme (object):
"""
Represents an individual iPlayer programme, as identified by an 8-letter
PID, and contains the programme title, subtitle, broadcast time and list of
@@ -581,7 +582,7 @@ class programme (object):
try:
url = self.playlist_url
#logging.info ("Getting XML playlist at URL: %s", url)
- r, xml = http.request (url, 'GET')
+ _response, xml = HTTP_OBJECT.request (url, 'GET')
return xml
except SocketTimeoutError:
#logging.error ("Timed out trying to download programme XML")
@@ -593,7 +594,7 @@ class programme (object):
#xml = fix_selfclosing (xml)
entities = BeautifulStoneSoup.XML_ENTITIES
- soup = BeautifulStoneSoup (xml, selfClosingTags=self_closing_tags,
+ soup = BeautifulStoneSoup (xml, selfClosingTags = SELF_CLOSING_TAGS,
convertEntities = entities)
self.meta = {}
@@ -610,18 +611,18 @@ class programme (object):
# soup.playlist.noitems.get ('reason'))
self.meta['reason'] = soup.playlist.noitems.get ('reason')
- self._items = [item (self, i) for i in soup ('item')]
+ self._items = [Item (self, i) for i in soup ('item')]
#for i in self._items:
# print i, i.alternate , " ",
#print
- rId = re.compile ('concept_pid: ([a-z0-9]{8})')
+ id_regexp = re.compile ('concept_pid: ([a-z0-9]{8})')
for link in soup ('relatedlink'):
i = {}
i['title'] = link.title.string
#i['summary'] = item.summary # FIXME looks like a bug in BSS
- i['pid'] = (rId.findall (link.id.string) or [None])[0]
- i['programme'] = programme (i['pid'])
+ i['pid'] = (id_regexp.findall (link.id.string) or [None])[0]
+ i['programme'] = Programme (i['pid'])
self._related.append (i)
def get_thumbnail (self, size='large', tvradio='tv'):
@@ -692,10 +693,10 @@ class programme (object):
related = property (get_related)
items = property (get_items)
-#programme = memoize (programme)
+#programme = Memoize (programme)
-class programme_simple (object):
+class ProgrammeSimple (object):
"""
Represents an individual iPlayer programme, as identified by an 8-letter
PID, and contains the programme pid, title, subtitle etc
@@ -708,9 +709,9 @@ class programme_simple (object):
self.meta['summary'] = entry.summary
self.meta['updated'] = entry.updated
self.categories = []
- for c in entry.categories:
- if c != 'TV':
- self.categories.append (c.rstrip ())
+ for category in entry.categories:
+ if category != 'TV':
+ self.categories.append (category.rstrip ())
self._items = []
self._related = []
@@ -793,7 +794,7 @@ class programme_simple (object):
items = property (get_items)
-class feed (object):
+class Feed (object):
def __init__ (self, tvradio = None, channel = None, category = None,
subcategory = None, atoz = None, searchterm = None):
"""
@@ -809,9 +810,9 @@ class feed (object):
if not channel and not searchterm:
raise Exception, "Must specify channel or searchterm when "\
"using 'auto'"
- elif channel in channels_tv:
+ elif channel in CHANNELS_TV:
self.tvradio = 'tv'
- elif channel in channels_radio:
+ elif channel in CHANNELS_RADIO:
self.tvradio = 'radio'
else:
raise Exception, "TV channel '%s' not "\
@@ -875,13 +876,13 @@ class feed (object):
# TODO: This is not i18n-friendly whatsoever
# if got a channel, don't need tv/radio distinction
if self.channel:
- assert (self.channel in channels_tv or
- self.channel in channels_radio), 'Unknown channel'
+ assert (self.channel in CHANNELS_TV or
+ self.channel in CHANNELS_RADIO), 'Unknown channel'
#print self.tvradio
if self.tvradio == 'tv':
- path.append (channels_tv.get (self.channel, ' (TV)'))
+ path.append (CHANNELS_TV.get (self.channel, ' (TV)'))
else:
- path.append (channels_radio.get (self.channel, ' (Radio)'))
+ path.append (CHANNELS_RADIO.get (self.channel, ' (Radio)'))
elif self.tvradio:
# no channel
medium = 'TV'
@@ -893,8 +894,8 @@ class feed (object):
path += ['Search results for %s' % self.searchterm]
if self.category:
- assert self.category in categories, 'Unknown category'
- path.append (categories.get (self.category, ' (Category)'))
+ assert self.category in CATEGORIES, 'Unknown category'
+ path.append (CATEGORIES.get (self.category, ' (Category)'))
if self.atoz:
path.append ("beginning with %s" % self.atoz.upper ())
@@ -911,9 +912,9 @@ class feed (object):
if self.channel:
return None
if self.tvradio == 'tv':
- return channels_tv
+ return CHANNELS_TV
if self.tvradio == 'radio':
- return channels_radio
+ return CHANNELS_RADIO
return None
def channels_feed (self):
@@ -924,11 +925,11 @@ class feed (object):
#logging.warning ("%s doesn\'t have any channels!", self.channel)
return None
if self.tvradio == 'tv':
- return [feed ('tv', channel = ch)
- for (ch, title) in channels_tv_list]
+ return [Feed ('tv', channel = ch)
+ for (ch, title) in CHANNELS_TV_LIST]
if self.tvradio == 'radio':
- return [feed ('radio', channel = ch)
- for (ch, title) in channels_radio_list]
+ return [Feed ('radio', channel = ch)
+ for (ch, title) in CHANNELS_RADIO_LIST]
return None
def subcategories (self):
@@ -949,14 +950,14 @@ class feed (object):
>>> feed.is_atoz ('big british castle'), feed.is_atoz ('')
(False, False)
"""
- l = letter.lower ()
- if len (l) != 1 and l != '0-9':
+ letter = letter.lower ()
+ if len (letter) != 1 and letter != '0-9':
return False
- if l in '0123456789':
- l = "0-9"
- if l not in 'abcdefghijklmnopqrstuvwxyz0-9':
+ if letter in '0123456789':
+ letter = "0-9"
+ if letter not in 'abcdefghijklmnopqrstuvwxyz0-9':
return False
- return l
+ return letter
def sub (self, *args, **kwargs):
"""
@@ -971,9 +972,9 @@ class feed (object):
>>> feed ('tv', channel='bbc_one').sub (channel=None).channel
>>>
"""
- d = self.__dict__.copy ()
- d.update (kwargs)
- return feed (**d)
+ dictionary = self.__dict__.copy ()
+ dictionary.update (kwargs)
+ return Feed (**dictionary)
def get (self, subfeed):
"""
@@ -988,32 +989,32 @@ class feed (object):
elif self.is_atoz (subfeed):
return self.sub (atoz=self.is_atoz (subfeed))
else:
- if subfeed in channels_tv:
- return feed ('tv', channel = subfeed)
- if subfeed in channels_radio:
- return feed ('radio', channel = subfeed)
+ if subfeed in CHANNELS_TV:
+ return Feed ('tv', channel = subfeed)
+ if subfeed in CHANNELS_RADIO:
+ return Feed ('radio', channel = subfeed)
# TODO handle properly oh pants
return None
@classmethod
def read_rss (self, url):
#logging.info ('Read RSS: %s', url)
- if url not in rss_cache:
+ if url not in RSS_CACHE:
#logging.info ('Feed URL not in cache, requesting...')
xml = httpget (url)
progs = listparser.parse (xml)
if not progs:
return []
- d = []
+ cached_programmes = []
for entry in progs.entries:
pid = parse_entry_id (entry.id)
- p = programme (pid)
- d.append (p)
+ programme = Programme (pid)
+ cached_programmes.append (programme)
#logging.info ('Found %d entries', len (d))
- rss_cache[url] = d
+ RSS_CACHE[url] = cached_programmes
#else:
# logging.info ('RSS found in cache')
- return rss_cache[url]
+ return RSS_CACHE[url]
def popular (self):
return self.read_rss (self.create_url ('popular'))
@@ -1026,24 +1027,24 @@ class feed (object):
def categories (self):
# quick and dirty category extraction and count
- xmlURL = self.create_url ('list')
- xml = httpget (xmlURL)
+ xml_url = self.create_url ('list')
+ xml = httpget (xml_url)
cat = re.findall ("<category .*term=\" (.*?)\"", xml)
categories = {}
- for c in cat:
- if c != 'TV':
- if not categories.has_key (c):
- categories[c] = 0
- categories[c] += 1
+ for category in cat:
+ if category != 'TV':
+ if not categories.has_key (category):
+ categories[category] = 0
+ categories[category] += 1
alist = []
- k = categories.keys ()
- k.sort ()
- for c in k:
- n = categories[c]
- c = c.replace ('&', '&')
- c = c.replace ('>', '>')
- c = c.replace ('<', '<')
- alist.append ( (c, n))
+ category_keys = categories.keys ()
+ category_keys.sort ()
+ for category in category_keys:
+ name = categories[category]
+ category = category.replace ('&', '&')
+ category = category.replace ('>', '>')
+ category = category.replace ('<', '<')
+ alist.append ((category, name))
return alist
@property
@@ -1059,21 +1060,21 @@ class feed (object):
name = property (get_name)
-tv = feed ('tv')
-radio = feed ('radio')
+TV = Feed ('tv')
+RADIO = Feed ('radio')
def test ():
- tv = feed ('tv')
- print tv.popular ()
- print tv.channels ()
- print tv.get ('bbc_one')
- print tv.get ('bbc_one').list ()
- for c in tv.get ('bbc_one').categories ():
- print c
- #print tv.get ('bbc_one').channels ()
- #print tv.categories ()
- #print tv.get ('drama').list ()
- #print tv.get ('drama').get_subcategory ('period').list ()
+ tv_feed = Feed ('tv')
+ print tv_feed.popular ()
+ print tv_feed.channels ()
+ print tv_feed.get ('bbc_one')
+ print tv_feed.get ('bbc_one').list ()
+ for category in tv_feed.get ('bbc_one').categories ():
+ print category
+ #print tv_feed.get ('bbc_one').channels ()
+ #print tv_feed.categories ()
+ #print tv_feed.get ('drama').list ()
+ #print tv_feed.get ('drama').get_subcategory ('period').list ()
if __name__ == '__main__':
test ()
diff --git a/src/plugins/iplayer/listparser.py b/src/plugins/iplayer/listparser.py
index b96f80c..5802d72 100644
--- a/src/plugins/iplayer/listparser.py
+++ b/src/plugins/iplayer/listparser.py
@@ -10,43 +10,44 @@ def xmlunescape (data):
data = data.replace ('<', '<')
return data
-class listentry (object):
- def __init__ (self, title = None, id = None, updated = None, summary = None,
- categories = None):
+class ListEntry (object):
+ def __init__ (self, title = None, identifier = None, updated = None,
+ summary = None, categories = None):
self.title = title
- self.id = id
+ self.identifier = identifier
self.updated = updated
self.summary = summary
self.categories = categories
-class listentries (object):
+class ListEntries (object):
def __init__ (self):
self.entries = []
-def parse (xmlSource):
+def parse (xml_source):
try:
regexp = "<\?xml version=\"[^\"]*\" encoding=\" ([^\"]*)\"\?>"
- encoding = re.findall (regexp, xmlSource)[0]
+ encoding = re.findall (regexp, xml_source)[0]
except:
return None
- elist = listentries ()
+ elist = ListEntries ()
# gather all list entries
- entriesSrc = re.findall ("<entry> (.*?)</entry>", xmlSource, re.DOTALL)
+ entries_src = re.findall ("<entry> (.*?)</entry>", xml_source, re.DOTALL)
datematch = re.compile (':\s+ ([0-9]+)/ ([0-9]+)/ ([0-9]{4})')
# enumerate thru the element list and gather info
- for entrySrc in entriesSrc:
+ for entry_src in entries_src:
entry = {}
title = re.findall ("<title[^>]*> (.*?)</title>",
- entrySrc, re.DOTALL)[0]
- id = re.findall ("<id[^>]*> (.*?)</id>", entrySrc, re.DOTALL)[0]
+ entry_src, re.DOTALL)[0]
+ identifier = re.findall ("<id[^>]*> (.*?)</id>",
+ entry_src, re.DOTALL)[0]
updated = re.findall ("<updated[^>]*> (.*?)</updated>",
- entrySrc, re.DOTALL)[0]
+ entry_src, re.DOTALL)[0]
summary = re.findall ("<content[^>]*> (.*?)</content>",
- entrySrc, re.DOTALL)[0].splitlines ()[-3]
+ entry_src, re.DOTALL)[0].splitlines ()[-3]
categories = re.findall ("<category[^>]*term=\" (.*?)\"[^>]*>",
- entrySrc, re.DOTALL)
+ entry_src, re.DOTALL)
match = datematch.search (title)
if match:
@@ -56,9 +57,10 @@ def parse (xmlSource):
match.group (1))
e_categories = []
- for c in categories:
- e_categories.append (xmlunescape (c))
- elist.entries.append (listentry (xmlunescape (title), xmlunescape (id),
+ for category in categories:
+ e_categories.append (xmlunescape (category))
+ elist.entries.append (ListEntry (xmlunescape (title),
+ xmlunescape (identifier),
xmlunescape (updated),
xmlunescape (summary), e_categories))
diff --git a/src/plugins/jamendo/jamendo.py b/src/plugins/jamendo/jamendo.py
index bf9e1df..2f1de2a 100644
--- a/src/plugins/jamendo/jamendo.py
+++ b/src/plugins/jamendo/jamendo.py
@@ -60,13 +60,13 @@ except ImportError:
try:
import simplejson as json
except ImportError:
- dlg = Gtk.MessageDialog (
+ DLG = Gtk.MessageDialog (
message_type=Gtk.MessageType.ERROR,
buttons=Gtk.ButtonsType.OK
)
- dlg.set_markup (_(u'You need to install the Python simplejson module.'))
- dlg.run ()
- dlg.destroy ()
+ DLG.set_markup (_(u'You need to install the Python simplejson module.'))
+ DLG.run ()
+ DLG.destroy ()
raise
socket.setdefaulttimeout (30)
@@ -137,8 +137,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
add_to_playlist = builder.get_object ('add_to_playlist')
add_to_playlist.connect ('activate', self.on_add_to_playlist_activate)
album_page_button = builder.get_object ('jamendo_album_page')
- album_page_button.connect ('activate',
- self.on_open_jamendo_album_page_activate)
+ album_page_button.connect ('activate', self.on_open_album_page_activate)
self.reset ()
container.show_all ()
@@ -160,7 +159,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
None, self)
config_widget = builder.get_object ('config_widget')
config_widget.connect ('destroy', self.on_config_widget_destroy)
- format = self.settings.get_enum ('format')
+ audio_format = self.settings.get_enum ('format')
num_per_page = self.settings.get_value ('num-per-page').get_uint32 ()
# Set up the "format" combo box. We can't use g_settings_bind () here,
@@ -168,7 +167,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
# we'd need to use g_settings_bind_with_mapping (), but that isn't
# introspectable. We have to handle the binding manually.
combo = builder.get_object ('preferred_format_combo')
- combo.set_active (format)
+ combo.set_active (audio_format)
combo.connect ('changed', self.on_format_combo_changed)
self.settings.connect ('changed::format',
self.on_format_setting_changed, combo)
@@ -225,8 +224,8 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
self.TAB_LATEST : []
}
self.album_count = [0, 0, 0]
- for tv in self.treeviews:
- tv.get_model ().clear ()
+ for tree_view in self.treeviews:
+ tree_view.get_model ().clear ()
self._update_buttons_state ()
def setup_treeviews (self):
@@ -234,8 +233,8 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
Setup the 3 treeview: result, popular and latest
"""
self.current_treeview = self.treeviews[0]
- for w in self.treeviews:
- selection = w.get_selection ()
+ for tree_view in self.treeviews:
+ selection = tree_view.get_selection ()
selection.set_mode (Gtk.SelectionMode.MULTIPLE)
selection.connect ('changed', self.on_treeview_selection_changed)
@@ -243,14 +242,14 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
cell = Gtk.CellRendererPixbuf ()
col = Gtk.TreeViewColumn (cell_renderer=cell, pixbuf=1)
- w.append_column (col)
+ tree_view.append_column (col)
# build description column
cell = Gtk.CellRendererText ()
cell.set_property ('ellipsize', Pango.EllipsizeMode.END)
col = Gtk.TreeViewColumn (cell_renderer=cell, markup=2)
col.set_expand (True)
- w.append_column (col)
+ tree_view.append_column (col)
# duration column
cell = Gtk.CellRendererText ()
@@ -258,24 +257,26 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
cell.set_property ('size-points', 8)
col = Gtk.TreeViewColumn (cell_renderer=cell, markup=3)
col.set_alignment (1.0)
- w.append_column (col)
+ tree_view.append_column (col)
# configure the treeview
- w.set_show_expanders (False) # we manage internally expand/collapse
- w.set_tooltip_column (4) # set the tooltip column
+ # we manage internally expand/collapse
+ tree_view.set_show_expanders (False)
+ tree_view.set_tooltip_column (4) # set the tooltip column
# Connect signals
- w.connect ("button-press-event", self.on_treeview_row_clicked)
- w.connect ("row-activated", self.on_treeview_row_activated)
+ tree_view.connect ("button-press-event",
+ self.on_treeview_row_clicked)
+ tree_view.connect ("row-activated", self.on_treeview_row_activated)
def add_treeview_item (self, treeview, album):
if not isinstance (album['image'], GdkPixbuf.Pixbuf):
# album image pixbuf is not yet built
try:
- pb = GdkPixbuf.Pixbuf.new_from_file (album['image'])
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file (album['image'])
os.unlink (album['image'])
- album['image'] = pb
+ album['image'] = pixbuf
except:
# do not fail for this, just display a dummy pixbuf
album['image'] = GdkPixbuf.Pixbuf.new (GdkPixbuf.Colorspace.RGB,
@@ -314,19 +315,21 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
# track title
# Translators: this is the title of a track in Python format
# (first argument is the track number, second is the track title)
- tt = (u'<small>%s</small>' % _(u'%02d. %s')) % \
- (i+1, self._format_str (track['name']))
+ track_title = (u'<small>%s</small>' % _(u'%02d. %s')) % \
+ (i+1, self._format_str (track['name']))
# track duration
- td = self._format_duration (track['duration'])
+ track_duration = self._format_duration (track['duration'])
# track tooltip
tip = '\n'.join ([
'<b>%s</b>' % self._format_str (track['name']),
_(u'Album: %s') % self._format_str (album['name']),
_(u'Artist: %s') % self._format_str (album['artist_name']),
- _(u'Duration: %s') % td,
+ _(u'Duration: %s') % track_duration,
])
# append track
- treeview.get_model ().append (parent, [track, icon, tt, td, tip])
+ treeview.get_model ().append (parent,
+ [track, icon, track_title,
+ track_duration, tip])
# update current album count
pindex = self.treeviews.index (treeview)
self.album_count[pindex] += 1
@@ -347,19 +350,19 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
else:
self.add_track_to_playlist ('enqueue', track)
- def add_track_to_playlist (self, mode, t):
+ def add_track_to_playlist (self, mode, track):
"""
Add a track to the playlist, mode can be: replace, enqueue or
enqueue_and_play.
"""
if mode == 'replace':
self.totem.action_remote (Totem.RemoteCommand.REPLACE,
- t['stream'].encode ('UTF-8'))
+ track['stream'].encode ('UTF-8'))
elif mode == 'enqueue':
self.totem.action_remote (Totem.RemoteCommand.ENQUEUE,
- t['stream'].encode ('UTF-8'))
+ track['stream'].encode ('UTF-8'))
- def fetch_albums (self, pn=1):
+ def fetch_albums (self, page_number = 1):
"""
Initialize the fetch thread.
"""
@@ -374,7 +377,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
return
prop = self.SEARCH_CRITERIA[self.search_combo.get_active ()]
params = {'order': 'date_desc', prop: value}
- params['pn'] = pn
+ params['pn'] = page_number
self.current_treeview.get_model ().clear ()
self.previous_button.set_sensitive (False)
self.next_button.set_sensitive (False)
@@ -465,8 +468,8 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
else:
self.on_notebook_switch_page (new_search=True)
- def on_notebook_switch_page (self, nb=None, tab=None, tab_num=0,
- new_search=False):
+ def on_notebook_switch_page (self, page_number = None, tab = None,
+ tab_num = 0, new_search = False):
"""
Called when the changed a notebook page.
"""
@@ -485,7 +488,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
model.clear ()
self.fetch_albums ()
- def on_treeview_row_activated (self, tv, path, column):
+ def on_treeview_row_activated (self, tree_view, path, column):
"""
Called when the user double-clicked on a treeview element.
"""
@@ -499,35 +502,41 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
else:
self.add_track_to_playlist ('replace', item)
- def on_treeview_row_clicked (self, tv, evt):
+ def on_treeview_row_clicked (self, tree_view, evt):
"""
Called when the user clicked on a treeview element.
"""
try:
if evt.button == 3:
- (path, _, _, _) = tv.get_path_at_pos (int (evt.x), int (evt.y))
- sel = tv.get_selection ()
- (_, rows) = sel.get_selected_rows ()
+ (path, _col, _cell_x, _cell_y) = tree_view.get_path_at_pos (
+ int (evt.x),
+ int (evt.y)
+ )
+ sel = tree_view.get_selection ()
+ (_model, rows) = sel.get_selected_rows ()
if path not in rows:
sel.unselect_all ()
sel.select_path (path)
- tv.grab_focus ()
+ tree_view.grab_focus ()
self.popup.popup_for_device (None, None, None, None, None,
evt.button, evt.time)
return True
(event_x, event_y) = evt.get_coords ()
- (path, c, x, y) = tv.get_path_at_pos (int (event_x), int (event_y))
+ (path, _col, _cell_x, _cell_y) = tree_view.get_path_at_pos (
+ int (event_x),
+ int (event_y)
+ )
if path.get_depth () == 1:
- if tv.row_expanded (path):
- tv.collapse_row (path)
+ if tree_view.row_expanded (path):
+ tree_view.collapse_row (path)
else:
- tv.expand_row (path, False)
+ tree_view.expand_row (path, False)
except:
pass
def on_treeview_selection_changed (self, selection):
- (_, rows) = selection.get_selected_rows ()
+ (_model, rows) = selection.get_selected_rows ()
self.album_button.set_sensitive (len (rows) > 0)
def on_previous_button_clicked (self, *args):
@@ -585,7 +594,7 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
# we have a track
self.add_track_to_playlist ('enqueue', item)
- def on_open_jamendo_album_page_activate (self, *args):
+ def on_open_album_page_activate (self, *args):
"""
Called when the user clicked on the jamendo album page button of the
popup menu.
@@ -600,15 +609,15 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
sel = self.current_treeview.get_selection ()
(model, rows) = sel.get_selected_rows ()
for row in rows:
- it = model.get_iter (row)
+ itera = model.get_iter (row)
# Return the parent node if root == true
if root:
- parent_iter = model.iter_parent (it)
+ parent_iter = model.iter_parent (itera)
if parent_iter != None:
- it = parent_iter
+ itera = parent_iter
- elt = model.get_value (it, 0)
+ elt = model.get_value (itera, 0)
if elt not in ret:
ret.append (elt)
return ret
@@ -620,26 +629,26 @@ class JamendoPlugin (gobject.GObject, Peas.Activatable, PeasGtk.Configurable):
sel = self.current_treeview.get_selection ()
(model, rows) = sel.get_selected_rows ()
try:
- it = model.get_iter (rows[0])
+ itera = model.get_iter (rows[0])
except:
- it = None
+ itera = None
pindex = self.treeviews.index (self.current_treeview)
self.previous_button.set_sensitive (self.current_page[pindex] > 1)
more_results = len (model) == JamendoService.NUM_PER_PAGE
self.next_button.set_sensitive (more_results)
- self.album_button.set_sensitive (it is not None)
+ self.album_button.set_sensitive (itera is not None)
- def _format_str (self, st, truncate=False):
+ def _format_str (self, string, truncate=False):
"""
Escape entities for pango markup and force the string to utf-8.
"""
- if not st:
+ if not string:
return ''
try:
- return escape (unicode (st))
+ return escape (unicode (string))
except:
- return st
+ return string
def _format_duration (self, secs):
"""
diff --git a/src/plugins/opensubtitles/hash.py b/src/plugins/opensubtitles/hash.py
index aed867e..1ae7158 100644
--- a/src/plugins/opensubtitles/hash.py
+++ b/src/plugins/opensubtitles/hash.py
@@ -4,43 +4,43 @@ import gio
SIZE_ERROR = -1
SEEK_ERROR = -2
-def hashFile (name):
+def hash_file (name):
""" FIXME Need to handle exceptions !! """
longlongformat = 'q' # long long
bytesize = struct.calcsize (longlongformat)
- fp = gio.File (name)
+ file_to_hash = gio.File (name)
- file_info = fp.query_info ('standard::size', 0)
+ file_info = file_to_hash.query_info ('standard::size', 0)
filesize = file_info.get_attribute_uint64 ('standard::size')
- hash = filesize
+ file_hash = filesize
if filesize < 65536 * 2:
return SIZE_ERROR, 0
- data = fp.read ()
+ data = file_to_hash.read ()
if data.can_seek () != True:
return SEEK_ERROR, 0
- for x in range (65536/bytesize):
- buffer = data.read (bytesize)
- (l_value,) = struct.unpack (longlongformat, buffer)
- hash += l_value
- hash = hash & 0xFFFFFFFFFFFFFFFF #to remain as 64bit number
+ for _ in range (65536/bytesize):
+ buf = data.read (bytesize)
+ (l_value,) = struct.unpack (longlongformat, buf)
+ file_hash += l_value
+ file_hash = file_hash & 0xFFFFFFFFFFFFFFFF #to remain as 64bit number
if data.seek (max (0, filesize-65536), 1) != True:
return SEEK_ERROR, 0
- for x in range (65536/bytesize):
- buffer = data.read (bytesize)
- (l_value,) = struct.unpack (longlongformat, buffer)
- hash += l_value
- hash = hash & 0xFFFFFFFFFFFFFFFF
+ for _ in range (65536/bytesize):
+ buf = data.read (bytesize)
+ (l_value,) = struct.unpack (longlongformat, buf)
+ file_hash += l_value
+ file_hash = file_hash & 0xFFFFFFFFFFFFFFFF
data.close ()
- returnedhash = "%016x" % hash
+ returnedhash = "%016x" % file_hash
return returnedhash, filesize
diff --git a/src/plugins/opensubtitles/opensubtitles.py b/src/plugins/opensubtitles/opensubtitles.py
index 63281c4..3331654 100644
--- a/src/plugins/opensubtitles/opensubtitles.py
+++ b/src/plugins/opensubtitles/opensubtitles.py
@@ -14,7 +14,7 @@ import xdg.BaseDirectory
from os import sep, path, mkdir
import gettext
-from hash import hashFile
+from hash import hash_file
gettext.textdomain ("totem")
@@ -274,7 +274,7 @@ class OpenSubtitlesModel (object):
return None
- def os_download_subtitles (self, subtitleId):
+ def os_download_subtitles (self, subtitle_id):
"""
"""
self.message = ''
@@ -283,7 +283,7 @@ class OpenSubtitlesModel (object):
if self.os_login ():
try:
result = self.server.DownloadSubtitles (self.token,
- [subtitleId])
+ [subtitle_id])
except xmlrpclib.ProtocolError:
self.message = error_message
@@ -295,11 +295,11 @@ class OpenSubtitlesModel (object):
return None
import StringIO, gzip, base64
- subtitleDecoded = base64.decodestring (subtitle64)
- subtitleGzipped = StringIO.StringIO (subtitleDecoded)
- subtitleGzippedFile = gzip.GzipFile (fileobj=subtitleGzipped)
+ subtitle_decoded = base64.decodestring (subtitle64)
+ subtitle_gzipped = StringIO.StringIO (subtitle_decoded)
+ subtitle_gzipped_file = gzip.GzipFile (fileobj=subtitle_gzipped)
- return subtitleGzippedFile.read ()
+ return subtitle_gzipped_file.read ()
return None
@@ -374,10 +374,10 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
self.model.lang = lang
for lang in LANGUAGES_STR:
- it = languages.append (lang)
+ itera = languages.append (lang)
if LANGUAGES[lang[1]] == self.model.lang:
(success,
- parentit) = sorted_languages.convert_child_iter_to_iter (it)
+ parentit) = sorted_languages.convert_child_iter_to_iter (itera)
if success:
combobox.set_active_iter (parentit)
@@ -450,9 +450,9 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
self.manager.insert_action_group (self.os_action_group, 0)
self.menu_id = self.manager.new_merge_id ()
- path = '/tmw-menubar/view/subtitles/subtitle-download-placeholder'
+ merge_path = '/tmw-menubar/view/subtitles/subtitle-download-placeholder'
self.manager.add_ui (self.menu_id,
- path,
+ merge_path,
'opensubtitles',
'opensubtitles',
Gtk.UIManagerItemType.MENUITEM,
@@ -518,13 +518,13 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
if self.model.results:
self.apply_button.set_sensitive (True)
- for subData in self.model.results:
- if not SUBTITLES_EXT.count (subData['SubFormat']):
+ for sub_data in self.model.results:
+ if not SUBTITLES_EXT.count (sub_data['SubFormat']):
continue
- self.liststore.append ([subData['SubFileName'],
- subData['SubFormat'],
- subData['SubRating'],
- subData['IDSubtitleFile'],])
+ self.liststore.append ([sub_data['SubFileName'],
+ sub_data['SubFormat'],
+ sub_data['SubRating'],
+ sub_data['IDSubtitleFile'],])
self.treeview.set_headers_visible (True)
else:
self.apply_button.set_sensitive (False)
@@ -543,9 +543,9 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
model, rows = self.treeview.get_selection ().get_selected_rows ()
if rows:
- iter = model.get_iter (rows[0])
- subtitle_id = model.get_value (iter, 3)
- subtitle_format = model.get_value (iter, 1)
+ subtitle_iter = model.get_iter (rows[0])
+ subtitle_id = model.get_value (subtitle_iter, 3)
+ subtitle_format = model.get_value (subtitle_iter, 1)
gfile = None
@@ -564,8 +564,8 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
# GLib (PyGObject) 2.18
# directory.make_directory_with_parents ()
- file = Gio.file_new_for_path (self.filename)
- movie_name = file.get_basename ().rpartition ('.')[0]
+ subtitle_file = Gio.file_new_for_path (self.filename)
+ movie_name = subtitle_file.get_basename ().rpartition ('.')[0]
filename = directory.get_uri () + sep
filename += movie_name + '.' + subtitle_format
@@ -589,16 +589,16 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
if self.model.subtitles:
# Delete all previous cached subtitle for this file
for ext in SUBTITLES_EXT:
- fp = Gio.file_new_for_path (filename[:-3] + ext)
- if fp.query_exists (None):
- fp.delete (None)
+ subtitle_file = Gio.file_new_for_path (filename[:-3] + ext)
+ if subtitle_file.query_exists (None):
+ subtitle_file.delete (None)
- fp = Gio.file_new_for_uri (filename)
- suburi = fp.get_uri ()
+ subtitle_file = Gio.file_new_for_uri (filename)
+ suburi = subtitle_file.get_uri ()
- subFile = fp.replace ('', False)
- subFile.write (self.model.subtitles)
- subFile.close ()
+ sub_file = subtitle_file.replace ('', False)
+ sub_file.write (self.model.subtitles)
+ sub_file.close ()
self.model.lock.release ()
@@ -648,7 +648,7 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
else:
self.apply_button.set_sensitive (False)
- def on_treeview__row_activate (self, path, column, data):
+ def on_treeview__row_activate (self, tree_path, column, data):
self.os_download_and_apply ()
def on_totem__file_opened (self, totem, filename):
@@ -679,8 +679,9 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
self.find_button.set_sensitive (False)
def on_combobox__changed (self, combobox):
- iter = combobox.get_active_iter ()
- self.model.lang = LANGUAGES[combobox.get_model ().get_value (iter, 1)]
+ combo_iter = combobox.get_active_iter ()
+ combo_model = combobox.get_model ()
+ self.model.lang = LANGUAGES[combo_model.get_value (combo_iter, 1)]
self.settings.set_string ('language', self.model.lang)
def on_close_clicked (self, data):
@@ -694,7 +695,7 @@ class OpenSubtitles (gobject.GObject, Peas.Activatable):
self.apply_button.set_sensitive (False)
self.find_button.set_sensitive (False)
self.filename = self.totem.get_current_mrl ()
- self.model.hash , self.model.size = hashFile (self.filename)
+ self.model.hash , self.model.size = hash_file (self.filename)
self.os_get_results ()
diff --git a/src/plugins/pythonconsole/pythonconsole.py b/src/plugins/pythonconsole/pythonconsole.py
index a16244e..b51c719 100644
--- a/src/plugins/pythonconsole/pythonconsole.py
+++ b/src/plugins/pythonconsole/pythonconsole.py
@@ -44,9 +44,9 @@ from gi.repository import Gio
import gobject
try:
import rpdb2
- have_rpdb2 = True
+ HAVE_RPDB2 = True
except:
- have_rpdb2 = False
+ HAVE_RPDB2 = False
import gettext
gettext.textdomain ("totem")
@@ -54,7 +54,7 @@ gettext.textdomain ("totem")
D_ = gettext.dgettext
_ = gettext.gettext
-ui_str = """
+UI_STR = """
<ui>
<menubar name="tmw-menubar">
<menu name="Python" action="Python">
@@ -101,14 +101,14 @@ class PythonConsolePlugin (gobject.GObject, Peas.Activatable):
tooltip = _(u"Enable remote Python debugging "\
"with rpdb2"),
stock_id = None)
- if have_rpdb2:
+ if HAVE_RPDB2:
action.connect ('activate', self.enable_debugging)
else:
action.set_visible (False)
data['action_group'].add_action (action)
manager.insert_action_group (data['action_group'], 0)
- data['ui_id'] = manager.add_ui_from_string (ui_str)
+ data['ui_id'] = manager.add_ui_from_string (UI_STR)
manager.ensure_update ()
self.totem.set_data ('PythonConsolePluginInfo', data)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]