From 218bb2bc0d91bf15a3c18fd3f5e29aa1a760a8f4 Mon Sep 17 00:00:00 2001 From: Jan-Paul Date: Wed, 1 Aug 2018 19:36:05 +1000 Subject: [PATCH] v0.3 release --- README.md | 40 +- VERSION | 2 +- __main__.py | 10 +- aboutdialog.py | 6 +- analyze.py | 17 +- apis.py | 36 +- assets/v0.3_dark_screenshot.png | Bin 0 -> 145309 bytes assets/v0.3_light_screenshot.png | Bin 0 -> 144710 bytes config.py | 43 +- db.py | 26 +- gui.py | 730 +++++++++++++++++++++++++------ ignoredialog.py | 153 +++++++ optstore.py | 11 + reportstats.py | 4 +- sortarray.py | 178 ++++++++ 15 files changed, 1072 insertions(+), 184 deletions(-) create mode 100644 assets/v0.3_dark_screenshot.png create mode 100644 assets/v0.3_light_screenshot.png create mode 100644 ignoredialog.py create mode 100644 sortarray.py diff --git a/README.md b/README.md index dab803f..f474088 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ PySpy was born out of frustration over the *death* of [Pirate's Little Helper](h a great [EVE Online](https://www.eveonline.com/) third-party tool for gathering useful information on character names from the in-game *local chat* window. PySpy connects to [CCP's ESI API](https://esi.evetech.net/ui/) and the -[zKillboard API](https://github.com/zKillboard/zKillboard/wiki) and is available on Windows and macOS. +[zKillboard API](https://github.com/zKillboard/zKillboard/wiki) and is available on Windows, macOS and Linux. ## How to use PySpy @@ -28,26 +28,33 @@ PySpy connects to [CCP's ESI API](https://esi.evetech.net/ui/) and the 3. Wait until PySpy is done and inspect the results. 4. Double-click a name to open the respective zKillboard in your browser. -**Note**: PySpy will save its window location, size, column sizes and transparency (slider on bottom right) and any other settings automatically and restore them the next time you launch it. PySpy will stay on top of the EVE client so long as the game runs in *window mode*. +**Note**: PySpy will save its window location, size, column sizes, sorting order and transparency (slider on bottom right) and any other settings automatically and restore them the next time you launch it. If selected in the _View Menu_, PySpy will stay on top of the EVE client so long as the game runs in *window mode*. ## Information Provided by PySpy +### New Dark Mode

- PySpy in action + PySpy in action +

+ +### Traditional Normal Mode +

+ PySpy in action

* **Character**: Character name. +* **Security**: Concord security status. * **Corporation**: Corporation of character. * **Alliance**: Alliance of character's Corporation, if any. * **Faction**: Faction of character, if any. +* **Kills**: Total number of kills. +* **Losses**: Total number of losses. * **Last Wk**: Number of kills over past 7 days. -* **K**: Total number of kills. -* **B**: Number of Black Ops Battleships (BLOPS) killed. -* **H**: Number of lost Heavy Interdiction Cruisers (HIC). +* **Solo**: Ratio of solo kills over total kills. +* **BLOPS**: Number of Black Ops Battleships (BLOPS) killed. +* **HICs**: Number of lost Heavy Interdiction Cruisers (HIC). -**Note**: Characters that have killed BLOPS or have lost HICs are high-lighted *orange*. This can now be changed in the *View* menu. - -**Current Limitations**: To avoid undue strain on zKillboard's API, PySpy will run the *Last Wk* and *K-B-H* analyses only for the first 30 characters in the list. +**Current Limitations**: To avoid undue strain on zKillboard's API, PySpy will run the *Kills*, *Losses*, *Last Wk*, *Solo*, *BLOPS* and *HICs* analyses only for the first 30 characters in the list. ## Installation @@ -55,7 +62,9 @@ You can download the latest release for your operating system [here](https://git PySpy comes as a single-file executable both in Windows and macOS. On both platforms, you can run PySpy from any folder location you like. -**Note**: PySpy automatically checks for updates on launch. +On Linux, you can run PySpy like any other Python3 script. PySpy was developed on Python 3.6.5 but should run on any other Python3 version, so long as you install the required packages listed in [requirements.txt](https://github.com/WhiteRusssian/PySpy/blob/master/requirements.txt). + +**Note**: PySpy automatically checks for updates on launch and will notify you if a new version is available. ## Uninstalling PySpy @@ -63,13 +72,18 @@ Delete the PySpy executable and remove the following files manually: * **Windows**: PySpy saves preference and log files in a folder called `PySpy` located at `%LocalAppData%`. * **macOS**: PySpy creates `pyspy.log` under `~/Library/Logs` and `pyspy.cfg` as well as `pyspy.pickle` under `~/Library/Preferences`. +* **Linux**: PySpy creates `pyspy.log` under `~/Library/Logs` and `pyspy.cfg` as well as `pyspy.pickle` under `~/.config/pyspy`. ## Future Features Below is a non-exhaustive list of additional features I plan to add to PySpy as and when the ESI and zKillboard APIs support them: -* **Standings**: Only show characters that are non-blue, i.e. neutral or hostile. * **Cynos**: Indicate if a character has in the past lost ships fitted with regular or covert cynos. I am currently putting together the underlying database of killmails and expect to add this feature in August. +* **Average Attackers**: Average number of attackers across all kills a character has been involved in. +* **Abyssal Losses**: Show number of losses in abyssal sites. +* **Custom Highlighting**: Choose a list of characters, corproations or alliances to highlight. +* **Standings**: Only show characters that are non-blue, i.e. neutral or hostile. +* **Highlight New Pilots**: Highlight any pilots that have entered system since last PySpy run. * **Improved GUI**: The current GUI is very basic and while it works, I do appreciate that it is not ideal for people who cannot use it on a second screen but actually have to overlay it on-top of their EVE client. Please feel free to add a [feature request](https://github.com/WhiteRusssian/PySpy/issues/new?template=pyspy-feature-request.md) for any improvements you would like to see in future releases. @@ -94,3 +108,7 @@ PySpy is licensed under the [MIT](LICENSE.txt) License. ## CCP Copyright Notice EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website. + +## Collection of Usage Statistics + +To help improve PySpy further, PySpy reports usage statistics comprising certain anonymous information such as the number of characters analysed, duration of each analysis, operating system, version of PySpy, and any active GUI features. For full disclosure, a randomly generated identifier is being sent with each data set to allow me to track how many people are actually using PySpy over any given period. If you would like to see for yourself what is being collected, have a look at the source code of module `reportstats.py`. \ No newline at end of file diff --git a/VERSION b/VERSION index e2cfc99..174a3d5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v0.2 \ No newline at end of file +v0.3 \ No newline at end of file diff --git a/__main__.py b/__main__.py index 0010207..1ec0926 100644 --- a/__main__.py +++ b/__main__.py @@ -60,13 +60,19 @@ def check_name_validity(char_name): def analyze_chars(char_names): start_time = time.time() - wx.CallAfter(app.PySpy.list.DeleteAllItems) + wx.CallAfter(app.PySpy.grid.ClearGrid) try: outlist = analyze.main(char_names) duration = round(time.time() - start_time, 1) reportstats.ReportStats(outlist, duration).start() if outlist is not None: - wx.CallAfter(app.PySpy.updateList, outlist, duration) + # Need to use keyword args as sortOutlist can also get called + # by event handler which would pass event object as first argument. + wx.CallAfter( + app.PySpy.sortOutlist, + outlist=outlist, + duration=duration + ) else: statusmsg.push_status( "No valid character names found. Please try again..." diff --git a/aboutdialog.py b/aboutdialog.py index 51d6dee..6cd1b91 100755 --- a/aboutdialog.py +++ b/aboutdialog.py @@ -21,7 +21,7 @@ # Example call: Logger.info("Something badhappened", exc_info=True) **** -def OnAboutBox(e): +def showAboutBox(parent, event=None): # __main__.app.PySpy.ToggleWindowStyle(wx.STAY_ON_TOP) description = """ @@ -43,7 +43,7 @@ def OnAboutBox(e): info = wx.adv.AboutDialogInfo() info.SetIcon(wx.Icon(config.ABOUT_ICON, wx.BITMAP_TYPE_PNG)) - info.SetName('PySpy') + info.SetName("AboutDialog") info.SetVersion(config.CURRENT_VER) info.SetDescription(description) info.SetCopyright('(C) 2018 White Russsian') @@ -51,5 +51,3 @@ def OnAboutBox(e): info.SetLicence(license) wx.adv.AboutBox(info) - - # __main__.app.PySpy.SetWindowStyle(wx.STAY_ON_TOP) diff --git a/analyze.py b/analyze.py index 26a10e9..8f03033 100644 --- a/analyze.py +++ b/analyze.py @@ -40,7 +40,7 @@ def main(char_names): zkill_stats = q_main.get() query_string = ( '''UPDATE characters SET kills=?, blops_kills=?, hic_losses=?, - week_kills=? + week_kills=?, losses=?, solo_ratio=?, sec_status=? WHERE char_id=?''' ) db.write_many_to_db(conn, cur, query_string, zkill_stats) @@ -160,8 +160,14 @@ def run(self): blops_kills = str(s[1]) hic_losses = str(s[2]) week_kills = str(s[3]) - id = str(s[4]) - zkill_stats.append([kills, blops_kills, hic_losses, week_kills, id]) + losses = str(s[4]) + solo_ratio = str(s[5]) + sec_status = str(s[6]) + id = str(s[7]) + zkill_stats.append([ + kills, blops_kills, hic_losses, week_kills, losses, solo_ratio, + sec_status, id + ]) self._q_main.put(zkill_stats) return @@ -169,8 +175,9 @@ def run(self): def output_list(cur): query_string = ( '''SELECT - ch.char_id, ch.faction_id, ch.char_name, co.name, al.name, fa.name, - ac.numid, ch.week_kills, ch.kills, ch.blops_kills, hic_losses + ch.char_id, ch.faction_id, ch.char_name, co.id, co.name, al.id, + al.name, fa.name, ac.numid, ch.week_kills, ch.kills, ch.blops_kills, + ch.hic_losses, ch.losses, ch.solo_ratio, ch.sec_status FROM characters AS ch LEFT JOIN alliances AS al ON ch.alliance_id = al.id LEFT JOIN corporations AS co ON ch.corp_id = co.id diff --git a/apis.py b/apis.py index 205fad5..17d0c0c 100644 --- a/apis.py +++ b/apis.py @@ -95,31 +95,51 @@ def run(self): hic_losses = 0 self._queue.put([kills, blops_kills, self._char_id]) return + try: - # Number of total kills of this toon. + # Number of total kills kills = r["shipsDestroyed"] - except KeyError: + except (KeyError, TypeError): kills = 0 try: - # Number of BLOPS killed by this toon. + # Number of BLOPS killed blops_kills = r["groups"]["898"]["shipsDestroyed"] - except KeyError: + except (KeyError, TypeError): blops_kills = 0 try: - # Number of HICs lost by this toon. + # Number of HICs lost hic_losses = r["groups"]["894"]["shipsLost"] - except KeyError: + except (KeyError, TypeError): hic_losses = 0 try: # Kills over past 7 days week_kills = r["activepvp"]["kills"]["count"] - except KeyError: + except (KeyError, TypeError): week_kills = 0 + try: + # Number of total losses + losses = r["shipsLost"] + except (KeyError, TypeError): + losses = 0 + + try: + # Ratio of solo kills to total kills + solo_ratio = int(r["soloKills"]) / int(r["shipsDestroyed"]) + except (KeyError, TypeError): + solo_ratio = 0 + + try: + # Security status + sec_status = r["info"]["secStatus"] + except (KeyError, TypeError): + sec_status = 0 + self._queue.put( - [kills, blops_kills, hic_losses, week_kills, self._char_id] + [kills, blops_kills, hic_losses, week_kills, losses, solo_ratio, + sec_status, self._char_id] ) return diff --git a/assets/v0.3_dark_screenshot.png b/assets/v0.3_dark_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..94c1c0bac5da6b0a6dc36b68957085debfc8e453 GIT binary patch literal 145309 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%0DFUF((AynCwknL^E;V?pw4cq0g-%$a? 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

0#Yz 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


h@3!`Hk8Nd9l*d^g&=2bNC52ewp*3yfPnh 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 literal 0 HcmV?d00001 diff --git a/config.py b/config.py index 103e77d..ebcf10e 100644 --- a/config.py +++ b/config.py @@ -7,15 +7,17 @@ import logging.config import logging import os +import platform import sys import uuid import requests +import wx # required for colour codes in DARK_MODE import optstore # cSpell Checker - Correct Words**************************************** # // cSpell:words MEIPASS, datefmt, russsian, pyinstaller, posix, pyspy -# // cSpell:words zkill, amarr, caldari, gallente, minmatar +# // cSpell:words zkill, amarr, caldari, gallente, minmatar, isfile # ********************************************************************** Logger = logging.getLogger(__name__) # Example call: Logger.info("Something badhappened", exc_info=True) **** @@ -52,7 +54,10 @@ def resource_path(relative_path): elif __file__: ABOUT_ICON = resource_path("assets/pyspy_mid.png") application_path = os.path.dirname(__file__) - PREF_PATH = os.path.join(application_path, "tmp") + if platform.system() == "Linux": + PREF_PATH = os.path.expanduser("~/.config/pyspy") + else: + PREF_PATH = os.path.join(application_path, "tmp") if not os.path.exists(PREF_PATH): os.makedirs(PREF_PATH) LOG_PATH = PREF_PATH @@ -72,7 +77,7 @@ def resource_path(relative_path): with open(resource_path('VERSION'), 'r') as ver_file: CURRENT_VER = ver_file.read().replace('\n', '') -# Clean up old GUI_CFG_FILES +# Clean up old GUI_CFG_FILES and OPTIONS_OBJECT keys if os.path.isfile(GUI_CFG_FILE) and not os.path.isfile(OPTIONS_FILE): try: os.remove(GUI_CFG_FILE) @@ -83,16 +88,46 @@ def resource_path(relative_path): os.remove(GUI_CFG_FILE) except: pass + for key in OPTIONS_OBJECT.ListKeys(): + if key != "uuid": + OPTIONS_OBJECT.Del(key) # Unique identifier for usage statistics reporting if OPTIONS_OBJECT.Get("uuid", "not set") == "not set": OPTIONS_OBJECT.Set("uuid", str(uuid.uuid4())) +# Store version information +OPTIONS_OBJECT.Set("version", CURRENT_VER) + # Various constants MAX_NAMES = 500 # The max number of char names to be processed ZKILL_DELAY = 0.05 # API rate limit is 10/second, pushing it a little... -ZKILL_CALLS = 30 +ZKILL_CALLS = 40 GUI_TITLE = "PySpy " + CURRENT_VER +FONT_SCALE_MIN = 7 # 7 equates to 70% +FONT_SCALE_MAX = 13 + + +# Colour Scheme +DARK_MODE = { + "BG": wx.Colour(0, 0, 0), + "TXT": wx.Colour(166, 105, 33), + "LNE": wx.Colour(15, 15, 15), + "LBL": wx.Colour(160, 160, 160), + "HL1": wx.Colour(187, 55, 46), + "HL2": wx.Colour(38, 104, 166), + "HL3": wx.Colour(30, 30, 30) + } + +NORMAL_MODE = { + "BG": wx.Colour(-1, -1, -1), + "TXT": wx.Colour(45, 45, 45), + "LNE": wx.Colour(240, 240, 240), + "LBL": wx.Colour(32, 32, 32), + "HL1": wx.Colour(187, 55, 46), + "HL2": wx.Colour(0, 170, 0), + "HL3": wx.Colour(0, 0, 170) + } # Note, Amarr and Caldari are allied and have IDs ending on uneven integers. # Likewise, Gallente and Minmatar, also allied, have even IDs. diff --git a/db.py b/db.py index 063f7d3..91d2e88 100644 --- a/db.py +++ b/db.py @@ -17,8 +17,11 @@ def connect_db(): - '''Create in memory database - @returns: connection and curser objects as conn and cur''' + ''' + Create in memory database + + @returns: connection and curser objects as conn and cur + ''' conn = sqlite3.connect(":memory:") conn.isolation_level = None cur = conn.cursor() @@ -28,13 +31,16 @@ def connect_db(): def prepare_tables(conn, cur): - '''Create a few tables, unless they already exist. Do not close the + ''' + Create a few tables, unless they already exist. Do not close the connection as it will continue to be used by the calling - function.''' + function. + ''' cur.execute( '''CREATE TABLE IF NOT EXISTS characters (char_name TEXT, char_id INT, corp_id INT, alliance_id INT, faction_id INT, kills INT, - blops_kills INT, hic_losses INT, week_kills INT)''' + blops_kills INT, hic_losses INT, week_kills INT, losses INT, + solo_ratio NUMERIC, sec_status NUMERIC)''' ) cur.execute( '''CREATE TABLE IF NOT EXISTS corporations (id INT, name TEXT)''' @@ -45,18 +51,22 @@ def prepare_tables(conn, cur): cur.execute( '''CREATE TABLE IF NOT EXISTS factions (id INT, name TEXT)''' ) + # Populate this table with the 4 faction warfare factions cur.executemany( '''INSERT INTO factions (id, name) VALUES (?, ?)''', config.FACTION_IDS - ) + ) conn.commit() def write_many_to_db(conn, cur, query_string, records, keepalive=True): - '''Take a database connection and write records to it. Afterwards, + ''' + Take a database connection and write records to it. Afterwards, leave the connection alive, unless keepalive=False and return the number of records added to the database. - @returns: records_added''' + + @returns: records_added + ''' try: cur.executemany(query_string, records) conn.commit() diff --git a/gui.py b/gui.py index 5450aca..39a31e2 100644 --- a/gui.py +++ b/gui.py @@ -11,15 +11,18 @@ import webbrowser import wx +import wx.grid as WXG import wx.lib.agw.persist as pm import aboutdialog import config +import ignoredialog +import sortarray import statusmsg # cSpell Checker - Correct Words**************************************** # // cSpell:words wrusssian, wxpython, HRULES, VRULES, ELLIPSIZE, zkill, # // cSpell:words blops, Unregister, russsian, chkversion, posix, -# // cSpell:words Gallente, Minmatar, Amarr, Caldari, ontop +# // cSpell:words Gallente, Minmatar, Amarr, Caldari, ontop, hics # ********************************************************************** Logger = logging.getLogger(__name__) # Example call: Logger.info("Something badhappened", exc_info=True) **** @@ -31,28 +34,51 @@ def __init__(self, *args, **kwds): # Persistent Options self.options = config.OPTIONS_OBJECT - kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE + kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE # wx.RESIZE_BORDER wx.Frame.__init__(self, *args, **kwds) self.SetName("Main Window") + self.Font = self.Font.Scaled(self.options.Get("FontScale", 1)) + # Set stay on-top unless user deactivated it if self.options.Get("StayOnTop", True): self.ToggleWindowStyle(wx.STAY_ON_TOP) + # Set parameters for columns + self.columns = ( + # Index, Heading, Format, Default Width, Can Toggle, Default Show, Menu Name, Outlist Column + [0, "ID", wx.ALIGN_LEFT, 0, False, False, "", 0], + [1, "Faction ID", wx.ALIGN_LEFT, 0, False, False, "", 1], + [2, "Character", wx.ALIGN_LEFT, 115, False, True, "", 2], + [3, "Security", wx.ALIGN_RIGHT, 50, True, False, "&Security\tCTRL+S", 15], + [4, "CorpID", wx.ALIGN_LEFT, 0, False, False, "", 3], + [5, "Corporation", wx.ALIGN_LEFT, 115, True, True, "Cor&poration\tCTRL+P", 4], + [6, "AllianceID", wx.ALIGN_LEFT, 0, False, False, "-", 5], + [7, "Alliance", wx.ALIGN_LEFT, 175, True, True, "All&iance\tCTRL+I", 6], + [8, "Faction", wx.ALIGN_LEFT, 60, True, True, "&Faction\tCTRL+F", 7], + [9, "Kills", wx.ALIGN_RIGHT, 50, True, True, "&Kills\tCTRL+K", 10], + [10, "Losses", wx.ALIGN_RIGHT, 50, True, True, "&Losses\tCTRL+L", 13], + [11, "Last Wk", wx.ALIGN_RIGHT, 50, True, True, "Last &Wk\tCTRL+W", 9], + [12, "Solo", wx.ALIGN_RIGHT, 50, True, True, "S&olo\tCTRL+O", 14], + [13, "BLOPS", wx.ALIGN_RIGHT, 50, True, True, "&BLOPS\tCTRL+B", 11], + [14, "HICs", wx.ALIGN_RIGHT, 50, True, False, "&HICs\tCTRL+H", 12], + [15, "", None, 1, False, True, ""], # Need for _stretchLastCol() + ) + # Define the menu bar and menu items self.menubar = wx.MenuBar() self.menubar.SetName("Menubar") if os.name == "nt": # For Windows self.file_menu = wx.Menu() - self.file_about = self.file_menu.Append(wx.ID_ANY, 'About') - self.file_menu.Bind(wx.EVT_MENU, aboutdialog.OnAboutBox, self.file_about) + self.file_about = self.file_menu.Append(wx.ID_ANY, '&About\tCTRL+A') + self.file_menu.Bind(wx.EVT_MENU, self._openAboutDialog, self.file_about) self.file_quit = self.file_menu.Append(wx.ID_ANY, 'Quit PySpy') self.file_menu.Bind(wx.EVT_MENU, self.OnQuit, self.file_quit) self.menubar.Append(self.file_menu, 'File') if os.name == "posix": # For macOS self.help_menu = wx.Menu() - self.help_about = self.help_menu.Append(wx.ID_ANY, 'About') - self.help_menu.Bind(wx.EVT_MENU, aboutdialog.OnAboutBox, self.help_about) + self.help_about = self.help_menu.Append(wx.ID_ANY, '&About\tCTRL+A') + self.help_menu.Bind(wx.EVT_MENU, self._openAboutDialog, self.help_about) self.menubar.Append(self.help_menu, 'Help') # View menu is platform independent @@ -60,74 +86,79 @@ def __init__(self, *args, **kwds): # Toggle highlighting of BLOPS kills and HIC losses self.hl_blops = self.view_menu.AppendCheckItem( - wx.ID_ANY, 'Highlight BLOPS Kills and HIC Losses' + wx.ID_ANY, '&Highlight BLOPS Kills and HIC Losses\tCTRL+SHIFT+H' ) - self.view_menu.Bind(wx.EVT_MENU, self.toggleHlBlops, self.hl_blops) + self.view_menu.Bind(wx.EVT_MENU, self._toggleHlBlops, self.hl_blops) + self.hl_blops.Check(self.options.Get("HlBlops", True)) self.view_menu.AppendSeparator() - # Show / hide columns - self.show_corp = self.view_menu.AppendCheckItem(wx.ID_ANY, 'Show Corporation') - self.view_menu.Bind(wx.EVT_MENU, self.toggleViewCorp, self.show_corp) - - self.show_alliance = self.view_menu.AppendCheckItem(wx.ID_ANY, 'Show Alliance') - self.view_menu.Bind(wx.EVT_MENU, self.toggleViewAlliance, self.show_alliance) - - self.show_faction = self.view_menu.AppendCheckItem(wx.ID_ANY, 'Show Faction') - self.view_menu.Bind(wx.EVT_MENU, self.toggleViewFaction, self.show_faction) + self._createShowColMenuItems() self.view_menu.AppendSeparator() # Ignore Factions submenu for view menu - self.view_sub_menu = wx.Menu() - self.view_menu.Append(wx.ID_ANY, "Ignore Factions", self.view_sub_menu) + self.factions_sub = wx.Menu() + self.view_menu.Append(wx.ID_ANY, "Ignore Factions", self.factions_sub) + + self.ignore_galmin = self.factions_sub.AppendRadioItem(wx.ID_ANY, "Gallente / Minmatar") + self.factions_sub.Bind(wx.EVT_MENU, self._toggleIgnoreFactions, self.ignore_galmin) + self.ignore_galmin.Check(self.options.Get("HlGalMin", False)) + + self.ignore_amacal = self.factions_sub.AppendRadioItem(wx.ID_ANY, "Amarr / Caldari") + self.factions_sub.Bind(wx.EVT_MENU, self._toggleIgnoreFactions, self.ignore_amacal) + self.ignore_amacal.Check(self.options.Get("HlAmaCal", False)) - self.ignore_galmin = self.view_sub_menu.AppendRadioItem(wx.ID_ANY, "Gallente / Minmatar") - self.view_sub_menu.Bind(wx.EVT_MENU, self.toggleIgnoreFactions, self.ignore_galmin) + self.ignore_none = self.factions_sub.AppendRadioItem(wx.ID_ANY, "None") + self.factions_sub.Bind(wx.EVT_MENU, self._toggleIgnoreFactions, self.ignore_none) + self.ignore_none.Check(self.options.Get("HlNone", True)) - self.ignore_amacal = self.view_sub_menu.AppendRadioItem(wx.ID_ANY, "Amarr / Caldari") - self.view_sub_menu.Bind(wx.EVT_MENU, self.toggleIgnoreFactions, self.ignore_amacal) + # Font submenu for font scale + self.font_sub = wx.Menu() + self.view_menu.Append(wx.ID_ANY, "Font Scale", self.font_sub) - self.ignore_none = self.view_sub_menu.AppendRadioItem(wx.ID_ANY, "None") - self.view_sub_menu.Bind(wx.EVT_MENU, self.toggleIgnoreFactions, self.ignore_none) + self._fontScaleMenu(config.FONT_SCALE_MIN, config.FONT_SCALE_MAX) self.view_menu.AppendSeparator() # Toggle Stay on-top self.stay_ontop = self.view_menu.AppendCheckItem( - wx.ID_ANY, 'Stay on-top' + wx.ID_ANY, 'Stay on-&top\tCTRL+T' ) - self.view_menu.Bind(wx.EVT_MENU, self.toggleStayOnTop, self.stay_ontop) + self.view_menu.Bind(wx.EVT_MENU, self._toggleStayOnTop, self.stay_ontop) + self.stay_ontop.Check(self.options.Get("StayOnTop", True)) - self.menubar.Append(self.view_menu, 'View') + # Toggle Dark-Mode + self.dark_mode = self.view_menu.AppendCheckItem( + wx.ID_ANY, '&Dark Mode\tCTRL+D' + ) + self.dark_mode.Check(self.options.Get("DarkMode", False)) + self.view_menu.Bind(wx.EVT_MENU, self._toggleDarkMode, self.dark_mode) + self.use_dm = self.dark_mode.IsChecked() - # Menu Defaults, saved with optstore.PersistentOptions - self.hl_blops.Check(self.options.Get("HlBlops", True)) - self.show_corp.Check(self.options.Get("ShowCorp", True)) - self.show_alliance.Check(self.options.Get("ShowAlliance", True)) - self.show_faction.Check(self.options.Get("ShowFaction", True)) - self.ignore_galmin.Check(self.options.Get("HlGalMin", False)) - self.ignore_amacal.Check(self.options.Get("HlAmaCal", False)) - self.ignore_none.Check(self.options.Get("HlNone", True)) - self.stay_ontop.Check(self.options.Get("StayOnTop", True)) + self.menubar.Append(self.view_menu, 'View ') # Added space to avoid autogenerated menu items on Mac - # Define the main list control - self.list = wx.ListCtrl(self, wx.ID_ANY, style=wx.BORDER_NONE | - wx.FULL_REPAINT_ON_RESIZE | wx.LC_HRULES | wx.LC_REPORT | - wx.LC_SINGLE_SEL | wx.LC_VRULES + # Options Menubar + self.opt_menu = wx.Menu() + + self.review_ignore = self.opt_menu.Append(wx.ID_ANY, "&Review Ignored Entities\tCTRL+R") + self.opt_menu.Bind( + wx.EVT_MENU, + self._openIgnoreDialog, + self.review_ignore ) - self.list.SetName("Output List") - # Ensure that Persistence Manager saves window location on close - self.Bind(wx.EVT_CLOSE, self.OnClose) + self.menubar.Append(self.opt_menu, 'Options') - # Bind double click on list item to zKill link. - self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.goToZKill, self.list) + # Set the grid object + self.grid = wx.grid.Grid(self, wx.ID_ANY) + self.grid.CreateGrid(0, 0) + self.grid.SetName("Output List") # Allow to change window transparency using this slider. self.alpha_slider = wx.Slider(self, wx.ID_ANY, 250, 50, 255) self.alpha_slider.SetName("Transparency_Slider") - self.Bind(wx.EVT_SLIDER, self.setTransparency) + self.Bind(wx.EVT_SLIDER, self._setTransparency) # The status label shows various info and error messages. self.status_label = wx.StaticText( @@ -146,30 +177,108 @@ def __init__(self, *args, **kwds): self._persistMgr.SetPersistenceFile(config.GUI_CFG_FILE) self._persistMgr.RegisterAndRestoreAll(self) - self.setTransparency() # Set transparency based off restored slider + # Column resize to trigger last column stretch to fill blank canvas. + self.Bind(wx.grid.EVT_GRID_COL_SIZE, self._stretchLastCol, self.grid) + + # Window resize to trigger last column stretch to fill blank canvas. + self.Bind(wx.EVT_SIZE, self._stretchLastCol, self) + + # Ensure that Persistence Manager saves window location on close + self.Bind(wx.EVT_CLOSE, self.OnClose) + + # Bind double click on list item to zKill link. + self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self._goToZKill, self.grid) + + # Bind right click on list item to ignore character. + self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self._showContextMenu, self.grid) + + # Bind left click on column label to sorting + self.Bind(wx.grid.EVT_GRID_COL_SORT, self.sortOutlist, self.grid) + + # Set transparency based off restored slider + self._setTransparency() self.__do_layout() - def __set_properties(self): + def __set_properties(self, dark_toggle=None): + ''' + Set the initial properties for the various widgets. + ''' + # Colour Scheme Dictionaries + self.dark_dict = config.DARK_MODE + self.normal_dict = config.NORMAL_MODE + + # Colour Scheme + if not self.options.Get("DarkMode", False): + self.bg_colour = self.normal_dict["BG"] + self.txt_colour = self.normal_dict["TXT"] + self.lne_colour = self.normal_dict["LNE"] + self.lbl_colour = self.normal_dict["LBL"] + self.hl1_colour = self.normal_dict["HL1"] + else: + self.bg_colour = self.dark_dict["BG"] + self.txt_colour = self.dark_dict["TXT"] + self.lne_colour = self.dark_dict["LNE"] + self.lbl_colour = self.dark_dict["LBL"] + self.hl1_colour = self.dark_dict["HL1"] + + + # Set default colors + self.SetBackgroundColour(self.bg_colour) + self.SetForegroundColour(self.txt_colour) + self.grid.SetDefaultCellBackgroundColour(self.bg_colour) + self.grid.SetDefaultCellTextColour(self.txt_colour) + self.grid.SetGridLineColour(self.lne_colour) + self.grid.SetLabelBackgroundColour(self.bg_colour) + self.grid.SetLabelTextColour(self.lbl_colour) + self.status_label.SetForegroundColour(self.lbl_colour) + + # Do not reset window size etc. if only changing colour scheme. + if dark_toggle: + return + self.SetTitle(config.GUI_TITLE) - self.SetSize((625, 400)) + self.SetSize((720, 400)) self.SetMenuBar(self.menubar) - self.list.AppendColumn("ID", format=wx.LIST_FORMAT_LEFT, width=0) - self.list.AppendColumn("FactionID", format=wx.LIST_FORMAT_LEFT, width=0) - self.list.AppendColumn("Character", format=wx.LIST_FORMAT_LEFT, width=115) - self.lc_corp = self.list.AppendColumn("Corporation", format=wx.LIST_FORMAT_LEFT, width=115) - self.lc_alliance = self.list.AppendColumn("Alliance", format=wx.LIST_FORMAT_LEFT, width=175) - self.lc_faction = self.list.AppendColumn("Faction", format=wx.LIST_FORMAT_LEFT, width=60) - self.list.AppendColumn("Last Wk", format=wx.LIST_FORMAT_CENTER, width=50) - self.list.AppendColumn("K - B - H", format=wx.LIST_FORMAT_CENTER, width=90) + # Insert columns based on parameters provided in col_def + + # self.grid.CreateGrid(0, 0) + if self.grid.GetNumberCols() < len(self.columns): + self.grid.AppendCols(len(self.columns)) + self.grid.SetColLabelSize(self.grid.GetDefaultRowSize() + 2) + self.grid.SetRowLabelSize(0) + self.grid.EnableEditing(0) + self.grid.DisableCellEditControl() + self.grid.EnableDragRowSize(0) + self.grid.EnableDragGridSize(0) + self.grid.SetSelectionMode(wx.grid.Grid.SelectRows) + self.grid.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_BOTTOM) + self.grid.ClipHorzGridLines(False) + # self.grid.ClipVertGridLines(False) + # Disable visual highlighting of selected cell to look more like listctrl + self.grid.SetCellHighlightPenWidth(0) + colidx = 0 + for col in self.columns: + self.grid.SetColLabelValue( + col[0], # Index + col[1], # Heading + ) + # self.grid.SetColSize(colidx, col[3]) + colidx += 1 + # Transparency slider self.alpha_slider.SetMinSize((100, 20)) + # Window icon icon = wx.Icon() icon.CopyFromBitmap(wx.Bitmap(config.ICON_FILE, wx.BITMAP_TYPE_ANY)) self.SetIcon(icon) def __do_layout(self): + ''' + Assigns the various widgets to sizers and calls a number of helper + functions. + ''' sizer_main = wx.BoxSizer(wx.VERTICAL) sizer_bottom = wx.BoxSizer(wx.HORIZONTAL) - sizer_main.Add(self.list, 1, wx.EXPAND, 0) + sizer_main.Add(self.grid, 1, wx.EXPAND, 0) sizer_bottom.Add(self.status_label, 1, wx.ALIGN_CENTER_VERTICAL, 0) static_line = wx.StaticLine(self, wx.ID_ANY, style=wx.LI_VERTICAL) sizer_bottom.Add(static_line, 0, wx.EXPAND, 0) @@ -177,46 +286,228 @@ def __do_layout(self): sizer_main.Add(sizer_bottom, 0, wx.ALIGN_BOTTOM | wx.ALL | wx.EXPAND, 1) self.SetSizer(sizer_main) self.Layout() + self._restoreColWidth() + self._stretchLastCol() + + def _fontScaleMenu(self, lower, upper): + ''' + Populates the font scale sub menu with scale percentages + based on input bounds. + + :param `lower`: The minimum scale represented as a decimal, e.g. 0.6 + + :param `upper`: The maximum scale represented as a decimal, e.g. 1.4 + ''' + for scale in range(lower, upper): + scale = scale / 10 + self.font_sub.AppendRadioItem(wx.ID_ANY, "{:.0%}".format(scale)) + self.font_sub.Bind( + wx.EVT_MENU, + lambda evt, scale=scale: self._setFontScale(scale, evt), + self.font_sub.MenuItems[-1] + ) + if scale == self.options.Get("FontScale", 1): + self.font_sub.MenuItems[-1].Check(True) + + def _setFontScale(self, scale, evt=None): + ''' + Changes the font scaling and saves it in the pickle container. + ''' + self.Font = self.Font.Scaled(scale) + self.options.Set("FontScale", scale) + + def _createShowColMenuItems(self): + ''' + Populates the View menu with show column toggle menu items for + each column that is toggleable. It uses the information provided + in self.columns. + ''' + # For each column, create show / hide menu items, if hideable + self.col_menu_items = [[] for i in self.columns] + for col in self.columns: + if not col[4]: # Do not add menu item if column not hideable + continue + index = col[0] + options_key = "Show" + col[1] + menu_name = "Show " + col[6] + self.col_menu_items[index] = self.view_menu.AppendCheckItem( + wx.ID_ANY, + menu_name + ) + # Column show / hide, depending on user settings, if any + checked = self.options.Get( + options_key, + self.columns[index][5] + ) + self.col_menu_items[index].Check( + self.options.Get(options_key, checked) + ) + # Bind new menu item to toggleColumn method + self.view_menu.Bind( + wx.EVT_MENU, + lambda evt, index=index: self._toggleColumn(index, evt), + self.col_menu_items[index] + ) + + def _toggleColumn(self, index, event=None): + ''' + Depending on the respective menu item state, either reveals or + hides a column. If it hides a column, it first stores the old + column width in self.options to allow for subsequent restore. + ''' + try: + checked = self.col_menu_items[index].IsChecked() + except: + checked = False + col_name = self.columns[index][1] + if checked: + default_width = self.columns[index][3] + col_width = self.options.Get(col_name, default_width) + if col_width > 0: + self.grid.SetColSize(index, col_width) + else: + self.grid.SetColSize(index, default_width) + else: + col_width = self.grid.GetColSize(index) + # Only save column status if column is actually hideable + if self.columns[index][4]: + self.options.Set(col_name, col_width) + self.grid.HideCol(index) + self._stretchLastCol() + + def _stretchLastCol(self, event=None): + ''' + Makes sure the last column fills any blank space of the + grid. For this reason, the last list item of self.columns should + describe an empty column. + ''' + grid_width = self.grid.Size.GetWidth() + cols_width = 0 + for index in range(self.columns[-1][0] + 1): + cols_width += self.grid.GetColSize(index) + stretch_width = grid_width - cols_width + last_col_width = max( + self.grid.GetColSize(index) + stretch_width, + self.columns[index][3] + ) + self.grid.SetColSize(index, last_col_width) + self.Layout() + if event is not None: + event.Skip(True) def updateList(self, outlist, duration=None): + ''' + `updateList()` takes the output of `output_list()` in `analyze.py` (via + `__main__.py`) or a copy thereof stored in self.option, and uses it + to populate the list widget. Before it does so, it checks each + item in outlist against a list of ignored characters, corporations + and alliances. Finally, it highlights certain characters and + updates the statusbar message. + + :param `outlist`: A list of rows with character data. + + :param `duration`: Time in seconds taken to query all relevant + databases for each character. + ''' # If updateList() gets called before outlist has been provided, do nothing if outlist is None: return - self.options.Set("outlist", outlist) + if self.grid.GetNumberRows() > 0: + self.grid.DeleteRows(numRows=self.grid.GetNumberRows()) + self.grid.AppendRows(len(outlist)) + ignored_list = self.options.Get("ignoredList", default=[]) hl_blops = self.options.Get("HlBlops", True) - self.list.DeleteAllItems() + ignore_count = 0 + rowidx = 0 for r in outlist: + ignore = False + for rec in ignored_list: + if r[0] == rec[0] or r[3] == rec[0] or r[5] == rec[0]: + ignore = True + if ignore: + self.grid.HideRow(rowidx) + ignore_count += 1 + # Schema depending on output_list() in analyze.py - id = r[0] - faction_id = r[1] + id = r[0] # Hidden, used for zKillboard link + faction_id = r[1] # Hidden, used for faction ignoring name = r[2] - corp = r[3] - alliance = str(r[4]) + " (" + str(r[6]) + ")" if r[4] is not None else "-" - faction = r[5] if r[5] is not None else "-" - week_kills = r[7] - zkill = str(r[8]) + " - " + str(r[9]) + " - " + str(r[10]) if r[8] is not None else "n.a." - out = [id, faction_id, name, corp, alliance, faction, week_kills, zkill] + corp_id = r[3] + corp_name = r[4] + alliance_id = r[5] + alliance_name = r[6] + faction = r[7] if r[7] is not None else "-" + allies = "{:,}".format(int(r[8])) + + # Add number of allies to alliance name + if alliance_name is not None: + alliance_name = alliance_name + " (" + allies + ")" + else: + alliance_name = "-" + + # zKillboard data is "n.a." unless available + week_kills = kills = blops_kills = hic_losses = "n.a." + losses = solo_ratio = sec_status = "n.a." + + if r[13] is not None: + week_kills = "{:,}".format(int(r[9])) + kills = "{:,}".format(int(r[10])) + blops_kills = "{:,}".format(int(r[11])) + hic_losses = "{:,}".format(int(r[12])) + losses = "{:,}".format(int(r[13])) + solo_ratio = "{:.0%}".format(float(r[14])) + sec_status = "{:.1f}".format(float(r[15])) + + out = [ + id, + faction_id, + name, + sec_status, + corp_id, + corp_name, + alliance_id, + alliance_name, + faction, + kills, + losses, + week_kills, + solo_ratio, + blops_kills, + hic_losses + ] # Check if character belongs to a faction that should be ignored if faction_id != 0: if config.IGNORED_FACTIONS == 2 and faction_id % 2 == 0: - continue + self.grid.HideRow(rowidx) if config.IGNORED_FACTIONS == 1 and faction_id % 2 != 0: - continue - - self.list.Append(out) + self.grid.HideRow(rowidx) + colidx = 0 + + # Cell text formatting + for value in out: + self.grid.SetCellValue(rowidx, colidx, str(value)) + self.grid.SetCellAlignment(self.columns[colidx][2], rowidx, colidx) + if hl_blops and r[9] is not None and (r[11] > 0 or r[12] > 0): # Highlight BLOPS killer & HIC pilots. + self.grid.SetCellTextColour(rowidx, colidx, self.hl1_colour) + else: + self.grid.SetCellTextColour(rowidx, colidx, self.txt_colour) + colidx += 1 + rowidx += 1 - if hl_blops and r[7] is not None and (r[9] > 0 or r[10] > 0): # Highlight BLOPS killer & HIC pilots. - self.list.SetItemBackgroundColour( - self.list.ItemCount - 1, - wx.Colour(255, 189, 90) - ) if duration is not None: statusmsg.push_status( - str(len(outlist)) + - " characters analysed in " + str(duration) + - " seconds. Double click character to go to zKillboard." + str(len(outlist) - ignore_count) + + " characters analysed, in " + str(duration) + + " seconds (" + str(ignore_count) + " ignored). Double click " + + "character to go to zKillboard." + ) + else: + statusmsg.push_status( + str(len(outlist) - ignore_count) + " characters analysed (" + + str(ignore_count) + " ignored). Double click character to go " + + " to zKillboard." ) def updateStatusbar(self, msg): @@ -225,41 +516,137 @@ def updateStatusbar(self, msg): self.status_label.SetLabel(msg) self.Layout() - def goToZKill(self, event): + def _goToZKill(self, event): + rowidx = event.GetRow() + character_id = self.options.Get("outlist")[rowidx][0] webbrowser.open_new_tab( "https://zkillboard.com/character/" + - str(event.GetText()) + str(character_id) + "/" ) - def setTransparency(self, event=None): + def _showContextMenu(self, event): + ''' + Gets invoked by right click on any list item and produces a + context menu that allows the user to add the selected character + to PySpy's list of "ignored characters" which will no longer be + shown in search results. + ''' + def OnIgnore(id, name, type, e=None): + ignored_list = self.options.Get("ignoredList", default=[]) + ignored_list.append([id, name, type]) + self.options.Set("ignoredList", ignored_list) + self.updateList(self.options.Get("outlist", None)) + + rowidx = event.GetRow() + character_id = str(self.options.Get("outlist")[rowidx][0]) + # Only open context menu character item right clicked, not empty line. + if len(character_id) > 0: + outlist = self.options.Get("outlist") + for r in outlist: + if str(r[0]) == character_id: + character_id = r[0] + character_name = r[2] + corp_id = r[3] + corp_name = r[4] + alliance_id = r[5] + alliance_name = r[6] + break + self.menu = wx.Menu() + # Context menu to ignore characters, corporations and alliances. + item_ig_char = self.menu.Append( + wx.ID_ANY, "Ignore character '" + character_name + "'" + ) + self.menu.Bind( + wx.EVT_MENU, + lambda evt, id=character_id, name=character_name: OnIgnore(id, name, "Character", evt), + item_ig_char + ) + + item_ig_corp = self.menu.Append( + wx.ID_ANY, "Ignore corporation: '" + corp_name + "'" + ) + self.menu.Bind( + wx.EVT_MENU, + lambda evt, id=corp_id, name=corp_name: OnIgnore(id, name, "Corporation", evt), + item_ig_corp + ) + + if alliance_name is not None: + item_ig_alliance = self.menu.Append( + wx.ID_ANY, "Ignore alliance: '" + alliance_name + "'" + ) + self.menu.Bind( + wx.EVT_MENU, + lambda evt, id=alliance_id, name=alliance_name: OnIgnore(id, name, "Alliance", evt), + item_ig_alliance + ) + + self.PopupMenu(self.menu, event.GetPosition()) + self.menu.Destroy() + + def sortOutlist(self, event=None, outlist=None, duration=None): + ''' + If called by event handle, i.e. user + ''' + if event is None: + # Default sort by character name ascending. + colidx = self.options.Get("SortColumn", self.columns[2][7]) + sort_desc = self.options.Get("SortDesc", False) + else: + colidx = event.GetCol() + if self.options.Get("SortColumn", -1) == colidx: + sort_desc = not self.options.Get("SortDesc") + else: + sort_desc = True + + # Use unicode characters for sort indicators + arrow = u"\u2193" if sort_desc else u"\u2191" + + # Reset all labels + for col in self.columns: + self.grid.SetColLabelValue(col[0], col[1]) + + # Assign sort indicator to sort column + self.grid.SetColLabelValue( + colidx, + self.columns[colidx][1] + " " + arrow + ) + self.options.Set("SortColumn", colidx) + self.options.Set("SortDesc", sort_desc) + event = None + # Sort outlist. Note: outlist columns are not the same as + # self.grid columns!!! + if outlist is None: + outlist = self.options.Get("outlist", False) + + if outlist: + outlist = sortarray.sort_array( + outlist, + self.columns[colidx][7], + sec_col=self.columns[2][7], # Secondary sort by name + prim_desc=sort_desc, + sec_desc=False, # Secondary sort by name always ascending + case_sensitive=False + ) + self.options.Set("outlist", outlist) + self.updateList(outlist, duration=duration) + + def _setTransparency(self, event=None): + ''' + Sets window transparency based off slider setting and stores + value in self.options. + ''' alpha = self.alpha_slider.GetValue() self.SetTransparent(alpha) self.options.Set("GuiAlpha", alpha) self.Layout() - def OnClose(self, event): - self._persistMgr.SaveAndUnregister() - # Store check-box values in pickle container - self.options.Set("HlBlops", self.hl_blops.IsChecked()) - self.options.Set("ShowCorp", self.show_corp.IsChecked()) - self.options.Set("ShowAlliance", self.show_alliance.IsChecked()) - self.options.Set("ShowFaction", self.show_faction.IsChecked()) - self.options.Set("HlGalMin", self.ignore_galmin.IsChecked()) - self.options.Set("HlAmaCal", self.ignore_amacal.IsChecked()) - self.options.Set("HlNone", self.ignore_none.IsChecked()) - # Delete last outlist - self.options.Set("outlist", None) - # Store version information - self.options.Set("version", config.CURRENT_VER) - # Write pickle container to disk - self.options.Save() - event.Skip() - - def OnQuit(self, e): - self.Close() - def updateAlert(self, latest_ver, cur_ver): - '''Gets called by chk_github_update() in chkversion.py.''' + ''' + Simple dialog box to notify user when new version of PySpy is + available for download. Gets called by chk_github_update() + in chkversion.py. + ''' self.ToggleWindowStyle(wx.STAY_ON_TOP) msgbox = wx.MessageBox( "PySpy " + str(latest_ver) + " is now available. You are running " + @@ -273,41 +660,11 @@ def updateAlert(self, latest_ver, cur_ver): ) self.ToggleWindowStyle(wx.STAY_ON_TOP) - def toggleHlBlops(self, e): + def _toggleHlBlops(self, e): self.options.Set("HlBlops", self.hl_blops.IsChecked()) self.updateList(self.options.Get("outlist", None)) - def toggleViewCorp(self, e): - if self.show_corp.IsChecked(): - col_width = self.options.Get("colCorpWidth", 145) - self.list.SetColumnWidth(self.lc_corp, col_width) - else: - col_width = self.list.GetColumnWidth(self.lc_corp) - self.options.Set("colCorpWidth", col_width) - self.list.SetColumnWidth(self.lc_corp, 0) - self.Layout() - - def toggleViewAlliance(self, e): - if self.show_alliance.IsChecked(): - col_width = self.options.Get("colAllianceWidth", 210) - self.list.SetColumnWidth(self.lc_alliance, col_width) - else: - col_width = self.list.GetColumnWidth(self.lc_alliance) - self.options.Set("colAllianceWidth", col_width) - self.list.SetColumnWidth(self.lc_alliance, 0) - self.Layout() - - def toggleViewFaction(self, e): - if self.show_faction.IsChecked(): - col_width = self.options.Get("colFactionWidth", 90) - self.list.SetColumnWidth(self.lc_faction, col_width) - else: - col_width = self.list.GetColumnWidth(self.lc_faction) - self.options.Set("colFactionWidth", col_width) - self.list.SetColumnWidth(self.lc_faction, 0) - self.Layout() - - def toggleIgnoreFactions(self, e): + def _toggleIgnoreFactions(self, e): ig_galmin = self.ignore_galmin.IsChecked() ig_amacal = self.ignore_amacal.IsChecked() ig_none = self.ignore_none.IsChecked() @@ -322,10 +679,105 @@ def toggleIgnoreFactions(self, e): self.options.Set("IgnoredFactions", 0) self.updateList(self.options.Get("outlist", None)) - def toggleStayOnTop(self, e): + def _toggleStayOnTop(self, evt=None): self.options.Set("StayOnTop", self.stay_ontop.IsChecked()) self.ToggleWindowStyle(wx.STAY_ON_TOP) + def _toggleDarkMode(self, evt=None): + self.options.Set("DarkMode", self.dark_mode.IsChecked()) + self.use_dm = self.dark_mode.IsChecked() + self.__set_properties(dark_toggle=True) + self.Refresh() + self.Update() + self.updateList(self.options.Get("outlist")) + + def _openAboutDialog(self, evt=None): + ''' + Checks if IgnoreDialog is already open. If not, opens the dialog + window, otherwise brings the existing dialog window to the front. + ''' + for c in self.GetChildren(): + if c.GetName() == "AboutDialog": # Needs to match name in ignoredialog.py + c.Raise() + return + aboutdialog.showAboutBox(self) + + def _openIgnoreDialog(self, evt=None): + ''' + Checks if IgnoreDialog is already open. If not, opens the dialog + window, otherwise brings the existing dialog window to the front. + ''' + for c in self.GetChildren(): + if c.GetName() == "IgnoreDialog": # Needs to match name in ignoredialog.py + c.Raise() + return + ignoredialog.showIgnoreDialog(self) + + def _restoreColWidth(self): + ''' + Restores column width either to default or value stored from + previous session. + ''' + for col in self.columns: + header = col[1] + # Column width is also set in _toggleColumn() + width = self.options.Get(header, col[3]) + menu_item = self.col_menu_items[col[0]] + if menu_item == [] or menu_item.IsChecked(): + self.grid.SetColSize(col[0], width) + else: + self.grid.SetColSize(col[0], 0) + pass + + def _saveColumns(self): + ''' + Saves custom column widths, since wxpython's Persistence Manager + is unable to do so for Grid widgets. + ''' + for col in self.columns: + is_hideable = col[4] + default_show = col[5] + header = col[1] + options_key = "Show" + header + width = self.grid.GetColSize(col[0]) + try: + menu_item_chk = self.col_menu_items[col[0]].IsChecked() + except: + menu_item_chk = False + # Only save column width for columns that are not hidden or + # not hideable and shown by default. + if menu_item_chk or (not is_hideable and default_show): + self.options.Set(header, width) + # Do not add menu item if column not hideable + if col[4]: + self.options.Set(options_key, menu_item_chk) + pass + + def OnClose(self, event=None): + ''' + Run a few clean-up tasks on close and save persistent properties. + ''' + self._persistMgr.SaveAndUnregister() + + # Save column toggle menu state and column width in pickle container + self._saveColumns() + + # Store check-box values in pickle container + self.options.Set("HlBlops", self.hl_blops.IsChecked()) + self.options.Set("HlGalMin", self.ignore_galmin.IsChecked()) + self.options.Set("HlAmaCal", self.ignore_amacal.IsChecked()) + self.options.Set("HlNone", self.ignore_none.IsChecked()) + self.options.Set("StayOnTop", self.stay_ontop.IsChecked()) + self.options.Set("DarkMode", self.dark_mode.IsChecked()) + # Delete last outlist + self.options.Set("outlist", None) + # Write pickle container to disk + self.options.Save() + event.Skip() if event else False + + def OnQuit(self, e): + self.Close() + class App(wx.App): def OnInit(self): diff --git a/ignoredialog.py b/ignoredialog.py new file mode 100644 index 0000000..185f945 --- /dev/null +++ b/ignoredialog.py @@ -0,0 +1,153 @@ +# !/usr/local/bin/python3.6 +# MIT licensed +# Copyright (c) 2018 White Russsian +# Github: ********************** +''' Dialog to view and remove entities from PySpy's list of ignored +characters, corporations and alliances. +''' +# ********************************************************************** +import logging + +import wx +from wx.lib.mixins.listctrl import CheckListCtrlMixin, ListCtrlAutoWidthMixin + +import config +import sortarray +import statusmsg +# cSpell Checker - Correct Words**************************************** +# // cSpell:words russsian, ccp's, pyperclip, chkversion, clpbd, gui +# ********************************************************************** +Logger = logging.getLogger(__name__) +# Example call: Logger.info("Something badhappened", exc_info=True) **** + + +class CheckListCtrl(wx.ListCtrl, CheckListCtrlMixin, ListCtrlAutoWidthMixin): + + def __init__(self, parent): + wx.ListCtrl.__init__(self, parent, wx.ID_ANY, style=wx.LC_REPORT | + wx.SUNKEN_BORDER) + CheckListCtrlMixin.__init__(self) + ListCtrlAutoWidthMixin.__init__(self) + + +class IgnoreDialog(wx.Frame): + def __init__(self, parent, *args, **kwds): + kwds["style"] = (kwds.get("style", 0) | wx.CAPTION | wx.CLIP_CHILDREN | + wx.CLOSE_BOX | wx.FRAME_FLOAT_ON_PARENT | wx.RESIZE_BORDER) + wx.Frame.__init__(self, parent, *args, **kwds) + + self.Font = self.Font.Scaled(config.OPTIONS_OBJECT.Get("FontScale", 1)) + self.SetName("IgnoreDialog") + self.SetSize((400, 300)) + + self.ignoredList = CheckListCtrl(self) + self.ignoredList.InsertColumn(0, 'Name', width=180) + self.ignoredList.InsertColumn(1, 'ID', width=0) + self.ignoredList.InsertColumn(2, 'Type') + self.buttonPanel = wx.Panel(self, wx.ID_ANY) + self.appBtn = wx.Button(self.buttonPanel, wx.ID_OK, "Delete Selected Entries") + self.cnclBtn = wx.Button(self.buttonPanel, wx.ID_CANCEL, "Cancel Changes") + + self.Bind(wx.EVT_BUTTON, self.OnApply, id=self.appBtn.GetId()) + self.Bind(wx.EVT_BUTTON, self.OnCancel, id=self.cnclBtn.GetId()) + self.Bind(wx.EVT_CHAR_HOOK, self.OnHook) + + self.ignored_entities = config.OPTIONS_OBJECT.Get("ignoredList", default=[]) + self._populateList() + + self.__set_properties() + self.__do_layout() + + if config.OPTIONS_OBJECT.Get("StayOnTop", True): + self.Parent.ToggleWindowStyle(wx.STAY_ON_TOP) + self.ToggleWindowStyle(wx.STAY_ON_TOP) + + def __set_properties(self): + self.SetTitle("Review Ignored Entities") + # Colour Scheme Dictionaries + self.dark_dict = config.DARK_MODE + self.normal_dict = config.NORMAL_MODE + + # Colour Scheme + if not config.OPTIONS_OBJECT.Get("DarkMode", False): + self.bg_colour = self.normal_dict["BG"] + self.txt_colour = self.normal_dict["TXT"] + self.lne_colour = self.normal_dict["LNE"] + self.hl1_colour = self.normal_dict["HL1"] + else: + self.bg_colour = self.dark_dict["BG"] + self.txt_colour = self.dark_dict["TXT"] + self.lne_colour = self.dark_dict["LNE"] + self.hl1_colour = self.dark_dict["HL1"] + + # Set default colors + self.SetBackgroundColour(self.bg_colour) + self.SetForegroundColour(self.txt_colour) + self.ignoredList.SetBackgroundColour(self.bg_colour) + self.ignoredList.SetForegroundColour(self.txt_colour) + + # Window icon + icon = wx.Icon() + icon.CopyFromBitmap(wx.Bitmap(config.ICON_FILE, wx.BITMAP_TYPE_ANY)) + self.SetIcon(icon) + + def __do_layout(self): + main = wx.BoxSizer(wx.VERTICAL) + buttonSizer = wx.BoxSizer(wx.HORIZONTAL) + instrLbl = wx.StaticText(self, wx.ID_ANY, "Select entities to be removed from ignore list:", style=wx.ALIGN_LEFT) + main.Add(instrLbl, 0, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10) + main.Add(self.ignoredList, 1, wx.ALL | wx.EXPAND, 10) + buttonSizer.Add(self.appBtn, 1, wx.RIGHT, 5) + buttonSizer.Add(self.cnclBtn, 1, wx.LEFT, 5) + self.buttonPanel.SetSizer(buttonSizer) + main.Add(self.buttonPanel, 0, wx.ALIGN_BOTTOM | wx.BOTTOM | wx.EXPAND | wx.LEFT | wx.RIGHT, 10) + self.SetSizer(main) + self.Layout() + self.Centre() + + def _populateList(self): + idx = 0 + if self.ignored_entities == []: + return + if len(self.ignored_entities) > 1: + self.ignored_entities = sortarray.sort_array(self.ignored_entities, 2, 1) + for i in self.ignored_entities: + index = self.ignoredList.InsertItem(idx, i[1]) + self.ignoredList.SetItem(index, 1, str(i[0])) + self.ignoredList.SetItem(index, 2, i[2]) + idx += 1 + + def OnHook(self, event): + if event.GetKeyCode() == wx.WXK_ESCAPE: + self.OnCancel(event) + if event.GetKeyCode() == wx.WXK_RETURN: + self.OnApply(event) + else: + event.Skip() + + def OnApply(self, event): + num = self.ignoredList.GetItemCount() + for i in range(num): + if self.ignoredList.IsChecked(i): + id = int(self.ignoredList.GetItemText(i, 1)) + n = 0 + for r in self.ignored_entities: + if r[0] == id: + del self.ignored_entities[n] + n += 1 + config.OPTIONS_OBJECT.Set("ignoredList", self.ignored_entities) + self.Parent.updateList(config.OPTIONS_OBJECT.Get("outlist")) + self.Close() + + def OnCancel(self, event): + if config.OPTIONS_OBJECT.Get("StayOnTop", True): + self.Parent.ToggleWindowStyle(wx.STAY_ON_TOP) + self.Close() + + +def showIgnoreDialog(parent, evt=None): + app = wx.App(False) + frame = IgnoreDialog(parent=parent) + app.SetTopWindow(frame) + frame.Show() + app.MainLoop() diff --git a/optstore.py b/optstore.py index 6e79383..dae6242 100644 --- a/optstore.py +++ b/optstore.py @@ -67,6 +67,17 @@ def Set(self, key, value): ''' self._options[key] = value + def Del(self, key): + ''' + Deletes specified key in the dictionary object. + + :param `key`: existing key of the dictionary object; + ''' + try: + del self._options[key] + except: + raise Exception("ERROR: no such key: " + str(key)) + def Save(self): ''' Saves the dictionary object in a pickle file under the file name diff --git a/reportstats.py b/reportstats.py index 87509ea..5f94f66 100644 --- a/reportstats.py +++ b/reportstats.py @@ -8,7 +8,7 @@ # ********************************************************************** import json import logging -import os +import platform import threading import time @@ -36,7 +36,7 @@ def __init__(self, outlist, duration): self.daemon = True self._uuid = config.OPTIONS_OBJECT.Get("uuid") self._version = config.CURRENT_VER - self._platform = os.name + self._platform = platform.system() self._chars = str(len(outlist)) self._duration = str(duration) self._sh_faction = str(config.OPTIONS_OBJECT.Get("ShowFaction", True)) diff --git a/sortarray.py b/sortarray.py new file mode 100644 index 0000000..9db9658 --- /dev/null +++ b/sortarray.py @@ -0,0 +1,178 @@ +# !/usr/local/bin/python3.6 +# MIT licensed +# Copyright (c) 2018 White Russsian +# Github: ********************** +'''SortArray() provides functionality to sort an array (list of lists +or tuples) containing string or numeric values (or a mix thereof). +Ability to sort by two "columns", to break a tie in the primary sort +column. Can be case sensitive. +''' +# cSpell Checker - Correct Words**************************************** +# // cSpell:words russsian +# ********************************************************************** + + +class SortArrayError(Exception): + ''' + Base exception for any exceptions raised by SortArray. + ''' + def __init__(self, msg=None): + if msg is None: + # Set some default useful error message + msg = "SortArray encountered a problem and stopped." + super(SortArrayError, self).__init__(msg) + + +class OutOfBoundError(SortArrayError): + ''' + Gets raised when `prim_col` is greater than the last column in `array`. + ''' + def __init__(self, prim_col, sort_array): + prim_col = prim_col + array_columns = len(sort_array[0]) + msg = ( + "Sort column index (%s) exceeds number of columns in the unsorted input array (%s)." % (prim_col, array_columns) + ) + super(SortArrayError, self).__init__(msg) + + +class NothingToSortError(SortArrayError): + ''' + Gets raised when there are less than two sortable objects. + ''' + def __init__(self): + msg = ( + "The unsorted input array does not contain sufficient sortable values." + ) + super(SortArrayError, self).__init__(msg) + + +def _determineApproach(array, sort_col): + ''' + Takes an array (list of lists/tuples) and determines whether values + in a given column should be sorted as numbers or strings. Returns + a boolean which is True if column should be sorted as string and + False if to be sorted as float. + + :param `array`: A list of list or tuples. + + :param `sort_col`: The number of the sort column as integer. + + :return: Boolean indicating if sort type is string (True) or float + (False). + ''' + + if sort_col > len(array[0]): + raise OutOfBoundError(sort_col, array) + + # Check type of each element to be sorted_list + is_num = is_str = is_other = is_none = 0 + for r in array: + if isinstance(r[sort_col], (int, float)): + is_num += 1 + elif isinstance(r[sort_col], str): + try: + float(r[sort_col]) + is_num += 1 + except ValueError: + is_str += 1 + elif r[sort_col] is None: + is_none += 1 + else: + is_other += 1 + + # Make sure all elements are sortable, if not return TypeError + if is_other > 0: + raise TypeError + + # If any element is not or cannot be converted to a number, + # treat all elements as string. + elif is_str > 0: + sort_as_str = True + else: + sort_as_str = False + + # If there is nothing to sort, raise error. + if (is_num + is_str + is_none) < 2: + raise NothingToSortError + + return sort_as_str + + +def sort_array(array, prim_col, sec_col=None, prim_desc=False, sec_desc=False, case_sensitive=False): + ''' + Take an array (list of lists/tuples) with numeric or text values (or + mix of both) and sort it by a primary column and optionally by a + secondary column. It is tollerant to None values. + + :param `array`: List of lists or tuples containing strings + or numbers. + + :param `prim_col`: Index (integer) of primary sort column. + + :param `sec_col`: Index (integer) of secondary sort column. + + :param `prim_desc`: Boolean indicating sort order of primary sort + column(`True` for descending `False` for ascending) + + :param `sec_desc`: Boolean indicating sort order of secondary sort + column(`True` for descending `False` for ascending) + + :param `case_sensitive`: Boolean set to True if cases matters. + + :return: The sorted array as list of tuples. + ''' + + # Determine if we need to convert values to str or float + prim_is_str = _determineApproach(array, prim_col) + if sec_col is not None and sec_col != prim_col: + sec_is_str = _determineApproach(array, sec_col) + else: + sec_col = None + + # We mke use of the fact that sorted() is stable and first sort by + # the secondary sort column, if any, and then by the primary. + + # Secondary Sort -------------------------------------------------- + if sec_col is not None: + if sec_is_str and case_sensitive: + sorted_array = sorted( + array, + key=lambda r: str(r[sec_col]) if r[sec_col] is not None else "", + reverse=sec_desc + ) + elif sec_is_str and not case_sensitive: + sorted_array = sorted( + array, + key=lambda r: str(r[sec_col]).lower() if r[sec_col] is not None else "", + reverse=sec_desc + ) + else: + sorted_array = sorted( + array, + key=lambda r: float(r[sec_col]) if r[sec_col] is not None else float("-inf"), + reverse=sec_desc + ) + array = sorted_array + + # Primary Sort ----------------------------------------------------- + if prim_is_str and case_sensitive: + sorted_array = sorted( + array, + key=lambda r: str(r[prim_col]) if r[prim_col] is not None else "", + reverse=prim_desc + ) + elif prim_is_str and not case_sensitive: + sorted_array = sorted( + array, + key=lambda r: str(r[prim_col]).lower() if r[prim_col] is not None else "", + reverse=prim_desc + ) + else: + sorted_array = sorted( + array, + key=lambda r: float(r[prim_col]) if r[prim_col] is not None else float("-inf"), + reverse=prim_desc + ) + + return sorted_array