These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Reverence - 100% compatible EVE cache library for Python

First post
Author
Entity
X-Factor Industries
Synthetic Existence
#61 - 2012-06-17 09:25:06 UTC  |  Edited by: Entity
Christopher Crusman wrote:
It turns out I actually wasn't running the latest Reverence (due to being very not good with Git - I'd downloaded a newer version manually, but hadn't done it through Git so I believe I was still using the old one), but I've now fixed that (updating to the version released April 4 2012) and the problem remains.


Run this, might shed some light on what's going wrong.


EVEPATH = "G:/EVE" # change to your install folder :P

from reverence import blue

eve = blue.EVE(EVEPATH)
cache = eve.getcachemgr()

print "Protocol version :", cache.machoVersion
print "Installation Root :", cache.root
print "Installation Bulkdata :", cache.BULK_SYSTEM_PATH
print "AppData Cache Root :", cache.cachepath
print "AppData MachoNet Cache :", cache.machocachepath
print "AppData Bulkdata Updates:", cache.BULK_CACHE_PATH

╦......║...╔╗.║.║.╔╗.╦║.╔╗╔╦╗╔╗

║.╔╗╔╗╔╣.╔╗╠..╠ ╠╗╠╝.║╠ ╠╝║║║╚╗

╩═╚╝║.╚╝.╚╝║..╚╝║║╚╝.╩╚╝╚╝║.║╚╝

Got Item?

Christopher Crusman
Brutor Tribe
Minmatar Republic
#62 - 2012-06-17 16:36:52 UTC
That check crashes out on the third and sixth print lines, with AttributeError: "CacheMgr instance has no attribute 'BULK_SYSTEM_PATH'" (for the third line; BULK_CACHE_PATH for the final line).

If I comment those lines out, the output is as follows (username redacted):

Using filepath format 1 (EVE install directory):

Protocol version : 329
Installation Root : C:\Program Files (x86)\CCP\EVE
AppData Cache Root : C:\Users\[REDACTED]\AppData\Local\CCP\EVE\c_program_files_(x86)_ccp_eve_tranquility\cache
AppData MachoNet Cache : C:\Users\[REDACTED]\AppData\Local\CCP\EVE\c_program_files_(x86)_ccp_eve_tranquility\cache\MachoNet\87.237.38.200\329

Using filepath format 2 (AppData chain):

Protocol version : 329
Installation Root : C:\Users\[REDACTED]\AppData\Local\CCP\EVE\c_program_files_(x86)_ccp_eve_tranquility
AppData Cache Root : C:\Users\[REDACTED]\AppData\Local\CCP\EVE\c_program_files_(x86)_ccp_eve_tranquility\cache
AppData MachoNet Cache : C:\Users\[REDACTED]\AppData\Local\CCP\EVE\c_program_files_(x86)_ccp_eve_tranquility\cache\MachoNet\87.237.38.200\329

Does it need to be pointed manually to my C:\Program Files (x86)\CCP\EVE\bulkdata directory in some way to access the bulkdata properly? (There's also a bulkdata folder in the AppData chain, but all subfolders are completely empty, save for an old one with a 'version' file.)

Thanks again :)
Entity
X-Factor Industries
Synthetic Existence
#63 - 2012-06-17 19:38:08 UTC
Christopher Crusman wrote:
That check crashes out on the third and sixth print lines, with AttributeError: "CacheMgr instance has no attribute 'BULK_SYSTEM_PATH'" (for the third line; BULK_CACHE_PATH for the final line).


You still don't have the latest version installed. Roll

Do you have multiple python installs and installed to the wrong one perhaps? Or is your .py filetype pointing at the wrong version? As the only way you will get that AttributeError is if you do not have Reverence 1.4.2 installed Cry

╦......║...╔╗.║.║.╔╗.╦║.╔╗╔╦╗╔╗

║.╔╗╔╗╔╣.╔╗╠..╠ ╠╗╠╝.║╠ ╠╝║║║╚╗

╩═╚╝║.╚╝.╚╝║..╚╝║║╚╝.╩╚╝╚╝║.║╚╝

Got Item?

Christopher Crusman
Brutor Tribe
Minmatar Republic
#64 - 2012-06-17 20:07:00 UTC
...*headdesk*

Yeah, looks like I tricked myself a more different way and hadn't actually installed it. It appears to work perfectly now, sorry for wasting your time <_<
Vaerah Vahrokha
Vahrokh Consulting
#65 - 2012-06-19 16:40:16 UTC  |  Edited by: Vaerah Vahrokha
I noticed my Reverence stopped working.
Is the windows installer current or do I have to download it from source? I am not so much into Python, I am not sure about how to install it manually.


Edit: It looked too easy to be true.

It requires Visual Studio, something I will never install on a gaming computer.

Any way to compile it on a dev computer and then putting it in the gaming computer?
Vaerah Vahrokha
Vahrokh Consulting
#66 - 2012-06-19 17:39:12 UTC
OK, I compiled it with VS 2010 express but it kept not finding vcvarsall.bat until I fooled Python 2.7 with:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Now, if Entity could please tell me how to carry over the compiled Reverence in my gaming computer I'd be happy.
Entity
X-Factor Industries
Synthetic Existence
#67 - 2012-06-19 23:14:11 UTC
Vaerah Vahrokha wrote:
OK, I compiled it with VS 2010 express but it kept not finding vcvarsall.bat until I fooled Python 2.7 with:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Now, if Entity could please tell me how to carry over the compiled Reverence in my gaming computer I'd be happy.


Does that actually run? Somehow I doubt that, because it gets linked with the wrong runtime dll. Python 2.7 was compiled with VC 2008 and you should use that to compile reverence.

To install it you simply run this from reverence's root:
python setup.py install

What problems were you having anyway, because the 1.4.2 version should work fine for most people.

╦......║...╔╗.║.║.╔╗.╦║.╔╗╔╦╗╔╗

║.╔╗╔╗╔╣.╔╗╠..╠ ╠╗╠╝.║╠ ╠╝║║║╚╗

╩═╚╝║.╚╝.╚╝║..╚╝║║╚╝.╩╚╝╚╝║.║╚╝

Got Item?

Tseehn Marhn
Rat Duck
#68 - 2012-06-20 04:17:12 UTC
Has anyone ported this to VB? If not I think I may give it a go.

I've never used python, so I'm sure I'll be back with questions. Sorry in advance.
Vaerah Vahrokha
Vahrokh Consulting
#69 - 2012-06-20 04:58:04 UTC
Entity wrote:
Vaerah Vahrokha wrote:
OK, I compiled it with VS 2010 express but it kept not finding vcvarsall.bat until I fooled Python 2.7 with:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Now, if Entity could please tell me how to carry over the compiled Reverence in my gaming computer I'd be happy.


Does that actually run? Somehow I doubt that, because it gets linked with the wrong runtime dll. Python 2.7 was compiled with VC 2008 and you should use that to compile reverence.

To install it you simply run this from reverence's root:
python setup.py install

What problems were you having anyway, because the 1.4.2 version should work fine for most people.


It runs just fine, I used it to create this chart and as you can see it includes the current day price (the untrimmed last bar).

What I need is just to take this compiled Reverence that works on my development PC and copy it over my gaming PC, which is the one where EvE is officially installed.
Therefore the python setup.py install won't work, as it'd try and recompile the C sources again.

Basically what I'd like to do is like when you compiled a library in Linux and copy it on another box (along with dependencies of course).
I suppose I have to copy the installed folder but then how do I "register" it in the other computer's Python?
Desmont McCallock
#70 - 2012-06-20 07:43:21 UTC
Tseehn Marhn wrote:
Has anyone ported this to VB? If not I think I may give it a go.

I've never used python, so I'm sure I'll be back with questions. Sorry in advance.
There is a .NET equivalent at https://forums.eveonline.com/default.aspx?g=posts&t=83425
Entity
X-Factor Industries
Synthetic Existence
#71 - 2012-06-20 16:01:50 UTC
Vaerah Vahrokha wrote:
Basically what I'd like to do is like when you compiled a library in Linux and copy it on another box (along with dependencies of course).
I suppose I have to copy the installed folder but then how do I "register" it in the other computer's Python?


You should be able to simply copy the reverence folder in site-packages over to the other machine. Reverence has no dependencies.

╦......║...╔╗.║.║.╔╗.╦║.╔╗╔╦╗╔╗

║.╔╗╔╗╔╣.╔╗╠..╠ ╠╗╠╝.║╠ ╠╝║║║╚╗

╩═╚╝║.╚╝.╚╝║..╚╝║║╚╝.╩╚╝╚╝║.║╚╝

Got Item?

Vaerah Vahrokha
Vahrokh Consulting
#72 - 2012-06-21 09:31:02 UTC
Confirming that it's possible to compile Reverence on a development computer and then just copy these files over:

\Python27\lib\site-packages\reverence\*.*
\Python27\lib\site-packages\reverence-X.Y.Z-py2.7.egg-info

It is working despite I don't have the VS 2010 runtime libraries on the gaming computer, maybe it's just using statically compiled code or is just calling functions with the same signature.
Matt Davidge
The Scope
Gallente Federation
#73 - 2012-06-25 01:20:41 UTC
I try to install Autodumper long time but it never worked. I have a black screen without text when I start main.py. I am almost convinced that reference is installed correctly.

I download and reinstall today:

Python 2.7 32 bit
reference 1.4.2
Win32con (pywin32-py2.7-214.win32)
Autodumper + edition of the directory in the header + IssueDate + correction.

I am not a programmer but I've read everything on the web and I have no solution.

I use Windows Vista 64bit. I also install Python 2.6 with 2.7. But I can assure you that when installing Reference and Win32con, although they pointed to my version 2.7

Can someone help me please? Send me a newer version Autodumper?
Thart
Caldari Provisions
Caldari State
#74 - 2012-06-25 17:55:49 UTC
Recently I've discovered that market cache reading tool from EVE Market Tools (based on Reverence) works strangely. In EVE Mentat it works together with JavaScript-based scanner. At the moment tool every time extracts different numbers of market files.

I've investigated that EVE Online client creates a file for every "view market" operation in folder \cache\MachoNet\87.237.38.200\330\CachedMethodCalls, but these files dissapear after a while! Each market file lives for 15-45 secs.

I suspect it's some kind of optimization of cache in EVE Online client.

Entity, do you know something about this? Any workarounds?

EVE Mentat - true trade tool

malaire
#75 - 2012-06-26 07:00:31 UTC
Thart wrote:
I've investigated that EVE Online client creates a file for every "view market" operation in folder \cache\MachoNet\87.237.38.200\330\CachedMethodCalls, but these files dissapear after a while! Each market file lives for 15-45 secs.

Are you sure you don't have any program reading & deleting those files automatically? Note that after 1.7 update EVEMon works as market uploader and this is activated by default. (I didn't check if it deletes files after uploading them.)

New to EVE? Don't forget to read: The Manual * The Wiki * The Career Options * and everything else

Thart
Caldari Provisions
Caldari State
#76 - 2012-06-26 07:16:31 UTC  |  Edited by: Thart
malaire wrote:
Thart wrote:
I've investigated that EVE Online client creates a file for every "view market" operation in folder \cache\MachoNet\87.237.38.200\330\CachedMethodCalls, but these files dissapear after a while! Each market file lives for 15-45 secs.

Are you sure you don't have any program reading & deleting those files automatically? Note that after 1.7 update EVEMon works as market uploader and this is activated by default. (I didn't check if it deletes files after uploading them.)

Yes, I use latest EVEMon.
Thank you. I'll check it soon.

BTW, EO EULA prohibits cache modification by third-parties. So I'll be very surprised if EVEMon does that.

EVE Mentat - true trade tool

Thart
Caldari Provisions
Caldari State
#77 - 2012-06-26 07:38:04 UTC
malaire wrote:
Are you sure you don't have any program reading & deleting those files automatically? Note that after 1.7 update EVEMon works as market uploader and this is activated by default. (I didn't check if it deletes files after uploading them.)

You was right!
EVEMon eats cache files when unified market uploader is active. Shocked

EVE Mentat - true trade tool

Makari Aeron
Imperial Shipment
Amarr Empire
#78 - 2012-06-28 00:42:24 UTC  |  Edited by: Makari Aeron
Hello, I continue to receive this error from the 1.4.2 install from github. Not quite sure what to do. (forums wouldn't let me post the traceback. GJ to the forums team for that)

http://pastie.org/4163047

Thanks,
Makari

EDIT: I have my input and output paths set correctly and I have not changed the output mode from XML>

CCP RedDawn: Ugly people are just playing life on HARD mode. Personally, I'm playing on an INFERNO difficulty.

CCP Goliath: I often believe that the best way to get something done is to shout at the person trying to help you. http://goo.gl/PKGDP

Atsui Stenier-Tri
Federal Navy Academy
Gallente Federation
#79 - 2012-06-28 13:07:58 UTC
Hi, and first up:
Many Kudos to you sir, great work.
The sources never lie, you really know your stuff. Cool

just a dumb question:
do the CachedMethodCalls files somewhere contain a timestamp on when the function was called/values were returned?
If so, how to extract it?

if this already has been asked: forgiveth my humble self.
Entity
X-Factor Industries
Synthetic Existence
#80 - 2012-06-28 21:15:08 UTC
Makari Aeron wrote:
Hello, I continue to receive this error from the 1.4.2 install from github. Not quite sure what to do. (forums wouldn't let me post the traceback. GJ to the forums team for that)

http://pastie.org/4163047

Thanks,
Makari

EDIT: I have my input and output paths set correctly and I have not changed the output mode from XML>


You're probably using a 64bit python? The installers only work for 32bit python. (Though I'll upload some 64bit installers soon™)

╦......║...╔╗.║.║.╔╗.╦║.╔╗╔╦╗╔╗

║.╔╗╔╗╔╣.╔╗╠..╠ ╠╗╠╝.║╠ ╠╝║║║╚╗

╩═╚╝║.╚╝.╚╝║..╚╝║║╚╝.╩╚╝╚╝║.║╚╝

Got Item?