Author |
Topic |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.03 01:59:00 - [ 1]
Edited by: Entity on 08/09/2011 18:16:08PLEASE USE THE THREAD ON THE NEW FORUMS HERE:https://forums.eveonline.com/default.aspx?g=posts&t=6501___________________________________________________________________ Hi, I've been sitting on this for quite while, but only recently CCP gave the green light for releasing what has been my pet project for many years. So, I hereby proudly introduce.... RΞVΞRENCEREVERse ENgineered Cache ExplorerThis is a strictly x86/x64 Python 2.6 library (Python 3.x support maybe in the future), targeted mainly at developers using Windows, although it has been tested successfully on Linux. FEATURES
- High-performance iterative cache/bulkdata decoder.
- 100% compatibility with all bulkdata, cache and settings files.
- Programmatic access to data tables.
- Transparent loading of bulkdata on accessing tables.
- Simultaneous handling of data from multiple EVE installations/versions.
- Container classes for all data items found in cache and bulkdata.
- Offline RemoteSvc calls, provided the relevant cachefiles exist. Note that this software DOES NOT interact with the EVE Online client or server.
- EmbedFS (.stuff) file support.
- Various EVE related utility functions and constants.
The library provides programmers with an interface very similar to what EVE uses itself under the hood (yes, CCP reviewed the code and actually didn't mind it), with some variations where I deemed necessary for usability, efficiency, etc, as EVE was never designed to operate on the dataset of multiple EVE installations at once. It's licensed under the terms of the BSD license so you can do almost anything you want with it (if you're mad enough to port it to other languages, let me know!) DOWNLOADThe project is available on github here: http://github.com/ntt/reverenceThere's a windows installer and source distribution in the downloads section. USAGESome examples have been provided (see link above), and some instructions are in the README.txt in the distribution. You'll have to excuse me for the lack of depth of the documentation, but this has been a fairly rapidly changing project over its lifetime (it 'settled' only recently). I'll probably write more thorough documentation Soon™. I hope you'll enjoy this thing as much as I did creating it. THANKSSpecial thanks go to CCP for granting permission to release this product, even though it is heavily inspired by EVE Online's design. |
 Arkady Sadik Minmatar Electus Matari |
Posted - 2009.10.03 02:37:00 - [ 2]
Thank you very much, Entity. This is awesome.
Also, thank you very much, CCP, for allowing this to be published. Not many companies would do that. |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.03 04:06:00 - [ 3]
Note that there currently appears to be an issue when attempting to load the entire CachedMethodCalls folder (may cause python to crash), so there's something in there that doesn't play nice. I'll get on that later. For now just don't try to load that particular folder.
This isn't something normally done anyway, so it will not affect most people at all :) |
 Kaladr Amarr |
Posted - 2009.10.03 05:56:00 - [ 4]
Thanks a lot for this Entity. May Reverence and libevecache pave the way toward a more glorious future  (I'll have to borrow some features of course ;)) |
 Chyzwar Amarr |
Posted - 2009.10.03 10:51:00 - [ 5]
Hmmm very interesting stuff here but:
running install running build running build_py running build_ext building 'reverence._blue' extension error: Unable to find vcvarsall.bat
I suppose it was because of the absence of visual studio compiler, right?
|
 Robacz Essence Enterprises
|
Posted - 2009.10.03 11:38:00 - [ 6]
Edited by: Robacz on 03/10/2009 12:50:45
Thank you for releasing this. |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.03 13:36:00 - [ 7]
Edited by: Entity on 03/10/2009 13:41:14 Originally by: Chyzwar Amarr Hmmm very interesting stuff here but:
error: Unable to find vcvarsall.bat
I suppose it was because of the absence of visual studio compiler, right?
Yeah, use the installer, or download MS VC++ 9.0 Express (it's free anyway) Originally by: Kaladr (I'll have to borrow some features of course ;))
On a side note: Reverence is a play on Reference (intentional)  |
 Rilwar BlackStar Industrial
|
Posted - 2009.10.03 13:56:00 - [ 8]
This = The AwesomeSauce v2.0
It's part amazing, and part holy ****. \o/
If you didn't already own every ISK in EVE I'd send you some =x
|
 Vessper Indicium Technologies Hephaestus Forge Alliance |
Posted - 2009.10.05 20:59:00 - [ 9]
Nice work! Just been playing around with it and found an issue but I couldn't find how to post an issue on the website without subscribing to some plan! Anyway, the calculation of the cache location in Windows is incorrect when using folders containing a space (e.g. Program Files). This seems to be resolved by altering the cache.py file to state: if os.name == "nt": cacheFolderName = root.lower().replace(":", "").replace("\\", "_").replace(" ","_")
|
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.05 22:47:00 - [ 10]
Originally by: Vessper Anyway, the calculation of the cache location in Windows is incorrect when using folders containing a space (e.g. Program Files). This seems to be resolved by altering the cache.py file to state:
if os.name == "nt": cacheFolderName = root.lower().replace(":", "").replace("\\", "_").replace(" ","_")
Fixed, thanks |
 Matthias Dete Oursulaert Industries |
Posted - 2009.10.08 19:51:00 - [ 11]
So... I've installed Python and Reverence...
Can someone explain to me where it's installed and how to get it to work?
Thanks
|
 Matthias Dete Oursulaert Industries |
Posted - 2009.10.08 20:17:00 - [ 12]
Hmm... kinda got it working (was problems with the cache not being in the right place in Windows 7)
When iterating over the invTypes however, now and then i get:
UnicodeEncodeError: `charmap` codec can't encode character u'\u2013' in position 8: character maps to <undefined>
Any suggestions... |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.09 01:46:00 - [ 13]
Originally by: Matthias Dete Hmm... kinda got it working (was problems with the cache not being in the right place in Windows 7)
When iterating over the invTypes however, now and then i get:
UnicodeEncodeError: `charmap` codec can't encode character u'\u2013' in position 8: character maps to <undefined>
Any suggestions...
Uh, names and descriptions can contain unicode characters. if your means of displaying cant handle it (such as cmd.exe console), you get that sort of error. |
 LarcatOfRens |
Posted - 2009.10.19 02:43:00 - [ 14]
Is this useable for a non IT-Person to extract market history date?
High/Low/Volume/Average.
-Larcat |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.26 02:07:00 - [ 15]
version 1.0.1 is now available (see OP). This version fixes the aforementioned crash bug.
|
 Tonto Auri Vhero' Multipurpose Corp
|
Posted - 2009.10.26 22:47:00 - [ 16]
I'd like to ask simple question... could it allow me to write settings files back so EVE could read them? I *really* hate the times when CCP throwing away my time spent on setting up interface, I want some way to keep it intact through CCP's carelessness. |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.10.28 04:10:00 - [ 17]
Originally by: Tonto Auri I'd like to ask simple question... could it allow me to write settings files back so EVE could read them?
Nope. This library doesn't and won't include write capability, as that's a bit dodgy (EULA forbids modifying game files). I would recommend simply backing up your settings files instead :) |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2009.12.19 15:11:00 - [ 18]
Oddly enough nobody seems to have issues with this toolkit?!
How about feature suggestions then? :P
|
 Catari Taga Centre Of Attention Middle of Nowhere |
Posted - 2009.12.19 16:32:00 - [ 19]
Edited by: Catari Taga on 19/12/2009 16:33:45 Originally by: Entity Oddly enough nobody seems to have issues with this toolkit?!
How about feature suggestions then? :P
It probably does not have many users. I tried it and it worked fine and indeed without issues, great job! If you are looking to do more work on it how about a function to dump entire tables in datadump compatible sql/mysql format? That's probably what most people want from it anyway. |
 Cyaxares II |
Posted - 2010.02.11 23:35:00 - [ 20]
Extracting market history data with reverence Linkage. |
 Femaref Armageddon Day WE FORM VOLTRON |
Posted - 2010.02.14 01:11:00 - [ 21]
Originally by: Catari Taga Edited by: Catari Taga on 19/12/2009 16:33:45
Originally by: Entity Oddly enough nobody seems to have issues with this toolkit?!
How about feature suggestions then? :P
It probably does not have many users. I tried it and it worked fine and indeed without issues, great job!
If you are looking to do more work on it how about a function to dump entire tables in datadump compatible sql/mysql format? That's probably what most people want from it anyway.
If you'd check around the examples, there already is one doing exactly that. |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2010.04.02 12:42:00 - [ 22]
Anti-thread-expire bump :)
I may have to release an update soon™ with the planetary interaction stuff coming in...
|
 Catari Taga Centre Of Attention Middle of Nowhere |
Posted - 2010.04.02 13:44:00 - [ 23]
Edited by: Catari Taga on 02/04/2010 13:45:06Hadn't seen this post: Originally by: Femaref If you'd check around the examples, there already is one doing exactly that.
Not quite, I was proposing a datadump compatible format, which the example does not quite provide (you would basically need to add a static table to the tool with the current datadump format and the relationships and keep that updated after every change to the structure of either the dump or the game data). Also there is a bug with the example in that it does not add the ";" terminator after each insert. Originally by: Entity Anti-thread-expire bump :) I may have to release an update soon™ with the planetary interaction stuff coming in...
Since you bumped it, I always meant to post an issue I had with making it work on non-TQ installs because at least on my system the cache folder is different than what your program was expecting. To make it work I replaced line 94 in cache.py with the following: if servername == "tranquility": cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName, "cache") else: cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName + "_" + serverip, "cache")
|
 Entity X-Factor Industries Synthetic Existence |
Posted - 2010.04.02 13:56:00 - [ 24]
Originally by: Catari Taga
Originally by: Entity Anti-thread-expire bump :) I may have to release an update soon™ with the planetary interaction stuff coming in...
Since you bumped it, I always meant to post an issue I had with making it work on non-TQ installs because at least on my system the cache folder is different than what your program was expecting. To make it work I replaced line 94 in cache.py with the following:
if servername == "tranquility": cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName, "cache") else: cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName + "_" + serverip, "cache")
I would guess that's because there's 2 ways to fire up sisi and they both produce a different folder (by name and by ip). I'll have to think of something clever to get around that :P |
 Catari Taga Centre Of Attention Middle of Nowhere |
Posted - 2010.04.02 14:21:00 - [ 25]
Edited by: Catari Taga on 02/04/2010 14:41:22Edited by: Catari Taga on 02/04/2010 14:38:26 Originally by: Entity I would guess that's because there's 2 ways to fire up sisi and they both produce a different folder (by name and by ip). I'll have to think of something clever to get around that :P
It's possible, I hadn't realized it depended on that. So the correct fix would then be this: cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName + "_" + serverip, "cache") if not os.path.exists(cachepath): cachepath = os.path.join(path_buf.value, "CCP", "EVE", cacheFolderName + "_" + servername.lower(), "cache") line 88 gets removed. Thanks again for the library btw, it's been very useful. |
 Miss AmarrPriceCheck |
Posted - 2010.05.08 17:59:00 - [ 26]
This library is excellent and I look forward to its Tyrannis update. Thanks, Entity! |
 Ix Forres Caldari Righteous Chaps
|
Posted - 2010.05.08 19:35:00 - [ 27]
Originally by: Miss AmarrPriceCheck This library is excellent and I look forward to its Tyrannis update. Thanks, Entity!
Shouldn't need updating for Tyrannis, should work out of the box. |
 Miss AmarrPriceCheck |
Posted - 2010.05.10 19:44:00 - [ 28]
Originally by: Ix Forres
Originally by: Miss AmarrPriceCheck This library is excellent and I look forward to its Tyrannis update. Thanks, Entity!
Shouldn't need updating for Tyrannis, should work out of the box.
Oh, I was just going by what Entity said, above: "I may have to release an update soon™ with the planetary interaction stuff coming in..." If it continues to work fine on patch day, all the better. |
 Entity X-Factor Industries Synthetic Existence |
Posted - 2010.05.10 20:46:00 - [ 29]
|
 cinderbrood Caldari Knights of Nii The 20 Minuters |
Posted - 2010.05.15 04:37:00 - [ 30]
Edited by: cinderbrood on 15/05/2010 04:38:11 Will we ever see a pure python version of this without the c/c++ extensions?
(I want to run this on IronPython) but alas they lack .pyd support.
Ie will we ever see a pure python version of your blue.pyd?
would open up cache support to the .net world as well. (albeit in a hacky manner) |