Skip to content

Commit 7dd7b5b

Browse files
committed
linting, CI fixes, circular import fix
circular import issue
1 parent dad5560 commit 7dd7b5b

File tree

10 files changed

+77
-87
lines changed

10 files changed

+77
-87
lines changed

sogs/model/clientmanager.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,20 @@ class ClientManager:
7979
queue - BotQueue object
8080
"""
8181

82-
def __init__(
83-
self,
84-
*,
85-
id: Optional[int] = None,
86-
) -> None:
82+
def __init__(self, *, id: Optional[int] = None) -> None:
8783
self.id = id
8884
self.filter = False
8985
self.bqueue = BotQueue()
9086
self.clients = []
9187

92-
9388
def bqempty(self):
9489
return not self.bqueue._empty()
95-
9690

9791
def register_client(self, conn_id, cid, authlevel, bot, priority):
9892
if not bot:
9993
# add client to self.clients
10094
return
101-
95+
10296
if not priority:
10397
# if no priority is given, lowest priority is assigned
10498
priority = self.qsize()
@@ -108,19 +102,16 @@ def register_client(self, conn_id, cid, authlevel, bot, priority):
108102
priority += 1
109103
self.bqueue._put(PriorityTuple(priority, bot))
110104

111-
112105
def deregister_client(self, cid, bot):
113106
if not bot:
114107
# remove client from clients list
115108
return
116-
109+
117110
# remove bot from bot queue
118-
119111

120112
def peek(self, priority: int):
121113
return self.bqueue._peek(priority)
122114

123-
124115
def check_permission_for(
125116
self,
126117
room: Room,

sogs/model/room.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ def _refresh(self, *, id=None, token=None, row=None, perms=False):
154154
if perms or not hasattr(self, '_perm_cache'):
155155
self._perm_cache = {}
156156

157-
158157
def __str__(self):
159158
"""Returns `Room[token]` when converted to a str"""
160159
return f"Room[{self.token}]"

sogs/omq.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import oxenmq, queue
55
from oxenc import bt_serialize, bt_deserialize
66

7-
from mule import log_exceptions
8-
from routes import omq_auth
7+
from .mule import log_exceptions
8+
from .routes import omq_auth
99
from . import crypto, config
1010
from .postfork import postfork
1111
from .model.clientmanager import ClientManager
@@ -36,7 +36,7 @@ def __init__(self):
3636
if uwsgi.mule_id() != 0:
3737
uwsgi.opt['mule'].setup_omq(self)
3838
return
39-
39+
4040
uwsgi.register_signal(123, 'internal', self.handle_proxied_omq_req)
4141

4242
from .web import app # Imported here to avoid circular import
@@ -52,57 +52,49 @@ def __init__(self):
5252
global omq_global
5353
omq_global = self
5454

55-
5655
@log_exceptions
5756
def subreq_response(self):
5857
pass
5958

60-
6159
@log_exceptions
6260
def handle_proxied_omq_req(self):
63-
id, subreq_body = self.send_mule(
64-
command='get_next_request',
65-
prefix='internal'
66-
)
61+
id, subreq_body = self.send_mule(command='get_next_request', prefix='internal')
6762

6863
'''
6964
7065
Handle omq subrequest
7166
7267
'''
7368

74-
return
69+
return
7570

7671
@log_exceptions
7772
def get_next_request(self):
7873
subreq_body = self.subreq_queue.get()
7974
id = list(subreq_body.keys())[0]
8075
return id, subreq_body[id]
8176

82-
8377
@log_exceptions
8478
def register_client(self, msg: oxenmq.Message):
8579
cid, authlevel, bot, priority = bt_deserialize(msg.data()[0])
8680
conn_id = msg.conn()
8781
self.client_map[conn_id] = cid
8882
self.manager.register_client(msg)
8983

90-
9184
@log_exceptions
9285
def deregister_client(self, msg: oxenmq.Message):
9386
cid, bot = bt_deserialize(msg.data()[0])
9487
self.client_map.pop(cid)
9588
self.manager.deregister_client(cid, bot)
9689

97-
9890
def send_mule(self, command, *args, prefix="worker."):
9991
"""
10092
Sends a command to the mule from a worker (or possibly from the mule itself). The command will
10193
be prefixed with "worker." (unless overridden).
10294
10395
Any args will be bt-serialized and send as message parts.
10496
"""
105-
97+
10698
if prefix:
10799
command = prefix + command
108100

sogs/routes/clients.py

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
@omq_auth.first_request
2323
def register(cid):
2424
"""
25-
Registers a client with SOGS OMQ instance. In this context, "client" refers to any entity
25+
Registers a client with SOGS OMQ instance. In this context, "client" refers to any entity
2626
seeking to create an authenticated OMQ connection. This may be, but is not limited to,
2727
a user or a bot
2828
@@ -44,12 +44,11 @@ def register(cid):
4444
"""
4545

4646
req = request.json
47-
bot = utils.get_int_param('bot') # will set bot == 1 if key "bot" has value True
47+
bot = utils.get_int_param('bot') # will set bot == 1 if key "bot" has value True
4848
authlevel = req.get('authlevel')
4949
priority = req.get('priority')
50-
51-
client = (bot is 1)[register_client(cid, authlevel),
52-
register_bot(cid, authlevel, priority)]
50+
51+
client = (bot is 1)[register_client(cid, authlevel), register_bot(cid, authlevel, priority)]
5352

5453
return client
5554

@@ -78,7 +77,7 @@ def register_bot(cid, authlevel, priority):
7877
authlevel=authlevel,
7978
bot=1,
8079
priority=priority,
81-
prefix='handler'
80+
prefix='handler',
8281
)
8382

8483
return client
@@ -106,7 +105,7 @@ def register_client(cid, authlevel):
106105
authlevel=authlevel,
107106
bot=0,
108107
priority=None,
109-
prefix='handler'
108+
prefix='handler',
110109
)
111110

112111
return client
@@ -125,7 +124,7 @@ def unregister(cid):
125124
126125
- 'bot' (bool) : is bot or not
127126
"""
128-
127+
129128
bot = utils.get_int_param('bot')
130129

131130
client = (bot)[unregister_client(cid), unregister_bot(cid)]
@@ -137,25 +136,15 @@ def unregister(cid):
137136
@clients.delete("/client/registered/client/<cid>")
138137
def unregister_client(cid):
139138

140-
client = omq_global.send_mule(
141-
command='unregister_client',
142-
cid=cid,
143-
bot=0,
144-
prefix='handler'
145-
)
146-
139+
client = omq_global.send_mule(command='unregister_client', cid=cid, bot=0, prefix='handler')
140+
147141
return client
148142

149143

150144
@clients.post("/bot/deregistered/bot/<cid>")
151145
@clients.delete("/bot/registered/bot/<cid>")
152146
def unregister_bot(cid):
153-
154-
client = omq_global.send_mule(
155-
command='unregister_bot',
156-
cid=cid,
157-
bot=1,
158-
prefix='handler'
159-
)
147+
148+
client = omq_global.send_mule(command='unregister_bot', cid=cid, bot=1, prefix='handler')
160149

161150
return client

sogs/routes/legacy.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from werkzeug.exceptions import HTTPException
33
from ..web import app
44
from .. import crypto, config, db, http, utils
5-
from ..omq import send_mule
65
from ..utils import jsonify_with_base64
76
from ..model.room import Room, get_accessible_rooms, get_deletions_deprecated
87
from ..model.user import User
@@ -321,7 +320,13 @@ def handle_legacy_delete_messages(ids=None):
321320
ids = room.delete_posts(ids, user)
322321

323322
if ids:
324-
send_mule("messages_deleted", ids)
323+
# avoid circular imports
324+
try:
325+
from ..omq import omq_global
326+
except ModuleNotFoundError:
327+
return
328+
329+
omq_global.send_mule("messages_deleted", ids)
325330

326331
return jsonify({'status_code': http.OK})
327332

sogs/routes/messages.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
messages = Blueprint('messages', __name__)
1111
blueprints_global['messages'] = messages
1212

13+
1314
def qs_reactors():
1415
return utils.get_int_param('reactors', 4, min=0, max=20, truncate=True)
1516

@@ -314,6 +315,7 @@ def message_single(room: Room, msg_id):
314315
- add some decorator to this s.t. it routes it to the correct OMQ endpoint
315316
"""
316317

318+
317319
@messages.post("/room/<Room:room>/message")
318320
@auth.user_required
319321
def post_message(room: Room):

0 commit comments

Comments
 (0)