Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/listview.py
diff options
context:
space:
mode:
Diffstat (limited to 'listview.py')
-rwxr-xr-xlistview.py144
1 files changed, 0 insertions, 144 deletions
diff --git a/listview.py b/listview.py
deleted file mode 100755
index 67b6d6a..0000000
--- a/listview.py
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/python
-
-# ZetCode PyGTK tutorial
-#
-# This example shows a TreeView widget
-# in a list view mode
-#
-# author: jan bodnar
-# website: zetcode.com
-# last edited: February 2009
-
-import sys, os
-import gtk
-import objectfetch
-import urllib2
-from BeautifulSoup import BeautifulSoup
-from xml.dom.minidom import parse, parseString
-from sugar.activity import activity
-from sugar.datastore import datastore
-from path import path
-
-ACTIVITYPATH = path(activity.get_bundle_path())
-global online
-online = False
-
-class PyApp(gtk.Window):
- def __init__(self):
- super(PyApp, self).__init__()
- self.set_size_request(350, 250)
- self.set_position(gtk.WIN_POS_CENTER)
-
- self.connect("destroy", gtk.main_quit)
- self.set_title("DataManager")
-
- vbox = gtk.VBox(False, 8)
-
- sw = gtk.ScrolledWindow()
- sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-
- vbox.pack_start(sw, True, True, 0)
-
- store = self.create_model()
-
- treeView = gtk.TreeView(store)
- treeView.connect("row-activated", self.on_activated)
- treeView.set_rules_hint(True)
- sw.add(treeView)
-
- self.create_columns(treeView)
- self.statusbar = gtk.Statusbar()
-
- vbox.pack_start(self.statusbar, False, False, 0)
-
- self.add(vbox)
- self.show_all()
-
-
- def create_model(self):
- global online
- store = gtk.ListStore(str, str, str)
- #let's display objects from the schoolserver
- pth = ACTIVITYPATH / 'xoconfig'
- configf = open(pth, "r")
- config = configf.read()
- configf.close()
- pos = config.find('[Server]')
- if pos < 0:
- print 'schoolserver not found'
- xoserial = None
- store.append(["schoolserver not found", "",""])
- else:
- pos = pos + 8
- print 'config', config[pos:]
- pos1 = pos + config[pos:].find("= ") + 2
- pos2 = pos + config[pos:].find("@")
- xoserial = config[pos1:pos2]
- print 'xoserial', xoserial, config[pos1:pos2+1]
- #temp for testing
- xoserial = 'SHC84201F3B'
- if xoserial:
- url = "http://schoolserver/ds-restore/" + xoserial + "/datastore-latest"
- print 'url', url
- try:
- response = urllib2.urlopen(url)
- except:
- print 'schoolserver not found'
- response = None
- if response:
- soup = BeautifulSoup(response)
- online = True
- else:
- print 'schoolserver not found at', url
- if online:
- print 'soup=', soup.prettify()
- entries = soup.findAll("li")
- print len(entries)
- for i in range(10):
- print len(entries[i].contents), entries[i].contents
- colx = str(entries[i].contents[0])
- pos1 = colx.find('<')
- pos2 = colx.find('>')
- col0 = colx[pos1:pos2]
- col1 = 'col1' + colx[pos2+1:]
- temp = entries[i].contents[1].split(' ')
- col2 = 'col2:' + temp[0]
- col3 = 'col3:' + temp[1]
- store.append([col1, col2, col3])
- #print 'sample', entries[0].toprettyxml()
- #objects from the local datastore
- results, count = datastore.find(dict())
- print 'number of datastore items', count
- for f in results:
- obj = datastore.get(f.object_id)
- f.destroy()
- store.append([obj.get_file_path(), obj.metadata['title'], obj.metadata['mime_type']])
- #ignore for the moment
- return store
-
-
- def create_columns(self, treeView):
-
- rendererText = gtk.CellRendererText()
- column = gtk.TreeViewColumn("Title", rendererText, text=1)
- column.set_sort_column_id(0)
- treeView.append_column(column)
-
- rendererText = gtk.CellRendererText()
- column = gtk.TreeViewColumn("Mime_type", rendererText, text=2)
- column.set_sort_column_id(1)
- treeView.append_column(column)
-
-
- def on_activated(self, widget, row, col):
-
- model = widget.get_model()
- text = model[row][0] + ", " + model[row][1] + ", " + model[row][2]
- self.statusbar.push(0, text)
-
-
-
-PyApp()
-gtk.main()
-