whoisearth
whoisearth

Reputation: 4170

python - AttributeError: 'pyodbc.Row' object has no attribute 'JobCount'

I have a query that's grabbing data from a database and returning the values so I can parse.

def executeScriptsFromFile(monitor):
    # Open and read the file as a single buffer
    fd = open(os.path.join(BASE_DIR, 'sql/{0}.sql'.format(monitor)), 'r')
    if args.alias:
        sql_query = fd.read().format("'" + args.alias + "'")
    else:
        sql_query = fd.read()
    fd.close()

    # Execute SQL query from the input file
    cursor.execute(sql_query)
    result = cursor.fetchone()
    return result

The query can differ so I'm trying to build in logic so it will skip part if JobCount isn't one of the values.

query_data =  executeScriptsFromFile(args.monitor)
print query_data
if query_data.JobCount:
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status

Unfortunately I get the following traceback. How do I ignore the value if it isn't there?

Traceback (most recent call last):
  File "tidal-zabbix.py", line 92, in <module>
    if query_data.JobCount:
AttributeError: 'pyodbc.Row' object has no attribute 'JobCount'

Upvotes: 0

Views: 7807

Answers (1)

Stop harming Monica
Stop harming Monica

Reputation: 12620

If you want to check whether 'JobCount' is an attribute of query_data use hasattr()

if hasattr(query_data, 'JobCount'):
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status

Upvotes: 4

Related Questions