python-oxweb/ox/criterion.py

26 lines
1.2 KiB
Python
Raw Normal View History

import re
import ox.imdb as imdb
2008-05-09 10:21:59 +00:00
from oxutils.cache import getUrlUnicode
from oxutils.html import stripTags
from oxutils.text import findRe
def getPosterUrl(title, director):
2008-05-08 08:32:14 +00:00
# imdb module is currently broken
imdbId = imdb.getMovieId(title, director)
2008-05-09 10:21:59 +00:00
html = getUrlUnicode('http://criterion.com/asp/list.asp?sort=spine', timeout = -1)
strings = findRe(html, '<table cellspacing="0" id="browse-all-table">(.*?)</table>').split('<tr>')
strings.pop(0)
for string in strings:
2008-05-09 10:21:59 +00:00
criterionId = findRe(string, '"release.asp\?id=(.*?)"')
criterionTitle = findRe(string, 'class="title">(.*?)</a>')
criterionTitle = re.sub('(?<=\\w)<br>(?=\\w)', ' / ', criterionTitle)
criterionTitle = criterionTitle.replace('<br>', '')
2008-05-08 08:32:14 +00:00
criterionDirector = stripTags(findRe(string, '</a>.*?</td>(.*?)</td>')).strip()
2008-05-09 10:21:59 +00:00
# print ('%s: %s (%s)' % (criterionId, criterionTitle, criterionDirector)).encode('utf-8')
2008-05-08 08:32:14 +00:00
if imdb.getMovieId(criterionTitle, criterionDirector) == imdbId:
return 'http://criterion.com/content/images/full_boxshot/%s_box_348x490.jpg' % criterionId
return ''
if __name__ == '__main__':
2008-05-08 08:32:14 +00:00
getPosterUrl('Le mepris', 'Jean-Luc Godard')