From 408c033338ecc7ffbb61b9f6521988f21934d83d Mon Sep 17 00:00:00 2001 From: Omkar Pakki Date: Tue, 9 Jul 2019 21:52:45 +0530 Subject: [PATCH] Fab files format changed --- fabfile/lib.py | 12 ++-- fabfile/tasks.py | 75 +++++++++++++------------ packages/collectd/pybitmessagestatus.py | 16 ++++-- 3 files changed, 55 insertions(+), 48 deletions(-) diff --git a/fabfile/lib.py b/fabfile/lib.py index 7af40231..46430938 100644 --- a/fabfile/lib.py +++ b/fabfile/lib.py @@ -15,9 +15,9 @@ from fabvenv import virtualenv FABRIC_ROOT = os.path.dirname(__file__) -PROJECT_ROOT = os.path.dirname(FABRIC_ROOT) +project_root = os.path.dirname(FABRIC_ROOT) VENV_ROOT = os.path.expanduser(os.path.join('~', '.virtualenvs', 'pybitmessage-devops')) -PYTHONPATH = os.path.join(PROJECT_ROOT, 'src',) +PYTHONPATH = os.path.join(project_root, 'src', ) def coerce_list(value): @@ -72,7 +72,7 @@ def filelist_from_git(rev=None): else: cmd += ' -r {}'.format(rev) - with cd(PROJECT_ROOT): + with cd(project_root): with hide('running', 'stdout'): results = [] ansi_escape = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]') @@ -92,7 +92,7 @@ def pycodestyle(path_to_file): return run( 'pycodestyle --config={0} {1}'.format( os.path.join( - PROJECT_ROOT, + project_root, 'setup.cfg', ), path_to_file, @@ -108,7 +108,7 @@ def flake8(path_to_file): return run( 'flake8 --config={0} {1}'.format( os.path.join( - PROJECT_ROOT, + project_root, 'setup.cfg', ), path_to_file, @@ -125,7 +125,7 @@ def pylint(path_to_file): return run( 'pylint --rcfile={0} {1}'.format( os.path.join( - PROJECT_ROOT, + project_root, 'setup.cfg', ), path_to_file, diff --git a/fabfile/tasks.py b/fabfile/tasks.py index fb05937d..a5d8d972 100644 --- a/fabfile/tasks.py +++ b/fabfile/tasks.py @@ -15,7 +15,7 @@ from fabric.contrib.project import rsync_project from fabvenv import virtualenv from fabfile.lib import ( - autopep8, PROJECT_ROOT, VENV_ROOT, coerce_bool, flatten, filelist_from_git, default_hosts, + autopep8, project_root, VENV_ROOT, coerce_bool, flatten, filelist_from_git, default_hosts, get_filtered_pycodestyle_output, get_filtered_flake8_output, get_filtered_pylint_output, ) @@ -28,16 +28,17 @@ def get_tool_results(file_list): results = [] for path_to_file in file_list: - result = {} - result['pycodestyle_violations'] = get_filtered_pycodestyle_output(path_to_file) - result['flake8_violations'] = get_filtered_flake8_output(path_to_file) - result['pylint_violations'] = get_filtered_pylint_output(path_to_file) - result['path_to_file'] = path_to_file - result['total_violations'] = sum([ - len(result['pycodestyle_violations']), - len(result['flake8_violations']), - len(result['pylint_violations']), - ]) + result = { + 'pycodestyle_violations': get_filtered_pycodestyle_output(path_to_file), + 'flake8_violations': get_filtered_flake8_output(path_to_file), + 'pylint_violations': get_filtered_pylint_output(path_to_file), + 'path_to_file': path_to_file, + 'total_violations': sum([ + len(result['pycodestyle_violations']), + len(result['flake8_violations']), + len(result['pylint_violations']), + ]) + } results.append(result) return results @@ -46,13 +47,13 @@ def print_results(results, top, verbose, details): """Print an item with the appropriate verbosity / detail""" if verbose and results: - print ''.join( + print(''.join( [ os.linesep, 'total pycodestyle flake8 pylint path_to_file', os.linesep, ] - ) + )) for item in sort_and_slice(results, top): @@ -66,22 +67,22 @@ def print_results(results, top, verbose, details): ) else: line = item['path_to_file'] - print line + print(line) if details: - print "pycodestyle:" + print("pycodestyle:") for detail in flatten(item['pycodestyle_violations']): - print detail + print(detail) print - print "flake8:" + print("flake8:") for detail in flatten(item['flake8_violations']): - print detail + print(detail) print - print "pylint:" + print("pylint:") for detail in flatten(item['pylint_violations']): - print detail + print(detail) print @@ -107,13 +108,13 @@ def generate_file_list(filename): if filename: filename = os.path.abspath(filename) if not os.path.exists(filename): - print "Bad filename, specify a Python file" + print("Bad filename, specify a Python file") sys.exit(1) else: file_list = [filename] else: - with cd(PROJECT_ROOT): + with cd(project_root): file_list = [ os.path.abspath(i.rstrip('\r')) for i in run('find . -name "*.py"').split(os.linesep) @@ -137,15 +138,15 @@ def create_dependency_graphs(): with hide('running', 'stdout'): # .. todo:: consider a better place to put this, use a particular commit - with cd(PROJECT_ROOT): + with cd(project_root): with settings(warn_only=True): if run('stat pyan').return_code: run('git clone https://github.com/davidfraser/pyan.git') - with cd(os.path.join(PROJECT_ROOT, 'pyan')): + with cd(os.path.join(project_root, 'pyan')): run('git checkout pre-python3') # .. todo:: Use better settings. This is MVP to make a diagram - with cd(PROJECT_ROOT): + with cd(project_root): file_list = run("find . -type f -name '*.py' ! -path './src/.eggs/*'").split('\r\n') for cmd in [ 'neato -Goverlap=false -Tpng > deps-neato.png', @@ -215,7 +216,7 @@ def code_quality(verbose=True, details=False, fix=False, filename=None, top=10, def test(): """Run tests on the code""" - with cd(PROJECT_ROOT): + with cd(project_root): with virtualenv(VENV_ROOT): run('pip uninstall -y pybitmessage') @@ -264,14 +265,14 @@ def build_docs(dep_graph=False, apidoc=True): apidoc_result = 0 if apidoc: - run('mkdir -p {}'.format(os.path.join(PROJECT_ROOT, 'docs', 'autodoc'))) - with cd(os.path.join(PROJECT_ROOT, 'docs', 'autodoc')): + run('mkdir -p {}'.format(os.path.join(project_root, 'docs', 'autodoc'))) + with cd(os.path.join(project_root, 'docs', 'autodoc')): with settings(warn_only=True): run('rm *.rst') - with cd(os.path.join(PROJECT_ROOT, 'docs')): + with cd(os.path.join(project_root, 'docs')): apidoc_result = run('sphinx-apidoc -o autodoc ..').return_code - with cd(os.path.join(PROJECT_ROOT, 'docs')): + with cd(os.path.join(project_root, 'docs')): make_result = run('make html').return_code return_code = apidoc_result + make_result @@ -294,16 +295,16 @@ def push_docs(path=None): """ # Making assumptions - WEB_ROOT = path if path is not None else os.path.join('var', 'www', 'html', 'pybitmessage', 'en', 'latest') - VERSION_ROOT = os.path.join(os.path.dirname(WEB_ROOT), softwareVersion) + web_root = path if path is not None else os.path.join('var', 'www', 'html', 'pybitmessage', 'en', 'latest') + version_root = os.path.join(os.path.dirname(web_root), softwareVersion) rsync_project( - remote_dir=VERSION_ROOT, - local_dir=os.path.join(PROJECT_ROOT, 'docs', '_build', 'html') + remote_dir=version_root, + local_dir=os.path.join(project_root, 'docs', '_build', 'html') ) - result = run('ln -sf {0} {1}'.format(WEB_ROOT, VERSION_ROOT)) + result = run('ln -sf {0} {1}'.format(web_root, version_root)) if result.return_code: - print 'Linking the new release failed' + print('Linking the new release failed') # More assumptions sudo('systemctl restart apache2') @@ -314,5 +315,5 @@ def push_docs(path=None): def clean(): """Clean up files generated by fabric commands.""" with hide('running', 'stdout'): - with cd(PROJECT_ROOT): + with cd(project_root): run(r"find . -name '*.pyc' -exec rm '{}' \;") diff --git a/packages/collectd/pybitmessagestatus.py b/packages/collectd/pybitmessagestatus.py index 1db9f5b1..7f8d6a95 100644 --- a/packages/collectd/pybitmessagestatus.py +++ b/packages/collectd/pybitmessagestatus.py @@ -7,18 +7,20 @@ import xmlrpclib pybmurl = "" api = "" + def init_callback(): global api api = xmlrpclib.ServerProxy(pybmurl) collectd.info('pybitmessagestatus.py init done') -def config_callback(ObjConfiguration): + +def config_callback(obj_configuration): global pybmurl apiUsername = "" apiPassword = "" apiInterface = "127.0.0.1" apiPort = 8445 - for node in ObjConfiguration.children: + for node in obj_configuration.children: key = node.key.lower() if key.lower() == "apiusername" and node.values: apiUsername = node.values[0] @@ -31,14 +33,17 @@ def config_callback(ObjConfiguration): pybmurl = "http://" + apiUsername + ":" + apiPassword + "@" + apiInterface+ ":" + str(int(apiPort)) + "/" collectd.info('pybitmessagestatus.py config done') + def read_callback(): try: - clientStatus = json.loads(api.clientStatus()) + client_status = json.loads(api.clientStatus()) except: collectd.info("Exception loading or parsing JSON") return - for i in ["networkConnections", "numberOfPubkeysProcessed", "numberOfMessagesProcessed", "numberOfBroadcastsProcessed"]: + con_data = ["networkConnections", "numberOfPubkeysProcessed", + "numberOfMessagesProcessed", "numberOfBroadcastsProcessed"] + for i in con_data: metric = collectd.Values() metric.plugin = "pybitmessagestatus" if i[0:6] == "number": @@ -47,11 +52,12 @@ def read_callback(): metric.type = 'gauge' metric.type_instance = i.lower() try: - metric.values = [clientStatus[i]] + metric.values = [client_status[i]] except: collectd.info("Value for %s missing" % (i)) metric.dispatch() + if __name__ == "__main__": main() else: