lundi 11 juin 2018

Indentation Error in Python Program even after correcting indentation

My following code is showing indentation error:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
from collections import defaultdict
import urllib2
import requests
from random import randrange
from requests.auth import HTTPBasicAuth
import sys
import threading
reload(sys)
sys.setdefaultencoding("utf-8")

headers = {'Content-Type': 'application/json'}
data = {"type": "fs", "settings": {"location": "/home/gnsarchlab/backup"}}
tmpdict = defaultdict()
tmpdict = json.dumps(data)


def httpsCall(method, url):
    global headers
    if(method == "GET"):
        r = requests.get(url, headers=headers)
        print "Status code: "+str(r.status_code)+"\t Content \n"
        return r

    elif(method == "PUT"):
        r = requests.put(url, headers=headers)
        print r.status_code

        with open('put-call.txt', "w") as outfile:
            outfile.write(r.text)
            return r


def initialiseSnapshot():

    url = 'http://localhost:9200/_snapshot/my_backup?pretty'
    response = httpsCall((method == "PUT", url, data == tmpdict)
    if(response.status_code == 200):
        print "Snapshot Initialised"
        print response.status_code

    else:
        print "Error initialising Snapshot"
        print response.status_code

def validatingRepository():
    url='http://localhost:9200/_snapshot/my_backup?pretty'
    response=httpsCall((method == "GET", url)

    if(response.status_code == 200):
        print "Repository Validated"
        print response.status_code

    else:
        print "Error validating repository"
        print response.status_code


def capturingSnapshot():
    url='http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true&pretty'
    response=httpsCall((method == "PUT", url)

    if(response.status_code == 200):
        print "Snapshot Captured"
        print response.status_code

    else:
        print "Error capturing Snapshot"
        print response.status_code


if __name__ == "__main__":

    if(len(sys.argv) < 2):
        print "Usage : python sdn.py [all]"
    elif(sys.argv[1] == "initialise"or sys.argv[1] == "is"):
        initialiseSnapshot()
    elif(sys.argv[1] == "validate" or sys.argv[1] == "vr"):
        validatingRepository()
    elif(sys.argv[1] == 'capture' or sys.argv[1] == "cs"):
        capturingSnapshot()
    elif(sys.argv[1] == 'all'):
        initialiseSnapshot()
        validatingRepository()
        capturingSnapshot()

The error is: File "indentedscript.py", line 40 if(response.status_code == 200): ^ SyntaxError: invalid syntax

I used pep8 online checker also but not able to rectify it. Also its showing Token Error: EOF in multi-line statement. I cannot find a tool which corrects the code, instead of showing the errors

Aucun commentaire:

Enregistrer un commentaire