mirror of
https://github.com/emendir/EndraApp.git
synced 2025-12-23 22:18:10 -05:00
sidebar: small bugfix and linting
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
# side_bar.py
|
||||
from threading import Lock
|
||||
from threading import Thread
|
||||
from time import sleep
|
||||
from enum import Enum
|
||||
@@ -20,7 +21,7 @@ Builder.load_file(KV_FILE)
|
||||
|
||||
|
||||
class AddCorrespondencePopupView(Popup):
|
||||
def __init__(self, **kwargs):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self.text_input_txbx = self.ids.text_input_txbx
|
||||
self.join_conv_btn = self.ids.join_conv_btn
|
||||
@@ -28,24 +29,22 @@ class AddCorrespondencePopupView(Popup):
|
||||
self.scroll_view = self.ids.scroll_view
|
||||
self.scroll_layout = self.ids.scroll_layout
|
||||
|
||||
from threading import Lock
|
||||
|
||||
class AddCorrespondencePopup(AddCorrespondencePopupView):
|
||||
def __init__(self, main, profile: Profile, **kwargs):
|
||||
def __init__(self, main, profile: Profile, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self.main = main
|
||||
self.profile = profile
|
||||
self.join_conv_btn.bind(on_press=self.join_correspondence)
|
||||
self.create_conv_btn.bind(on_press=self.create_correspondence)
|
||||
|
||||
|
||||
self.side_bar_buttons_lock = Lock()
|
||||
|
||||
def create_correspondence(self, instance=None):
|
||||
if self.side_bar_buttons_lock.locked():
|
||||
return
|
||||
with self.side_bar_buttons_lock:
|
||||
task = CreateCorrespondenceTask(
|
||||
self.main, self.profile, self
|
||||
)
|
||||
task = CreateCorrespondenceTask(self.main, self.profile, self)
|
||||
self.scroll_layout.add_widget(task, 0)
|
||||
|
||||
def join_correspondence(self, *args, **kwargs):
|
||||
@@ -55,10 +54,11 @@ class AddCorrespondencePopup(AddCorrespondencePopupView):
|
||||
try:
|
||||
invitation = json.loads(self.text_input_txbx.text)
|
||||
except json.JSONDecodeError:
|
||||
self.text_input_txbx.hint_text = "Invalid Invitation code.\nPaste invitation code here."
|
||||
self.text_input_txbx.hint_text = (
|
||||
"Invalid Invitation code.\nPaste invitation code here."
|
||||
)
|
||||
return
|
||||
task = JoinCorrespondenceTask(
|
||||
self.main, self.profile, invitation, self)
|
||||
task = JoinCorrespondenceTask(self.main, self.profile, invitation, self)
|
||||
self.scroll_layout.add_widget(task, 0)
|
||||
# try:
|
||||
# invitation = json.loads(self.text_input_txbx.text)
|
||||
@@ -91,12 +91,13 @@ class TaskItemView(BoxLayout):
|
||||
|
||||
class TaskItem(TaskItemView):
|
||||
task_description = "Generic Task"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
main,
|
||||
profile: Profile,
|
||||
popup_window: AddCorrespondencePopup | None = None,
|
||||
**kwargs
|
||||
**kwargs,
|
||||
):
|
||||
super().__init__(**kwargs)
|
||||
self._terminate = False
|
||||
@@ -117,12 +118,13 @@ class TaskItem(TaskItemView):
|
||||
|
||||
class CreateCorrespondenceTask(TaskItem):
|
||||
task_description = "Create Correspondence"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
main,
|
||||
profile: Profile,
|
||||
popup_window: AddCorrespondencePopup | None = None,
|
||||
**kwargs
|
||||
**kwargs,
|
||||
):
|
||||
super().__init__(
|
||||
main=main,
|
||||
@@ -130,7 +132,6 @@ class CreateCorrespondenceTask(TaskItem):
|
||||
popup_window=popup_window,
|
||||
)
|
||||
|
||||
|
||||
def run_task(self):
|
||||
print("ENDRA: RUNNING TAST")
|
||||
self.update_status(TaskStatus.in_progress)
|
||||
@@ -140,35 +141,36 @@ class CreateCorrespondenceTask(TaskItem):
|
||||
logger.info("Created correspondence!")
|
||||
self.update_status(TaskStatus.succeeded)
|
||||
except Exception as e:
|
||||
error_message = (
|
||||
f"{e}\n"
|
||||
"CreateCorrespondenceTask: error running task"
|
||||
)
|
||||
error_message = f"{e}\nCreateCorrespondenceTask: error running task"
|
||||
logger.error(error_message)
|
||||
self.update_status(TaskStatus.error)
|
||||
return
|
||||
Clock.schedule_once(lambda dt:self.main.side_bar.reload_correspondences())
|
||||
|
||||
Clock.schedule_once(lambda dt: self.main.side_bar.reload_correspondences())
|
||||
|
||||
if self.popup_window and self.popup_window._is_open:
|
||||
Clock.schedule_once(lambda dt:self.main.chat_page.load_correspondence(correspondence))
|
||||
Clock.schedule_once(
|
||||
lambda dt: self.main.chat_page.load_correspondence(correspondence)
|
||||
)
|
||||
self.popup_window.dismiss()
|
||||
|
||||
|
||||
class JoinCorrespondenceTask(TaskItem):
|
||||
task_description = "Join Correspondence"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
main,
|
||||
profile: Profile,
|
||||
invitation: str,
|
||||
|
||||
popup_window: AddCorrespondencePopup | None = None,
|
||||
**kwargs
|
||||
**kwargs,
|
||||
):
|
||||
self.invitation: str = invitation
|
||||
super().__init__(
|
||||
main=main,
|
||||
profile=profile,
|
||||
popup_window=popup_window,
|
||||
)
|
||||
self.invitation: str = invitation
|
||||
|
||||
def run_task(self):
|
||||
self.update_status(TaskStatus.in_progress)
|
||||
@@ -181,23 +183,24 @@ class JoinCorrespondenceTask(TaskItem):
|
||||
except JoinFailureError:
|
||||
pass
|
||||
except Exception as e:
|
||||
error_message = (
|
||||
f"{e}\n"
|
||||
"JoinCorrespondenceTask: error running task"
|
||||
)
|
||||
error_message = f"{e}\nJoinCorrespondenceTask: error running task"
|
||||
import traceback
|
||||
|
||||
traceback.print_exc()
|
||||
logger.error(error_message)
|
||||
self.update_status(TaskStatus.error)
|
||||
return
|
||||
sleep(1)
|
||||
|
||||
Clock.schedule_once(lambda dt:self.main.side_bar.reload_correspondences())
|
||||
|
||||
Clock.schedule_once(lambda dt: self.main.side_bar.reload_correspondences())
|
||||
|
||||
if self.popup_window and self.popup_window._is_open:
|
||||
Clock.schedule_once(lambda dt:self.main.chat_page.load_correspondence(correspondence))
|
||||
Clock.schedule_once(
|
||||
lambda dt: self.main.chat_page.load_correspondence(correspondence)
|
||||
)
|
||||
self.popup_window.dismiss()
|
||||
|
||||
|
||||
class CorrespondenceItemView(BoxLayout):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -230,17 +233,14 @@ class SideBarView(BoxLayout):
|
||||
self.open_profiles_btn = self.ids.open_profiles_btn
|
||||
self.add_corresp_btn = self.ids.add_corresp_btn
|
||||
|
||||
self.scroll_layout.bind(
|
||||
minimum_height=self.scroll_layout.setter('height')
|
||||
)
|
||||
self.scroll_layout.bind(minimum_height=self.scroll_layout.setter("height"))
|
||||
|
||||
def remove_widget_from_scroll(self, index):
|
||||
if 0 <= index < len(self.scroll_layout.children):
|
||||
self.scroll_layout.remove_widget(
|
||||
self.scroll_layout.children[index])
|
||||
self.scroll_layout.remove_widget(self.scroll_layout.children[index])
|
||||
|
||||
def remove_scroll_widgets(self):
|
||||
while (len(self.scroll_layout.children)):
|
||||
while len(self.scroll_layout.children):
|
||||
self.scroll_layout.remove_widget(self.scroll_layout.children[0])
|
||||
|
||||
|
||||
@@ -257,7 +257,6 @@ class SideBar(SideBarView):
|
||||
self.switch_profile(profile)
|
||||
|
||||
def switch_profile(self, profile: Profile):
|
||||
|
||||
self.profile = profile
|
||||
|
||||
self.reload_correspondences()
|
||||
@@ -270,7 +269,8 @@ class SideBar(SideBarView):
|
||||
active_correspondences = self.profile.get_active_correspondences()
|
||||
for correspondence_id in active_correspondences:
|
||||
self.add_correspondence_header(
|
||||
self.profile.get_correspondence(correspondence_id))
|
||||
self.profile.get_correspondence(correspondence_id)
|
||||
)
|
||||
|
||||
def offer_add_correspondence(self, *args, **kwargs):
|
||||
popup = AddCorrespondencePopup(
|
||||
@@ -291,7 +291,5 @@ class SideBar(SideBarView):
|
||||
dropdown.open(self.profile_controls_lyt)
|
||||
|
||||
def add_correspondence_header(self, correspondence):
|
||||
widget = CorrespondenceItem(
|
||||
main=self.main, correspondence=correspondence
|
||||
)
|
||||
widget = CorrespondenceItem(main=self.main, correspondence=correspondence)
|
||||
self.scroll_layout.add_widget(widget)
|
||||
|
||||
Reference in New Issue
Block a user