Python Get Request All Pages Movielist

Question:

Why am I getting this error? SyntaxError: 'return' outside function

import requests
import json


def getMovieTitles(substr):
    titles = []
url = "https://jsonmock.hackerrank.com/api/movies/search/?Title={}'.format(substr)"
data = requests.get(url)
print(data)
response = json.loads(data.content.decode('utf-8'))
print(data.content)
  for page in range(0, response['total_pages']):
    page_response = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}}&page={}".format(substr, page + 1))
    page_content = json.loads(page_response.content.decode('utf-8'))

    print ('page_content', page_content, 'type(page_content)', type(page_content))

    for item in range(0, len(page_content['data'])):
        titles.append(str(page_content['data'][item]['Title']))
titles.sort()  
return titles

print(getMovieTitles('Superman'))
Asked By: user1628

||

Answers:

You just need to put everything from url= to return titles one tab to the right

Answered By: bitflip

Your indentation is all off. Everything that is inside your function must be indented once relative to the header.
Example:

def method1():
    /everything
    /is 
    /indented
Answered By: Dylan Brosseau

Your indentation seems to be wrong. It should look like this:

import requests
import json


def getMovieTitles(substr):
    titles = []
    url = "https://jsonmock.hackerrank.com/api/movies/search/?Title= {}'.format(substr)"
    data = requests.get(url)
    print(data)
    response = json.loads(data.content.decode('utf-8'))
    print(data.content)
    for page in range(0, response['total_pages']):
        page_response = requests.get("https://jsonmock.hackerrank.com/api/movies/search/?Title={}}&page={}".format(substr, page + 1))
        page_content = json.loads(page_response.content.decode('utf-8'))

        print ('page_content', page_content, 'type(page_content)', type(page_content))

        for item in range(0, len(page_content['data'])):
            titles.append(str(page_content['data'][item]['Title']))
    titles.sort()  
    return titles

print(getMovieTitles('Superman'))
Answered By: VOL
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.