From 68c3adb15bbb5216eb94bb85d5d478e750a474f7 Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: Jul 16 2020 15:53:53 +0000 Subject: Port to Python 3 Signed-off-by: Aurélien Bompard --- diff --git a/.gitignore b/.gitignore index ddb3d19..df39b11 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ worker.cfg frontend.cfg +__pycache__ +*.egg-info diff --git a/basset-frontend b/basset-frontend index 23ca398..3f7c638 100755 --- a/basset-frontend +++ b/basset-frontend @@ -1,4 +1,4 @@ -#!/bin/env python +#!/bin/env python3 # Copyright (c) 2015, Patrick Uiterwijk # All rights reserved. # @@ -17,9 +17,10 @@ # You should have received a copy of the GNU General Public License # along with Basset. If not, see . -import ConfigParser import logging import json +from configparser import ConfigParser + import pika import time from flask import Flask, jsonify, request @@ -27,7 +28,7 @@ from flask import Flask, jsonify, request logging.basicConfig(level=logging.INFO) log = logging.getLogger(__name__) -config = ConfigParser.SafeConfigParser() +config = ConfigParser() config.read(['frontend.default.cfg', '/etc/basset/frontend.default.cfg', 'frontend.cfg', diff --git a/basset-injector b/basset-injector index a0f30bd..68a75eb 100755 --- a/basset-injector +++ b/basset-injector @@ -1,4 +1,4 @@ -#!/bin/env python +#!/bin/env python3 # Copyright (c) 2016, Patrick Uiterwijk # All rights reserved. # @@ -17,22 +17,23 @@ # You should have received a copy of the GNU General Public License # along with Basset. If not, see . -import ConfigParser import json import logging import requests +from configparser import ConfigParser + import pika import sys from basset import Core if len(sys.argv) < 2: - print 'Usage: %s [message-id]' % sys.argv[0] + print('Usage: %s [message-id]' % sys.argv[0]) sys.exit(1) mid = sys.argv[1] -config = ConfigParser.SafeConfigParser() +config = ConfigParser() config.read(['worker.default.cfg', '/etc/basset/worker.default.cfg', 'worker.cfg', @@ -46,7 +47,7 @@ core = Core(config) message = core.retrieve_message(mid) if not message: - print 'Message %s could not be found' % mid + print('Message %s could not be found' % mid) sys.exit(1) args = {key: val for key, val in config.items('rabbitmq')} if config.has_section('rabbitmq') else {} @@ -64,4 +65,4 @@ channel.basic_publish(exchange='', )) connection.close() -print 'Message has been requeued' +print('Message has been requeued') diff --git a/basset-worker b/basset-worker index b912ecb..1c8a1fc 100755 --- a/basset-worker +++ b/basset-worker @@ -1,4 +1,4 @@ -#!/bin/env python2 +#!/bin/env python3 # Copyright (c) 2016, Patrick Uiterwijk # All rights reserved. # @@ -17,9 +17,10 @@ # You should have received a copy of the GNU General Public License # along with Basset. If not, see . -import ConfigParser import json import logging +from configparser import ConfigParser + import requests import pika import sys @@ -39,7 +40,7 @@ if len(sys.argv) > 1: elif sys.argv[1] == 'manual': run_manual = True -config = ConfigParser.SafeConfigParser() +config = ConfigParser() config.read(['worker.default.cfg', '/etc/basset/worker.default.cfg', 'worker.cfg', @@ -76,14 +77,14 @@ def callback(ch, method, properties, body): override = None if run_manual: - print 'Data: %s' % data + print('Data: %s' % data) decisions = core.process_message(action, time, data, None) - print 'Would do: %s' % decisions - override = raw_input('Override [Cancel/use/approve/reject/skip]: ') + print('Would do: %s' % decisions) + override = input('Override [Cancel/use/approve/reject/skip]: ') override = override.lower() if override not in ['use', 'approve', 'reject', 'skip']: - print 'Aborting' + print('Aborting') sys.exit(0) raise Exception('Aborted') @@ -141,7 +142,7 @@ def callback(ch, method, properties, body): # Make sure we leave any other messages in the queue channel.basic_qos(prefetch_count=1) -channel.basic_consume(callback, +channel.basic_consume(on_message_callback=callback, queue='check_submission') try: diff --git a/basset/decision/mediawiki.py b/basset/decision/mediawiki.py index 9bebfbd..9978ef7 100644 --- a/basset/decision/mediawiki.py +++ b/basset/decision/mediawiki.py @@ -37,16 +37,16 @@ class MediawikiDecision(DecisionPlugin): 'revision': data.get('revision', None), 'decision': 'accept'} else: - return [{'action': 'mediawiki.block', - 'username': data['page']['user'].lower(), - 'decision': 'deny'}, - {'action': action, - 'page': data['page']['title'], - 'revision': data.get('revision', None), - 'decision': 'deny'}, - {'action': 'fedora.fas.registration', - 'username': data['page']['user'].lower(), - 'decision': 'deny'}] + return [{'action': 'mediawiki.block', + 'username': data['page']['user'].lower(), + 'decision': 'deny'}, + {'action': action, + 'page': data['page']['title'], + 'revision': data.get('revision', None), + 'decision': 'deny'}, + {'action': 'fedora.fas.registration', + 'username': data['page']['user'].lower(), + 'decision': 'deny'}] def _get_csrf_token(self, page): self.log.debug('Getting CSRF token for deleting of %s' % page) @@ -56,7 +56,7 @@ class MediawikiDecision(DecisionPlugin): self.log.debug('Old version') info = self.core.wikiclient.raw_api('query', titles=page, prop='info', intoken='delete') info = info['query']['pages'] - info = info[info.keys()[0]] + info = info[list(info.keys())[0]] token = info['deletetoken'] else: # The author of Basset does not have access to a new version... diff --git a/basset/score/details.py b/basset/score/details.py index 0ada59a..15c51e9 100644 --- a/basset/score/details.py +++ b/basset/score/details.py @@ -47,7 +47,7 @@ class DetailSanityScore(ScorePlugin): def get_gpg_ssh_irc_score(self, user): minscore = 0 for data in ['gpg_keyid', 'ssh_key', 'ircnick']: - if data in user and user[data] != 'None' and user[data] != u'None': + if data in user and user[data] != 'None': minscore -= int(self.config['gpg_ssh_irc_minscore']) return minscore diff --git a/setup.py b/setup.py index a399ba1..ad2f9f4 100644 --- a/setup.py +++ b/setup.py @@ -38,6 +38,7 @@ setup( 'flask', 'python-Levenshtein', 'mwclient', - 'dns', + 'dnspython', + 'pysubnettree', ] )