Skip to content
This repository has been archived by the owner on Dec 11, 2022. It is now read-only.

Commit

Permalink
catch KeenApiError, close #68, increment buildnumber
Browse files Browse the repository at this point in the history
  • Loading branch information
ruleant committed Jan 27, 2015
1 parent 0960d10 commit ceb4c95
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 7 deletions.
1 change: 1 addition & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ v0.2 (not yet released)
- issue #67 : check if Travis CI notification payload is unicode
- issue #17 : add status badges to dashboard
- [keenio] rename generate_overview_config_file to generate_dashboard_config_file
- issue #68 : catch KeenApiError

v0.1.2 (released on 6Aug2014)
- improve Travis CI example : pull released version from git
Expand Down
42 changes: 36 additions & 6 deletions buildtimetrend/keenio.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,8 @@ def get_avg_buildtime(repo=None, interval=None):
- interval : timeframe, possible values : 'week', 'month', 'year',
anything else defaults to 'week'
'''
logger = get_logger()

if repo is None or not keen_is_readable():
return -1

Expand All @@ -298,7 +300,10 @@ def get_avg_buildtime(repo=None, interval=None):
filters=[get_repo_filter(repo)]
)
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return -1
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_avg_buildtime() : " + str(e))
return -1


Expand All @@ -311,6 +316,8 @@ def get_total_build_jobs(repo=None, interval=None):
- interval : timeframe, possible values : 'week', 'month', 'year',
anything else defaults to 'week'
'''
logger = get_logger()

if repo is None or not keen_is_readable():
return -1

Expand All @@ -324,7 +331,10 @@ def get_total_build_jobs(repo=None, interval=None):
filters=[get_repo_filter(repo)]
)
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return -1
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_total_build_jobs() : " + str(e))
return -1


Expand All @@ -337,6 +347,8 @@ def get_passed_build_jobs(repo=None, interval=None):
- interval : timeframe, possible values : 'week', 'month', 'year',
anything else defaults to 'week'
'''
logger = get_logger()

if repo is None or not keen_is_readable():
return -1

Expand All @@ -357,7 +369,10 @@ def get_passed_build_jobs(repo=None, interval=None):
]
)
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return -1
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_passed_build_jobs() : " + str(e))
return -1


Expand Down Expand Up @@ -416,6 +431,8 @@ def get_total_builds(repo=None, interval=None):
- interval : timeframe, possible values : 'week', 'month', 'year',
anything else defaults to 'week'
'''
logger = get_logger()

if repo is None or not keen_is_readable():
return -1

Expand All @@ -429,7 +446,10 @@ def get_total_builds(repo=None, interval=None):
filters=[get_repo_filter(repo)]
)
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return -1
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_total_builds() : " + str(e))
return -1


Expand All @@ -440,6 +460,8 @@ def get_latest_buildtime(repo=None):
Parameters :
- repo : repo name (fe. buildtimetrend/python-lib)
'''
logger = get_logger()

if repo is None or not keen_is_readable():
return -1

Expand All @@ -451,7 +473,10 @@ def get_latest_buildtime(repo=None):
filters=[get_repo_filter(repo)]
)
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return -1
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_latest_buildtime() : " + str(e))
return -1

if result is not None and len(result) > 0:
Expand All @@ -464,14 +489,19 @@ def get_all_projects():
'''
Query Keen.io database and retrieve a list of all projects
'''
logger = get_logger()

if not keen_is_readable():
return []

try:
result = keen.select_unique("builds", "build.repo")
except requests.ConnectionError:
get_logger().error("Connection to Keen.io API failed")
logger.error("Connection to Keen.io API failed")
return []
except keen.exceptions.KeenApiError, e:
logger.error("Error in keenio.get_all_projects() : " + str(e))
return -1

if type(result) is list:
return result
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

setup(
name="buildtimetrend",
version="0.2.dev22",
version="0.2.dev23",
packages=find_packages(),
install_requires=['keen', 'lxml', 'pyyaml', 'python-dateutil'],
tests_require=['nose', 'coveralls'],
Expand Down

0 comments on commit ceb4c95

Please sign in to comment.