-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmklist-profilms-pd
executable file
·66 lines (59 loc) · 2.08 KB
/
mklist-profilms-pd
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
66
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
ALL TITLES CONTAINED HEREIN ARE BELIEVED TO BE IN THE PUBLIC
DOMAIN. THE PETER RODGERS ORGANIZATION WILL NOT BE RESPONSIBLE FOR
TITLES LISTED WHICH MAY HAVE UNKNOWN, UNDERLYING RIGHTS [STORY, MUSIC,
ETC.] AND MAY AT ANY TIME DELETE TITLES FROM THIS LIST. PETER RODGERS
ORGANIZATION DOES NOT PHYSICALLY MAINTAIN MATERIAL ON ALL TITLES
LISTED HEREIN, BUT ACQUIRES THEM FROM VARIOUS OUTSIDE SOURCES AND
ACTUAL ELEMENTS ON THESE TITLES MAY NOT BE OF BROADCAST QUALITY. THIS
LIST SHOULD BE USED AS REFERENCE ONLY AND AVAILABILITY WILL VARY
ACCORDING TO THE ABOVE NOTED CIRCUMSTANCES.
"""
import argparse
import lxml.etree
import lxml.html
import movielib
import re
import urllib2
import urlparse
def extract_movies(args, l, url):
try:
root = lxml.html.fromstring(movielib.http_get_read(url))
except urllib2.HTTPError as e:
return None
body = root.cssselect("div[itemprop='articleBody']")[0]
html = lxml.etree.tostring(body)
for e in html.split("<br/><br/>"):
print e
m = re.search("^(.+) (\d{4}).*<br/>", e)
if m:
title = m.group(1)
year = int(m.group(2))
info = {
'status' : 'free',
'freenessurl' : url,
'title' : title,
'year' : year,
}
ref = title + '-' + str(year)
if args.imdblookup:
imdb = movielib.imdb_find_one(title, year)
if imdb:
ref = imdb
info['imdblookup'] = '%s %d' % (title, year)
l[ref] = info
return l
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--imdblookup', action='store_true', default=False,
help='also find title IDs by searching for title/year in IMDB')
args = parser.parse_args()
url = "http://www.profilms.com/index.php/public-domain"
l = {}
l = extract_movies(args, l, url)
movielib.savelist(l, name='free-movies-profilms-pd.json')
if __name__ == '__main__':
main()
# "<br><br>"...