diff --git a/ox/web/filmsdivision.py b/ox/web/filmsdivision.py new file mode 100644 index 0000000..7698577 --- /dev/null +++ b/ox/web/filmsdivision.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# vi:si:et:sw=4:sts=4:ts=4 +import re +import string +import subprocess +import ox + + +def get_ids(): + result = [] + for i in string.letters[26:]: + url = "http://www.filmsdivision.org/search.php?title=%s" % i + data = ox.cache.read_url(url) + links = re.compile('view_video.php\?movId=(.*?)[\'"]', re.DOTALL).findall(data) + result += links + return list(set(result)) + +def get_data(id): + result = {} + url = "http://www.filmsdivision.org/view_video.php?movId=%s" % id + data = ox.cache.read_url(url) + result['title'] = re.compile('(.*?)').findall(data)[0] + result['year'] = re.compile('Release: (\d{4})').findall(data)[0] + result['duration'] = int(re.compile('Duration: (\d+)mins').findall(data)[0]) * 60 + result['producer'] = re.compile('Producer: (.*?)\t').findall(data)[0].strip() + if 'Director:' in data: + result['director'] = re.compile('Director: (.*?)\t').findall(data)[0].strip() + else: + result['director'] = "Unknown Director" + result['url'] = re.compile('value="(.*?.wmv)"').findall(data)[0] + return result + +def download_video(url, filename): + dirname = os.path.dirname(filename) + if not os.path.exists(dirname): + os.makedirs(dirname) + p = subprocess.Popen(['gst-launch', 'mmssrc', 'location=%s'%url, '!', 'filesink', 'locaiton='%filename]) + p.wait() + return p.returncode == 0