File: film.py

package info (click to toggle)
sqlkit 0.9.5-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 8,184 kB
  • sloc: python: 17,477; sql: 166; makefile: 95; xml: 23; sh: 11
file content (65 lines) | stat: -rw-r--r-- 1,774 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from elixir import *

metadata.bind = "sqlite:///movies.sqlite"
#metadata.bind.echo = True

from datetime import datetime, timedelta

import time
#import sqlkit 
#from sqlkit.db import proxy
#import gtk
#db = proxy.DbProxy(engine="sqlite:///movies.sqlite")


class Director(Entity):
    last_name = Field(String(60))
    first_name = Field(String(60))
    movies = OneToMany('Movie', inverse='director')
    using_options(tablename='director')

    def __repr__(self):
        return u'<Director: %s>' %self.last_name

class Movie(Entity):
    #id = Field(Integer, primary_key=True)
    title = Field(String(60))
    description = Field(String(512))
    date_release = Field(DateTime)
    director = ManyToOne('Director', inverse='movies')
    actors = ManyToMany('Actor', inverse='movies', tablename='movie_casting')
    genres = ManyToMany('Genre', inverse='movies', tablename='movie_genre')   
    using_options(tablename='movie')

    def __repr__(self):
        return u'<Movie: %s>' % self.title

class Genre(Entity):
    name = Field(Unicode(15), primary_key=True)
    movies = ManyToMany('Movie')
    using_options(tablename='genre')
    
    def __repr__(self):
        return u'<Genre "%s">' % self.name

class Actor(Entity):
    name = Field(String(60))
    movies = ManyToMany('Movie', inverse='actors', tablename='movie_casting')
    using_options(tablename='actor')

setup_all()

# olmi = Director(last_name='Olmi', first_name='Ermanno')
# f100 = Movie(title='100 chiodi')
# re = Movie(title='La leggenda del re pescatore')
# pirati = Movie(title='Cantando dietro il paraventi')
# olmi.movies=[f100, re, pirati]
#olmi.movies.append(re)
#olmi.movies.append(pirati)


cento = Movie.get_by(title='100 chiodi')
print cento.director
#create_all()

#session.flush()