Skip to content

World of Warcraft combat log parsing library written in python, backed by sqlite

Notifications You must be signed in to change notification settings

elistevens/wowspi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Start
===========

Wowspi uses a launcher to set sys.path, etc:

$ ./wowspi --help
$ ./wowspi activitygraph.GraphRun --help

Installing
==========

Required packages
-----------------

* Python 2.6+, untested on higher
    http://www.python.org/
* Python Imaging Library (PIL) 1.1.6 
    http://www.pythonware.com/products/pil/

Optional packages
-----------------

* apostasis 
    http://code.google.com/p/apostasis/
* Perl 5, enough extra packages to run apostasis (see that project page).  I
    used perl 5 and have the PERL5LIB environment variable name hardcoded ATM.

Note: apostasis is a separate project; the maintainers are unaffiliated with
    wowspi.

Running
=======

Please insure that the python you are using is 2.6+; 2.5 or lower is explicitly
not supported (json support in particular, and sqlite3 for versions prior to
python 2.5).  Bug reports for higher versions of python welcome.

Command line arguments
----------------------

$ ./wowspi --help
Usage: wowspi [options] <module> [module options]
Try the following modules for more information:
    wowspi execution.ExecutionRun --help

Modules that implement intermediate steps (for internal use):
    wowspi basicparse.ParseRun --help
    wowspi combatgroup.CombatRun --help
    wowspi combatgroup.FakeDeathRun --help
    wowspi combatmetrics.AuraRun --help
    wowspi combatmetrics.CastRun --help
    wowspi combatmetrics.WipeRun --help
    wowspi combatmetrics.WoundRun --help
    wowspi stasisutils.CombatStasisMatchRun --help
    wowspi stasisutils.StasisRun --help

Options:
  -h, --help      show this help message and exit
  --profile=FILE  Use cProfile to profile the application while running; save
                  data to FILE.

$ ./wowspi activitygraph.GraphRun --help
Usage: wowspi activitygraph.GraphRun [options]

Options:
  -h, --help        show this help message and exit
  --stasisbin=PATH  Path to (Apo)StasisCL executable; will run stasis into
                    --stasisout.
  --stasisout=PATH  Path to base dir for (Apo)StasisCL parses.
  --date=DATE       Use DATE for standard log files and db names.  Overrides
                    --db and --log.
  --log=LOGFILE     Path to the WoWCombatLog.txt file.
  --armorydb=DB     Desired sqlite database output file name.
  --realm=REALM     Realm to use for armory data queries.
  --region=REGION   Region to use for armory data queries (www, eu, kr, cn,
                    tw).
  --css=NAME        Use color settings from etc/css.NAME.json to render
                    images.
  --db=OUTPUT       Desired sqlite database output file name.
  --force           Force reparsing from scratch.
  -v, --verbose     Print more output; may include debugging information not
                    intended for end-users.
        

In general, wowspi will attempt to not repeat steps in the processing chain
unless the --force option is given.

    $ ./wowspi activitygraph --log WoWCombatLog-2009-10-11_19-35-00.txt
        --db testparse/2009-10-11/events.db
        --stasisbin ../apostasis-read-only
        --stasisout testparse/2009-10-11
        --force

Performance
-----------

On the author's Mac Pro, parsing 4 hours of 10s raiding took about 20 minutes
from start to finish and peaked at around 60MB of RAM consumed (this includes
a full stasis parse).  Only very casual performance optimization has been
performed; in particular, DB use could be improved.

About

World of Warcraft combat log parsing library written in python, backed by sqlite

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published