sorry about that i posted the wrong .py any this is based on the plugin for ebaumsworld, # simple team xbox video browser
#===========================================================
#
# updates:
# o cloned from aqtbrowser by darkie update by mark hensler
import flexibrowser
import re
def repmultiwhitespace(s):
p = re.compile('\s{2,}')
return p.sub(' ', s)
def removetags(s):
p = re.compile('<.*?>')
return p.sub('', s)
def getmoviesfromstring(data, httphandler):
# remove leading whitespaces
p = re.compile('^\s+')
data = p.sub('', data)
# remove linebreaks
data = data.replace('\n', '')
data = data.replace('\r', '')
# <tr>
# <td><a href="weatherman.html"><img src="images/weatherman75.jpg" width="75" height="75" border="0" align="left" class="fotgal"></a>
# news anchor has a bad case of tourettes syndrome.
# <a href="weatherman.html">tourettes weatherman</a>
# </td>
# </tr>
# 0 = url; 1 = thumburl; 2 = description; 3=url; 4=caption
p = re.compile('<tr>\s*<td><a href="(.*?)"><img src="(.*?)".*?></a>(.*?)<a href="(.*?)">\s*(.*?)\s*</a>\s*</td>\s*</tr>', re.ignorecase)
movies = re.findall(p, data)
# print('found' + str(len(movies)))
subelems = []
for mov in movies:
desc = removetags(repmultiwhitespace(mov[2]))
desc = desc.strip()
caption = removetags(repmultiwhitespace(mov[4]))
caption = caption.strip()
caption = caption + ' - ' + desc
url = mov[0]
if (url.count(':') == 0):
url = '
http://snuffx.com/main.htm' + url
m = ebaumvideoelement(caption, url, desc)
m.sethttphandler(httphandler)
subelems.append(m)
return subelems
# ##########################################################
class ebaumvideoelement(flexibrowser.flexielement):
def (self, caption = '', url = '', description = '', date = '', size = '', thumburl = ''):
flexibrowser.flexielement.(self, caption, url, description, date, size, thumburl)
def geturl(self):
# retrieve page (do not use geturl this would result in an endless recursion!
data = self.fetchhtmlpage(self.url)
#
http://media.snuffx.com/x/videoarchiqq/wmv/ahmed.wmv
m = re.search('<a href="(
http://.*?/).*?\?e=(.*?\..*?)"', data, re.ignorecase)
if (m != none):
return m.group(1) + m.group(2)
print('could not find movie link')
return ''
class ebaumhilariousvideoselement(flexibrowser.flexielement):
def (self, caption = '', url = '', description = '', date = '', size = '', thumburl = ''):
flexibrowser.flexielement.(self, caption, url, description, date, size, thumburl)
def getsubelements(self):
subelems = []
i = 1 # start with page1
data = ''
while (data.find('404 - not found') == -1):
# format url
url = '
http://www.snuffx.com/clips.htm' % i
# get page (will return an empty string in case of an error)
data = self.fetchhtmlpage(url)
if (data.find('404 - not found') == -1):
# parse this page
subelems.extend(getmoviesfromstring(data, self.gethttphandler()))
# process next page
i = i + 1
return subelems
class ebaumvideoselement(flexibrowser.flexielement):
def (self, caption = '', url = '', description = '', date = '', size = '', thumburl = ''):
flexibrowser.flexielement.(self, caption, url, description, date, size, thumburl)
def getsubelements(self):
# get page (will return an empty string in case of an error)
data = self.fetchhtmlpage(self.geturl())
# parse this page
return getmoviesfromstring(data, self.gethttphandler())
class ebaumelement(flexibrowser.flexielement):
def (self, caption = "snuffx", url = '', description = '', date = '', size = '', thumburl = ''):
flexibrowser.flexielement.(self, caption, url, description, date, size, thumburl)
def getsubelements(self):
subelems = []
# add 'accidents'
m = ebaumhilariousvideoselement('accidents', '
http://www.snuffx.com/accidents.htm', 'videos guaranteed to make you laugh.')
m.sethttphandler(self.gethttphandler())
subelems.append(m)
# add 'executions'
m = ebaumvideoselement('executions', '
http://www.snuffx.com/executions.htm', 'prepare to be shocked.')
m.sethttphandler(self.gethttphandler())
subelems.append(m)
# add 'strange'
m = ebaumvideoselement('strange', '
http://www.snuffx.com/strange.htm', 'amazing sports footage from around the globe.')
m.sethttphandler(self.gethttphandler())
subelems.append(m)
# add 'celebrities'
m = ebaumvideoselement('celebrities', '
http://www.snuffx.com/celebrities.htm', "videos you won't want to miss.")
m.sethttphandler(self.gethttphandler())
subelems.append(m)
return subelems
# ######################################################################
def getflexibrowserelements(httphandler):
elems = []
m = ebaumelement("snuffx", '
http://www.snuffx.com', "media for the masses")
m.sethttphandler(httphandler)
elems.append(m)
return elems