@@ -10,10 +10,12 @@
1010 @parse url, title, img_src
1111"""
1212
13+from datetime import date, timedelta
1314from urllib import urlencode
1415from json import loads
1516from lxml import html
1617
18+
1719# engine dependent config
1820categories = ['images']
1921paging = True
@@ -29,6 +31,7 @@ search_url = 'https://www.google.com/search'\
2931 '&yv=2'\
3032 '&{search_options}'
3133time_range_attr = "qdr:{range}"
34+time_range_custom_attr = "cdr:1,cd_min:{start},cd_max{end}"
3235time_range_dict = {'day': 'd',
3336 'week': 'w',
3437 'month': 'm'}
@@ -36,7 +39,6 @@ time_range_dict = {'day': 'd',
3639
3740# do search-request
3841def request(query, params):
39−
4042 search_options = {
4143 'ijn': params['pageno'] - 1,
4244 'start': (params['pageno'] - 1) * number_of_results
@@ -44,6 +46,12 @@ def request(query, params):
4446
4547 if params['time_range'] in time_range_dict:
4648 search_options['tbs'] = time_range_attr.format(range=time_range_dict[params['time_range']])
49+ elif params['time_range'] == 'year':
50+ now = date.today()
51+ then = now - timedelta(days=365)
52+ start = then.strftime('%m/%d/%Y')
53+ end = now.strftime('%m/%d/%Y')
54+ search_options['tbs'] = time_range_custom_attr.format(start=start, end=end)
4755
4856 if safesearch and params['safesearch']:
4957 search_options['safe'] = 'on'