2015-09-11 5 views
0

Я пытаюсь использовать QueryXML с SUDS для запроса Autotask. Однако я не могу использовать QueryXML из-за ошибки отступа. Это мой код:Использование QueryXML с SUDS и Python

class ConnectATWS(): 
    def __init__(self): 
     #Connect to server with the credentials 
     app_config = Init() 
     self.username = app_config.data["Username"] 
     self.password = app_config.data["Password"] 
     self.login_id = app_config.data["LoginID"] 
     self.url = app_config.data["AutotaskUpdateTicketEstimatedHours_net_autotask_webservices5_ATWS"] 
     strCurrentID = "0" 
     strCriteria = "<condition><field>Status<expression op=""NotEqual"">5</expression></field></condition>" 
     strQuery = "<queryxml><entity>Ticket</entity><query>" & _ 
         "<condition><field>id<expression op=""greaterthan"">" & strCurrentID & "</expression></field></condition>" & strCriteria & _ 
         "<condition><field>EstimatedHours<expression op=""isnull""></expression></field></condition>" & _ 
         "</query></queryxml>" 

     client = Client(self.url + "?WSDL", username=self.login_id, password=self.password) 
     response = client.service.query(strQuery) 
     print response 

Это моя ошибка:

File "/Users/AAAA/Documents/Aptana/AutotaskUpdateTicketEstimatedHours/Main.py", line 35 
    "<condition><field>id<expression op=""greaterthan"">" & strCurrentID & "</expression></field></condition>" & strCriteria & _ 
    ^
IndentationError: unexpected indent 

Как я могу обойти ошибку отступов и выполнить запрос?

+0

Можете ли вы вставить всю трассировку стека ошибки, которую вы получаете? Что вы пытаетесь сделать с операторами «&» и «_»? – georgeofallages

ответ

0

Вы не можете объединить строки символом &, попробуйте + вместо этого. Также вам нужно использовать «\» для обработки этих разрывов строк:

strQuery = "<queryxml><entity>Ticket</entity><query>" + \ 
         "<condition><field>id<expression op=""greaterthan"">" + strCurrentID + "</expression></field></condition>" + strCriteria + \ 
         "<condition><field>EstimatedHours<expression op=""isnull""></expression></field></condition>" + \ 
         "</query></queryxml>" 
+0

Спасибо, теперь я должен понять, как правильно использовать QueryXML с AutotaskAPI с SUDS .. – feners