# coding: utf-8
import ui
import feedparser
import urllib2
import webbrowser
class MyView (object):
def __init__(self):
x, y = ui.get_screen_size()
self.url_list = []
url = 'http://appshopper.com/feed/?mode=featured&filter=price&platform=ios'
self.feed = feedparser.parse(url)
tblview = ui.TableView()
tblview.name = 'AppShopper'
tblview.data_source = self
tblview.delegate = self
self.segview = ui.SegmentedControl(frame=((x/2)-125, -45, 250, 30))
self.segview.segments = ['New', 'Updates', 'Price Drop']
tblview.add_subview(self.segview)
naview = ui.NavigationView(tblview)
naview.present(hide_title_bar=True)
def tableview_number_of_rows(self, tableview, section):
return len(self.feed['entries'])
def tableview_cell_for_row(self, tableview, section, row):
feed = self.feed
html = feed['entries'][row]['summary_detail']['value']
self.url_list.append(html[html.find('href')+6:html.find('iTunes')-2])
title = feed['entries'][row]['title']
thmburl = html[html.find('http', 0, 100):html.find('png', 0, 100)+3]
beg = html.find('Price')
end = html.find(',', beg, beg+50)
price = html[beg+11:end]
cell = ui.TableViewCell('subtitle')
cell.text_label.number_of_lines = 0
cell.text_label.font = ('<system-bold>', 12.0)
cell.text_label.text = title
thumb = ui.ImageView()
ui.delay(thumb.load_from_url(thmburl), 0)
cell.image_view.image = thumb.image
cell.detail_text_label.text = price
return cell
def tableview_did_select(self, tableview, section, row):
webbrowser.open(self.url_list[row])
def scrollview_did_scroll(self, scrollview):
segmentindex = self.segview.selected_index
scry = scrollview.content_offset[1]
if scrollview.tracking:
if scry < -75:
self.segview.enabled = True
self.segview.y = scry+30
if scry < -76 and scry > -85:
self.segview.selected_index = 0
elif scry < -86 and scry > -95:
self.segview.selected_index = 1
elif scry < -96 and scry > -105:
self.segview.selected_index = 2
else:
self.segview.y = -45
self.segview.enabled = False
else:
pass
MyView()
It's probably a user error but when the code is ran, the images aren't loaded until the cells are scrolled out of view. Any help appreciated!