more on turbogears leif oppermann 24 04 2008
Download
Skip this Video
Download Presentation
More on TurboGears Leif Oppermann, 24.04.2008

Loading in 2 Seconds...

play fullscreen
1 / 17

More on TurboGears Leif Oppermann, 24.04.2008 - PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on

More on TurboGears Leif Oppermann, 24.04.2008. Course of this lecture. Example project: Movie Collection Utilizing movie data IMDb IMDbPy Explaining Model Views Controllers. Source of data: IMDB.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'More on TurboGears Leif Oppermann, 24.04.2008' - vangie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
course of this lecture
Course of this lecture
  • Example project: Movie Collection
  • Utilizing movie data
    • IMDb
    • IMDbPy
  • Explaining
    • Model
    • Views
    • Controllers
source of data imdb
Source of data: IMDB
  • The Internet Movie Database (www.imdb.com) is an online database of information about movies, actors, television shows, production crew personnel, and video games.
  • IMDb began October 17, 1990. In 1998, it was acquired by Amazon.com. As of April 26, 2007, the site featured 981,916 titles (372,912 theatrically released) and 2,336,303 people.
getting imdb data
Getting IMDb data
  • IMDb *always* had a data interface

(Zipped text files over FTP server)

  • a Python implementation of the interface is available: IMDBPy
  • Remember: TurboGears uses Python!
imdbpy
IMDbPY
  • IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about both movies and people.
  • Platform-independent and written in pure Python (and few C lines), it can retrieve data from both the IMDb's web server and a local copy of the whole database.
example project movie collection
Example project: Movie Collection
  • Idea: browse movies (with IMDB info) and store favourites with annotations
  • Functionality:
    • Search (fuzzy, showing matching titles)
    • Browse movie details
    • Store movie to favourites
    • Add a note
uses 2 databases
Uses 2 databases
  • Database #1: imdb.sqlite
    • Self generated from IMDB data
    • >11 hours parsing
    • ~ 2 GB in one file
  • Database #2: devdata.sqlite
    • Generated by Turbogears (SQLObject)
model for database 2
Model for database #2

from turbogears.database import PackageHub

from sqlobject import *

hub = PackageHub("imdb01")

__connection__ = hub

class Movie(SQLObject):

title = UnicodeCol(alternateID=True, length=40)

imdbid = UnicodeCol(alternateID=True, length=16)

director = UnicodeCol()

notes = UnicodeCol()

templates
Templates
  • Movielist.kid
  • Search.kid
  • Browsemovie.kid
  • Edit.kid
  • Movie.kid
slide12

Showing your collection of movies

slide13

Editing note for: move title goes here


search controller
Search Controller

@expose(template="imdb01.templates.search")

def search(self, searchterm):

i = imdb.IMDb(**IMDB_PARAMS)

# finding matching movies

try:

# Do the search, and get the results (a list of Movie objects).

matchingtitles = i.search_movie(searchterm)

except imdb.IMDbError, e:

print "***ERROR connecting to IMDB. Complete error report:"

print e

if not matchingtitles:

pass

return dict(searchterm=searchterm, matchingtitles = matchingtitles)

away with powerpoint
Away with Powerpoint
  • Let‘s talk about the source!
thanks for your attention
Thanks for your attention
  • Questions / Comments / Get the source:
  • Blog entry for this lecture:
    • http://www.dig-id.de/?p=35
additional pointers
Additional pointers
  • Of course there are similar frameworks for other programming languages,  the "original" being Ruby on Rails. Original in the sense that its design was so influential that it quickly got adapted by others. Have a look at the following if you feel that you like what you saw in the lectures, but would rather do it in another language or framework:
  • http://en.wikipedia.org/wiki/Ruby_on_rails (Ruby)
    • http://www.rubyonrails.org/screencasts
  • http://en.wikipedia.org/wiki/Cake_php (PHP)
    • http://cakephp.org/screencasts
  • http://en.wikipedia.org/wiki/Turbogears (Python)
    • http://showmedo.com/videos/series?name=TurboGears20MinWiki
  • http://en.wikipedia.org/wiki/Django_%28web_framework%29 (Python)
    • http://www.throwingbeans.org/django_screencasts.html
  • http://en.wikipedia.org/wiki/Google_App_Engine (Python, Django)
    • http://www.youtube.com/watch?v=3Ztr-HhWX1c
ad