Project 1999

Project 1999 (/forums/index.php)
-   Technical Discussion (/forums/forumdisplay.php?f=40)
-   -   EQ Alert - Log Parser (/forums/showthread.php?t=403337)

Indefinite 05-21-2022 08:16 PM

EQ Alert - Log Parser
 
EQ Alert - A Configurable and Context Driven Project 1999 Log Parser with NCurses Interface (for Linux)

I've been periodically chipping away at a parser over the last 5 years with the goal of putting something together that can eventually understand every type of line in this games log file, and sometimes doing something about that.

https://i.imgur.com/TtUwq12.png

Features as of 3.1.3:
- All python
- TUI
- google TTS
- config.json to customize alerts
- character state
- encounter parsing
- /say commands
- default zone timers
- metronome

Installation:

$ pip3 install eqalert

or

$ git clone git@github.com:mgeitz/eqalert.git
$ cd eqalert
$ python3 setup.py install --user

More Information:

Source code & Readme: https://github.com/mgeitz/eqalert

Road Map: https://github.com/mgeitz/eqalert/projects

Contributing:

If you're interested in contributing in any way to this project, please do! As of version 3.1.3 there are ~598 elif statements!

Issues & Requests: https://github.com/mgeitz/eqalert/issues

Contributing: https://github.com/mgeitz/eqalert/bl...ONTRIBUTING.md

loramin 05-21-2022 09:01 PM

https://i.imgur.com/dX8DJRG.gif

Graahle 05-22-2022 12:29 PM

This looks immense!

Jibartik 05-22-2022 12:42 PM

Lets hook it up to a learning computer!

https://i.imgur.com/oq3ZHba.png

Indefinite 06-21-2022 05:32 PM

Just about all spell text should be matched by the parser now as of version 3.2.5!

Loiterius 06-21-2022 06:19 PM

Impressive!

sharkukri 09-22-2022 11:45 PM

Looks promising! Will try it out

Indefinite 09-25-2022 04:02 PM

Version 3.3.5 added features:
  • Auto-set character
  • Consider Evaluation
  • Default config alerts when a spell drops or refreshes from your spell bar
  • Timer persistance between restarts

If you have any thoughts, feature requests, or issues please let me know - I'll get anything not yet on the road map added!

sharkukri 10-03-2022 05:36 AM

Quote:

Originally Posted by Indefinite (Post 3510082)
Version 3.3.5 added features:
  • Auto-set character
  • Consider Evaluation
  • Default config alerts when a spell drops or refreshes from your spell bar
  • Timer persistance between restarts

If you have any thoughts, feature requests, or issues please let me know - I'll get anything not yet on the road map added!

Is there a specific version of Python this only works under? Attempting to run things on Gentoo with kernel 5.19.11 and Python version 3.10.7 throws the following errors

Code:

write config line alert: Error on line13130: not enough arguments for format string
config read: Error on line 70: Expecting value: line 1 column 1 (char 0)
Unfortunately, the startup step failed with: 73: 'NoneType' object has no attribute 'settings'# Sometimes this is solved by forcing config regeneration

Installing via pip3 directly and from cloning the git repo and manually installing both threw the errors above. I attempted to copy and past a config into the file but every time I attempt to run it the file is overwritten and made empty.

Edit: missed a "s"

Indefinite 10-03-2022 03:21 PM

I'm using python version 3.7.3 when running locally. Looking at the error it seems like the following might not be working as expected:

```
import pkg_resources
version = str(pkg_resources.get_distribution("eqalert").vers ion)
print(version)
```

I'll get an issue added to the repo to track this down; there's probably a better way to report the package version than the first thing I found through google and the python requires in setup.py should be narrowed to a tested range rather than >3.

Just in case it's helpful, here is a gist to each generated config file. Everything should be set to directly copy down sans the settings.json file, you'll want to spot check the paths set in there. If it is an issue with pkg_resources, I'd expect starting things up with the configs will get it far enough to initialize logging and might provide better debug output in ~/.eqa/log/eqalert.log

EQ Alert 3.3.5 Config Files (Settings has placeholder values):
~/.eqa/config/settings.json
~/.eqa/config/zones.json
~/.eqa/config/line-alerts/chat-received.json
~/.eqa/config/line-alerts/chat-received-npc.json
~/.eqa/config/line-alerts/chat-sent.json
~/.eqa/config/line-alerts/combat.json
~/.eqa/config/line-alerts/command-output.json
~/.eqa/config/line-alerts/emotes.json
~/.eqa/config/line-alerts/group-system-messages.json
~/.eqa/config/line-alerts/loot-trade.json
~/.eqa/config/line-alerts/other.json
~/.eqa/config/line-alerts/pets.json
~/.eqa/config/line-alerts/spell-general.json
~/.eqa/config/line-alerts/spell-specific.json
~/.eqa/config/line-alerts/system-messages.json
~/.eqa/config/line-alerts/who.json

I think that should be each of the config files which keep the version string in them for regeneration following new versions.


All times are GMT -4. The time now is 03:58 AM.

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.