Skip to content

Commit 7a81d76

Browse files
committed
Code quality
1 parent 011500e commit 7a81d76

12 files changed

Lines changed: 93 additions & 30 deletions

File tree

dev/powinterrupttest.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
"""
2+
Code for discovering how C PoW can be interrupted
3+
"""
14
import ctypes
25
import hashlib
36
from multiprocessing import current_process
@@ -9,9 +12,12 @@
912
shutdown = 0
1013

1114

12-
def signal_handler(signal, frame):
13-
global shutdown
14-
print("Got signal %i in %s/%s" % (signal, current_process().name, current_thread().name))
15+
# pylint: disable=unused-argument
16+
def signal_handler(signum, frame):
17+
"""Signal handler"""
18+
global shutdown # pylint: disable=global-statement
19+
print("Got signal %i in %s/%s" % (signum, current_process().name,
20+
current_thread().name))
1521
if current_process().name != "MainProcess":
1622
raise StopIteration("Interrupted")
1723
if current_thread().name != "PyBitmessage":
@@ -31,7 +37,12 @@ def _doCPoW(target, initialHash):
3137
nonce = bmpow(out_h, out_m)
3238
if shutdown:
3339
break
34-
trialValue, = unpack('>Q', hashlib.sha512(hashlib.sha512(pack('>Q', nonce) + initialHash).digest()).digest()[0:8])
40+
trialValue, = unpack('>Q',
41+
hashlib.sha512(
42+
hashlib.sha512(
43+
pack('>Q', nonce) + initialHash).
44+
digest()).
45+
digest()[0:8])
3546
if shutdown != 0:
3647
raise StopIteration("Interrupted")
3748
print("C PoW done")

dev/ssltest.py

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
"""
2+
Development code for SSL compatibility investigations
3+
"""
14
import os
25
import select
36
import socket
@@ -9,8 +12,12 @@
912
PORT = 8912
1013

1114

15+
# pylint: disable=no-member
1216
def sslProtocolVersion():
13-
# sslProtocolVersion
17+
"""
18+
Find a protocol version value with compatibility across
19+
different python versions
20+
"""
1421
if sys.version_info >= (2, 7, 13):
1522
# this means TLSv1 or higher
1623
# in the future change to
@@ -26,26 +33,42 @@ def sslProtocolVersion():
2633

2734

2835
def sslProtocolCiphers():
36+
"""
37+
Find protocol cipher that is compatible for PyBitmessage across
38+
different python and OpenSSL versions
39+
"""
2940
if ssl.OPENSSL_VERSION_NUMBER >= 0x10100000:
3041
return "AECDH-AES256-SHA@SECLEVEL=0"
3142
else:
3243
return "AECDH-AES256-SHA"
3344

3445

46+
# pylint: disable=redefined-outer-name
3547
def connect():
48+
"""
49+
Connect a socket
50+
"""
3651
sock = socket.create_connection((HOST, PORT))
3752
return sock
3853

3954

55+
# pylint: disable=redefined-outer-name
4056
def listen():
57+
"""
58+
Listen on a socket
59+
"""
4160
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
4261
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
4362
sock.bind((HOST, PORT))
4463
sock.listen(0)
4564
return sock
4665

4766

67+
# pylint: disable=redefined-outer-name
4868
def sslHandshake(sock, server=False):
69+
"""
70+
Perform SSL handshake
71+
"""
4972
if sys.version_info >= (2, 7, 9):
5073
context = ssl.SSLContext(sslProtocolVersion())
5174
context.set_ciphers(sslProtocolCiphers())
@@ -54,12 +77,19 @@ def sslHandshake(sock, server=False):
5477
context.verify_mode = ssl.CERT_NONE
5578
context.options = ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3\
5679
| ssl.OP_SINGLE_ECDH_USE | ssl.OP_CIPHER_SERVER_PREFERENCE
57-
sslSock = context.wrap_socket(sock, server_side=server, do_handshake_on_connect=False)
80+
sslSock = context.wrap_socket(sock, server_side=server,
81+
do_handshake_on_connect=False)
5882
else:
59-
sslSock = ssl.wrap_socket(sock, keyfile=os.path.join('src', 'sslkeys', 'key.pem'),
60-
certfile=os.path.join('src', 'sslkeys', 'cert.pem'),
61-
server_side=server, ssl_version=sslProtocolVersion(),
62-
do_handshake_on_connect=False, ciphers='AECDH-AES256-SHA')
83+
sslSock = ssl.wrap_socket(sock, keyfile=os.path.join('src',
84+
'sslkeys',
85+
'key.pem'),
86+
certfile=os.path.join('src',
87+
'sslkeys',
88+
'cert.pem'),
89+
server_side=server,
90+
ssl_version=sslProtocolVersion(),
91+
do_handshake_on_connect=False,
92+
ciphers='AECDH-AES256-SHA')
6393

6494
while True:
6595
try:

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313

1414
sys.path.insert(0, os.path.abspath('../src'))
1515

16-
from importlib import import_module
16+
from importlib import import_module # pylint: disable=wrong-import-position
1717

18-
import version # noqa:E402
18+
import version # noqa:E402 pylint: disable=wrong-import-position
1919

2020

2121
# -- Project information -----------------------------------------------------

packages/collectd/pybitmessagestatus.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11
#!/usr/bin/env python2.7
2+
"""
3+
PyBitmessage status module for collectd
4+
Provides values for active connections and processed objects
5+
"""
26

37
import json
48

5-
import collectd
9+
import collectd # pylint: disable=import-error
610
from six.moves import xmlrpc_client as xmlrpclib
711

812
pybmurl = ""
9-
api = ""
13+
api = None
1014

1115

1216
def init_callback():
13-
global api
17+
"""
18+
Initialise callback
19+
Creates an API object
20+
"""
21+
global api # pylint: disable=global-statement
1422
api = xmlrpclib.ServerProxy(pybmurl)
1523
collectd.info('pybitmessagestatus.py init done')
1624

1725

1826
def config_callback(ObjConfiguration):
19-
global pybmurl
27+
"""
28+
Load module config
29+
"""
30+
global pybmurl # pylint: disable=global-statement
2031
apiUsername = ""
2132
apiPassword = ""
2233
apiInterface = "127.0.0.1"
@@ -31,11 +42,17 @@ def config_callback(ObjConfiguration):
3142
apiInterface = node.values[0]
3243
elif key.lower() == "apiport" and node.values:
3344
apiPort = node.values[0]
34-
pybmurl = "http://{}:{}@{}:{}/".format(apiUsername, apiPassword, apiInterface, str(int(apiPort)))
45+
pybmurl = "http://{}:{}@{}:{}/".format(apiUsername,
46+
apiPassword,
47+
apiInterface,
48+
str(int(apiPort)))
3549
collectd.info('pybitmessagestatus.py config done')
3650

3751

3852
def read_callback():
53+
"""
54+
Read data from API
55+
"""
3956
try:
4057
clientStatus = json.loads(api.clientStatus())
4158
except (ValueError, TypeError):

packages/pyinstaller/hooks/pyinstaller_rthook_plugins.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Runtime PyInstaller hook to load plugins"""
22

3+
# pylint: disable=unused-import
34
import os
45
import sys
56

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ max-attributes = 8
2626

2727
[MASTER]
2828
init-hook = import sys;sys.path.append('src')
29+
ignore = bitmessagekivy

src/bitmessagecurses/__init__.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# * python2-pythondialog
1111
# * dialog
1212

13+
# pylint: disable=global-statement,too-many-lines,no-member
1314
import ConfigParser
1415
import curses
1516
import os
@@ -18,7 +19,7 @@
1819
from textwrap import fill
1920
from threading import Timer
2021

21-
from dialog import Dialog
22+
from dialog import Dialog # pylint: disable=import-error
2223
import helper_sent
2324
import l10n
2425
import network.stats
@@ -31,8 +32,6 @@
3132
from bmconfigparser import config
3233
from helper_sql import sqlExecute, sqlQuery
3334

34-
# pylint: disable=global-statement
35-
3635

3736
quit_ = False
3837
menutab = 1
@@ -259,7 +258,7 @@ def drawtab(stdscr):
259258
stdscr.addstr(6, 18, "Connections", curses.A_BOLD)
260259
stdscr.hline(7, 6, '-', 23)
261260
streamcount = []
262-
for host, stream in connected_hosts:
261+
for _, stream in connected_hosts:
263262
if stream >= len(streamcount):
264263
streamcount.append(1)
265264
else:
@@ -984,7 +983,7 @@ def loadInbox():
984983
"""Load the list of messages"""
985984
sys.stdout = sys.__stdout__
986985
print("Loading inbox messages...")
987-
sys.stdout = printlog
986+
sys.stdout = printlog # pylint: disable=redefined-variable-type
988987

989988
where = "toaddress || fromaddress || subject || message"
990989
what = "%%"
@@ -1037,7 +1036,7 @@ def loadSent():
10371036
"""Load the messages that sent"""
10381037
sys.stdout = sys.__stdout__
10391038
print("Loading sent messages...")
1040-
sys.stdout = printlog
1039+
sys.stdout = printlog # pylint: disable=redefined-variable-type
10411040

10421041
where = "toaddress || fromaddress || subject || message"
10431042
what = "%%"
@@ -1123,7 +1122,7 @@ def loadAddrBook():
11231122
"""Load address book"""
11241123
sys.stdout = sys.__stdout__
11251124
print("Loading address book...")
1126-
sys.stdout = printlog
1125+
sys.stdout = printlog # pylint: disable=redefined-variable-type
11271126

11281127
ret = sqlQuery("SELECT label, address FROM addressbook")
11291128
for row in ret:
@@ -1230,7 +1229,7 @@ def doShutdown():
12301229
"""Shutting the app down"""
12311230
sys.stdout = sys.__stdout__
12321231
print("Shutting down...")
1233-
sys.stdout = printlog
1232+
sys.stdout = printlog # pylint: disable=redefined-variable-type
12341233
shutdown.doCleanShutdown()
12351234
sys.stdout = sys.__stdout__
12361235
sys.stderr = sys.__stderr__

src/bitmessagekivy/base_navigation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# pylint: disable=unused-argument, no-name-in-module, too-few-public-methods
1+
# pylint: disable=unused-argument,no-name-in-module,too-few-public-methods
2+
# pylint: disable=import-error
23
"""
34
Base class for Navigation Drawer
45
"""

src/bitmessagekivy/baseclass/addressbook.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def set_mdList(self, start_index, end_index):
8383
listItem.secondary_text = item[1]
8484
listItem.theme_text_color = "Custom"
8585
listItem.text_color = ThemeClsColor
86+
# pylint: disable=syntax-error
8687
image = os.path.join(
8788
self.kivy_state.image_dir, "text_images",
8889
f"{avatar_image_first_letter(item[0].strip())}.png" # noqa: E999

src/bitmessagekivy/baseclass/addressbook_widgets.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# pylint: disable=no-member, too-many-arguments, too-few-public-methods, no-init
1+
# pylint: disable=no-member,too-many-arguments,too-few-public-methods
2+
# pylint: disable=no-init,import-error
23

34
"""Addressbook widgets are here."""
45

0 commit comments

Comments
 (0)