Skip to content

Commit

Permalink
#3 change "ally" to "member"
Browse files Browse the repository at this point in the history
  • Loading branch information
jschalk committed Aug 27, 2023
1 parent 51f8b55 commit c3f2394
Show file tree
Hide file tree
Showing 61 changed files with 3,572 additions and 3,472 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ MANIFEST

# PyInstaller
# Usua_lly these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/ally infos into it.
# before PyInstaller builds the exe, so as to inject date/something infos into it.
*.manifest
*.spec

Expand Down
8 changes: 4 additions & 4 deletions Edit5Issue.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
from src.pyqt5_tools.pyqt_func import lw_diplay
from src.agent.agent import AgentUnit
from src.agent.group import groupunit_shop
from src.agent.ally import allylink_shop
from src.agent.member import memberlink_shop


class Edit5Issue(qtw.QTableWidget, Ui_Form):
ally_selected = qtc.pyqtSignal(int)
member_selected = qtc.pyqtSignal(int)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
Expand All @@ -20,8 +20,8 @@ def __init__(self, *args, **kwargs):
# self.group_update_button.clicked.connect(self.group_update)
self.close_button.clicked.connect(self.close)
self.quit_button.clicked.connect(sys.exit)
self.selected_ally_name = None
self.allyunit_x = None
self.selected_member_name = None
self.memberunit_x = None
self.groupunit_x = None

def refresh_all(self):
Expand Down
181 changes: 94 additions & 87 deletions EditAlly.py
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
# command to for converting ui form to python file: pyuic5 ui\EditAllyUI.ui -o ui\EditAllyUI.py
# command to for converting ui form to python file: pyuic5 ui\EditMemberUI.ui -o ui\EditMemberUI.py
import sys
from ui.EditAllyUI import Ui_Form
from ui.EditMemberUI import Ui_Form
from PyQt5 import QtWidgets as qtw
from PyQt5 import QtCore as qtc
from EditAlly2bd import EditAlly2bd
from EditMember2bd import EditMember2bd
from src.pyqt5_tools.pyqt_func import lw_diplay
from src.agent.agent import AgentUnit
from src.agent.group import groupunit_shop
from src.agent.ally import allylink_shop
from src.agent.member import memberlink_shop


class EditAlly(qtw.QTableWidget, Ui_Form):
ally_selected = qtc.pyqtSignal(int)
class EditMember(qtw.QTableWidget, Ui_Form):
member_selected = qtc.pyqtSignal(int)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

self.setupUi(self)

self.ally_table.itemClicked.connect(self.ally_select)
self.ally_insert_button.clicked.connect(self.ally_insert)
self.ally_update_button.clicked.connect(self.ally_update)
self.ally_delete_button.clicked.connect(self.ally_delete)
self.member_table.itemClicked.connect(self.member_select)
self.member_insert_button.clicked.connect(self.member_insert)
self.member_update_button.clicked.connect(self.member_update)
self.member_delete_button.clicked.connect(self.member_delete)
self.groups_in_table.itemClicked.connect(self.groups_in_select)
self.groups_out_table.itemClicked.connect(self.groups_out_select)
self.group_insert_button.clicked.connect(self.group_insert)
self.group_update_button.clicked.connect(self.group_update)
self.group_delete_button.clicked.connect(self.group_delete)
self.ally_group_set_button.clicked.connect(self.ally_group_set)
self.ally_group_del_button.clicked.connect(self.ally_group_del)
self.member_group_set_button.clicked.connect(self.member_group_set)
self.member_group_del_button.clicked.connect(self.member_group_del)
self.close_button.clicked.connect(self.close)
self.quit_button.clicked.connect(sys.exit)
self.selected_ally_name = None
self.allyunit_x = None
self.selected_member_name = None
self.memberunit_x = None
self.groupunit_x = None

def ally_select(self):
ally_name = self.ally_table.item(self.ally_table.currentRow(), 0).text()
self.allyunit_x = self.agent_x._allys.get(ally_name)
self.ally_name.setText(self.allyunit_x.name)
def member_select(self):
member_name = self.member_table.item(self.member_table.currentRow(), 0).text()
self.memberunit_x = self.agent_x._members.get(member_name)
self.member_name.setText(self.memberunit_x.name)
self.refresh_groups()

def groups_in_select(self):
Expand All @@ -55,73 +55,76 @@ def groups_out_select(self):
self.groupunit_x = self.agent_x._groups.get(group_name)
self.group_name.setText(self.groupunit_x.name)

def ally_group_set(self):
self.groupunit_x.set_allylink(allylink=allylink_shop(name=self.allyunit_x.name))
def member_group_set(self):
self.groupunit_x.set_memberlink(
memberlink=memberlink_shop(name=self.memberunit_x.name)
)
self.refresh_groups()

def ally_group_del(self):
if self.groupunit_x._allys.get(self.allyunit_x.name) != None:
self.groupunit_x.del_allylink(name=self.allyunit_x.name)
def member_group_del(self):
if self.groupunit_x._members.get(self.memberunit_x.name) != None:
self.groupunit_x.del_memberlink(name=self.memberunit_x.name)
self.refresh_groups()

def get_ally_group_count(self, ally_name: str): # AllyName):
def get_member_group_count(self, member_name: str): # MemberName):
single_group = ""
groups_count = 0
group_allylinks = []
group_memberlinks = []
for group in self.agent_x._groups.values():
for allylink in group._allys.values():
if allylink.name == ally_name and group.name != allylink.name:
for memberlink in group._members.values():
if memberlink.name == member_name and group.name != memberlink.name:
groups_count += 1
single_group = group.name
group_allylinks.append((group, allylink))

return groups_count, single_group, group_allylinks

def refresh_ally_table(self):
self.ally_table.setObjectName("Allys")
self.ally_table.setColumnHidden(0, False)
self.ally_table.setColumnWidth(0, 170)
self.ally_table.setColumnWidth(1, 130)
self.ally_table.setColumnWidth(2, 40)
self.ally_table.setColumnWidth(3, 60)
self.ally_table.setColumnWidth(4, 40)
self.ally_table.setHorizontalHeaderLabels(
["Ally", "Group", "Group Count", "AGENT_Importance", "Weight"]
group_memberlinks.append((group, memberlink))

return groups_count, single_group, group_memberlinks

def refresh_member_table(self):
self.member_table.setObjectName("Members")
self.member_table.setColumnHidden(0, False)
self.member_table.setColumnWidth(0, 170)
self.member_table.setColumnWidth(1, 130)
self.member_table.setColumnWidth(2, 40)
self.member_table.setColumnWidth(3, 60)
self.member_table.setColumnWidth(4, 40)
self.member_table.setHorizontalHeaderLabels(
["Member", "Group", "Group Count", "AGENT_Importance", "Weight"]
)
self.ally_table.setRowCount(0)
self.member_table.setRowCount(0)

allys_list = list(self.agent_x._allys.values())
allys_list.sort(key=lambda x: x.name, reverse=False)
members_list = list(self.agent_x._members.values())
members_list.sort(key=lambda x: x.name, reverse=False)

for row, ally in enumerate(allys_list, start=1):
for row, member in enumerate(members_list, start=1):
# groups_count = 0
# for group in self.agent_x._groups.values():
# for allylink in group._allys.values():
# if allylink.name == ally.name:
# for memberlink in group._members.values():
# if memberlink.name == member.name:
# groups_count += 1

groups_count, single_group, group_allylinks = self.get_ally_group_count(
ally_name=ally.name
groups_count, single_group, group_memberlinks = self.get_member_group_count(
member_name=member.name
)

self.ally_table.setRowCount(row)
self.ally_table.setItem(row - 1, 0, qtw.QTableWidgetItem(ally.name))
qt_agent_credit = qtw.QTableWidgetItem(lw_diplay(ally._agent_credit))
qt_agent_debt = qtw.QTableWidgetItem(lw_diplay(ally._agent_debt))
self.ally_table.setItem(row - 1, 1, qtw.QTableWidgetItem(single_group))
self.ally_table.setItem(row - 1, 2, qtw.QTableWidgetItem("#"))
self.ally_table.setItem(row - 1, 3, qt_agent_credit)
# self.ally_table.setItem(row - 1, 3, qt_agent_debt)
self.ally_table.setItem(
row - 1, 4, qtw.QTableWidgetItem(f"{ally.creditor_weight}")
self.member_table.setRowCount(row)
self.member_table.setItem(row - 1, 0, qtw.QTableWidgetItem(member.name))
qt_agent_credit = qtw.QTableWidgetItem(lw_diplay(member._agent_credit))
qt_agent_debt = qtw.QTableWidgetItem(lw_diplay(member._agent_debt))
self.member_table.setItem(row - 1, 1, qtw.QTableWidgetItem(single_group))
self.member_table.setItem(row - 1, 2, qtw.QTableWidgetItem("#"))
self.member_table.setItem(row - 1, 3, qt_agent_credit)
# self.member_table.setItem(row - 1, 3, qt_agent_debt)
self.member_table.setItem(
row - 1, 4, qtw.QTableWidgetItem(f"{member.creditor_weight}")
)
# self.ally_table.setItem(
# row - 1, 4, qtw.QTableWidgetItem(f"{ally.debtor_weight}")
# self.member_table.setItem(
# row - 1, 4, qtw.QTableWidgetItem(f"{member.debtor_weight}")
# )

def ally_in_group(self, allyunit, groupunit):
def member_in_group(self, memberunit, groupunit):
return any(
allylink.name == allyunit.name for allylink in groupunit._allys.values()
memberlink.name == memberunit.name
for memberlink in groupunit._members.values()
)

def refresh_groups_in_table(self):
Expand All @@ -138,9 +141,11 @@ def refresh_groups_in_table(self):
groupunit
for groupunit in self.agent_x._groups.values()
if (
self.allyunit_x != None
and self.ally_in_group(allyunit=self.allyunit_x, groupunit=groupunit)
and self.allyunit_x.name != groupunit.name
self.memberunit_x != None
and self.member_in_group(
memberunit=self.memberunit_x, groupunit=groupunit
)
and self.memberunit_x.name != groupunit.name
)
]
groups_in_list.sort(key=lambda x: x.name, reverse=False)
Expand Down Expand Up @@ -169,14 +174,16 @@ def refresh_groups_out_table(self):
groupunit
for groupunit in self.agent_x._groups.values()
if (
self.allyunit_x != None
and groupunit._allys.get(groupunit.name) is None
self.memberunit_x != None
and groupunit._members.get(groupunit.name) is None
and (
self.ally_in_group(allyunit=self.allyunit_x, groupunit=groupunit)
self.member_in_group(
memberunit=self.memberunit_x, groupunit=groupunit
)
== False
)
)
or self.allyunit_x is None
or self.memberunit_x is None
]
groups_out_list.sort(key=lambda x: x.name, reverse=False)
self.groups_out_table.setHorizontalHeaderLabels(
Expand All @@ -202,10 +209,10 @@ def refresh_groups_stan_table(self):
groups_stand_list = [
groupunit
for groupunit in self.agent_x._groups.values()
if self.allyunit_x != None
if self.memberunit_x != None
and (
groupunit._allys.get(groupunit.name) != None
and self.allyunit_x.name == groupunit.name
groupunit._members.get(groupunit.name) != None
and self.memberunit_x.name == groupunit.name
)
]
groups_stand_list.sort(key=lambda x: x.name, reverse=False)
Expand All @@ -220,8 +227,8 @@ def refresh_groups_stan_table(self):
)

def refresh_all(self):
self.refresh_ally_table()
self.ally_name.setText("")
self.refresh_member_table()
self.member_name.setText("")
self.refresh_groups()
if self.group_name != None:
self.group_name.setText("")
Expand All @@ -231,24 +238,24 @@ def refresh_groups(self):
self.refresh_groups_out_table()
self.refresh_groups_stan_table()

def ally_insert(self):
self.agent_x.add_allyunit(name=self.ally_name.text())
def member_insert(self):
self.agent_x.add_memberunit(name=self.member_name.text())
self.refresh_all()

def ally_delete(self):
self.agent_x.del_allyunit(name=self.ally_name.text())
self.ally_name.setText("")
self.allyunit_x = None
def member_delete(self):
self.agent_x.del_memberunit(name=self.member_name.text())
self.member_name.setText("")
self.memberunit_x = None
self.refresh_all()

def ally_update(self):
self.agent_x.edit_allyunit_name(
old_name=self.ally_table.item(self.ally_table.currentRow(), 0).text(),
new_name=self.ally_name.text(),
allow_ally_overwite=True,
def member_update(self):
self.agent_x.edit_memberunit_name(
old_name=self.member_table.item(self.member_table.currentRow(), 0).text(),
new_name=self.member_name.text(),
allow_member_overwite=True,
allow_nonsingle_group_overwrite=True,
)
self.ally_name.setText("")
self.member_name.setText("")
self.refresh_all()

def group_insert(self):
Expand Down

0 comments on commit c3f2394

Please sign in to comment.