From 20a2caf85e01ee78b1ca7231545ea294ecfd7d8e Mon Sep 17 00:00:00 2001 From: Joe Gordon Date: Wed, 25 Sep 2013 18:15:33 -0700 Subject: [PATCH] Further shuffling to get this to fit the standard code layout * Move tests and code into elastic_recheck * Get 'tox -epy27' working * Tweak setup.cfg for elastic_recheck The goal here is: pip install elastic-recheck, import elastic_recheck Change-Id: Iab9fdf49dc51127a826f0908da3c238c49cbe434 --- {tests => elastic_recheck}/__init__.py | 0 bot.py => elastic_recheck/bot.py | 0 .../elasticRecheck.py | 41 ++++++++----------- elastic_recheck/tests/__init__.py | 0 .../tests}/test_classifier.py | 0 .../tests}/test_gerrit_comment.py | 3 +- .../tests}/test_queries.py | 0 .../tests}/test_required_files.py | 2 +- setup.cfg | 12 +++--- 9 files changed, 27 insertions(+), 31 deletions(-) rename {tests => elastic_recheck}/__init__.py (100%) rename bot.py => elastic_recheck/bot.py (100%) rename elasticRecheck.py => elastic_recheck/elasticRecheck.py (94%) create mode 100644 elastic_recheck/tests/__init__.py rename {tests => elastic_recheck/tests}/test_classifier.py (100%) rename {tests => elastic_recheck/tests}/test_gerrit_comment.py (94%) rename {tests => elastic_recheck/tests}/test_queries.py (100%) rename {tests => elastic_recheck/tests}/test_required_files.py (97%) diff --git a/tests/__init__.py b/elastic_recheck/__init__.py similarity index 100% rename from tests/__init__.py rename to elastic_recheck/__init__.py diff --git a/bot.py b/elastic_recheck/bot.py similarity index 100% rename from bot.py rename to elastic_recheck/bot.py diff --git a/elasticRecheck.py b/elastic_recheck/elasticRecheck.py similarity index 94% rename from elasticRecheck.py rename to elastic_recheck/elasticRecheck.py index e70d562c..78747860 100755 --- a/elasticRecheck.py +++ b/elastic_recheck/elasticRecheck.py @@ -28,6 +28,16 @@ import time logging.basicConfig() +REQUIRED_FILES = [ + 'console.html', + 'logs/screen-key.txt', + 'logs/screen-n-api.txt', + 'logs/screen-n-cpu.txt', + 'logs/screen-n-sch.txt', + 'logs/screen-c-api.txt', + 'logs/screen-c-vol.txt' + ] + class Stream(object): """Gerrit Stream. @@ -205,16 +215,7 @@ class Classifier(): results = self.es.search(query, size='80') files = results['facets']['tag']['terms'] files = [x['term'] for x in files] - required_files = [ - 'console.html', - 'logs/screen-key.txt', - 'logs/screen-n-api.txt', - 'logs/screen-n-cpu.txt', - 'logs/screen-n-sch.txt', - 'logs/screen-c-api.txt', - 'logs/screen-c-vol.txt' - ] - missing_files = [x for x in required_files if x not in files] + missing_files = [x for x in REQUIRED_FILES if x not in files] if len(missing_files) is 0: break else: @@ -233,16 +234,6 @@ class Classifier(): class RequiredFiles(object): - required_files = [ - 'console.html', - 'logs/screen-key.txt', - 'logs/screen-n-api.txt', - 'logs/screen-n-cpu.txt', - 'logs/screen-n-sch.txt', - 'logs/screen-c-api.txt', - 'logs/screen-c-vol.txt' - ] - @staticmethod def prep_url(url): if isinstance(url, list): @@ -254,12 +245,16 @@ class RequiredFiles(object): @staticmethod def files_at_url(url): - for f in RequiredFiles.required_files: + for f in REQUIRED_FILES: try: urllib2.urlopen(url + '/' + f).code except urllib2.HTTPError: - # File does not exist at URL - return False + try: + urllib2.urlopen(url + '/' + f + '.gz').code + except urllib2.HTTPError: + # File does not exist at URL + print f + return False return True diff --git a/elastic_recheck/tests/__init__.py b/elastic_recheck/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/test_classifier.py b/elastic_recheck/tests/test_classifier.py similarity index 100% rename from tests/test_classifier.py rename to elastic_recheck/tests/test_classifier.py diff --git a/tests/test_gerrit_comment.py b/elastic_recheck/tests/test_gerrit_comment.py similarity index 94% rename from tests/test_gerrit_comment.py rename to elastic_recheck/tests/test_gerrit_comment.py index 06a53110..acafd51b 100644 --- a/tests/test_gerrit_comment.py +++ b/elastic_recheck/tests/test_gerrit_comment.py @@ -26,8 +26,9 @@ class TestGerritComment(testtools.TestCase): config = ConfigParser.ConfigParser({'server_password': None}) config.read('elasticRecheck.conf') self.user = config.get('gerrit', 'user') + key = config.get('gerrit', 'key') host = 'review-dev.openstack.org' - self.stream = elasticRecheck.Stream(self.user, host, thread=False) + self.stream = elasticRecheck.Stream(self.user, host, key, thread=False) port = 29418 self.gerrit = gerritlib.gerrit.Gerrit(host, self.user, port) diff --git a/tests/test_queries.py b/elastic_recheck/tests/test_queries.py similarity index 100% rename from tests/test_queries.py rename to elastic_recheck/tests/test_queries.py diff --git a/tests/test_required_files.py b/elastic_recheck/tests/test_required_files.py similarity index 97% rename from tests/test_required_files.py rename to elastic_recheck/tests/test_required_files.py index 80ea7f9a..58d23e50 100644 --- a/tests/test_required_files.py +++ b/elastic_recheck/tests/test_required_files.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -import elasticRecheck +from elastic_recheck import elasticRecheck import testtools diff --git a/setup.cfg b/setup.cfg index a42f5a8f..38db8d4b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,7 +21,7 @@ classifier = [files] packages = - elastic-recheck + elastic_recheck [build_sphinx] source-dir = doc/source @@ -32,15 +32,15 @@ all_files = 1 upload-dir = doc/build/html [compile_catalog] -directory = elastic-recheck/locale -domain = elastic-recheck +directory = elastic_recheck/locale +domain = elastic_recheck [update_catalog] domain = elastic-recheck -output_dir = elastic-recheck/locale -input_file = elastic-recheck/locale/elastic-recheck.pot +output_dir = elastic_recheck/locale +input_file = elastic_recheck/locale/elastic-recheck.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg -output_file = elastic-recheck/locale/elastic-recheck.pot \ No newline at end of file +output_file = elastic_recheck/locale/elastic-recheck.pot