open All Channels
seplocked EVE Technology Lab
blankseplocked Reverence - 100% compatible EVE cache library for Python
 
This thread is older than 90 days and has been locked due to inactivity.


 
Pages: 1 2 [3] 4 5 6 7

Author Topic

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.08.21 13:08:00 - [61]
 

Hm well I couldn't find any problems with the 2.7 build.

git updated, I'll put a 2.7 binary distribution Soon™

Lady Rensa
Posted - 2010.09.02 23:38:00 - [62]
 

Originally by: Entity
I'll put a 2.7 binary distribution Soon™


This would be great, thank you.

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.09.04 11:43:00 - [63]
 

2.6 and 2.7 binaries now available.

Fixed some stuff as well:
- Reverence now attempts to import modules from its own package folder first before trying a global import to avoid conflicts with other packages.
- Automatic cache path discovery now slightly more intelligent and won't be fooled by an empty cache folder in client installs when there's one in %LOCALAPPDATA%.


Xendrais
Posted - 2010.10.10 02:20:00 - [64]
 

Very nice library Smile

Since the last patch 1.1, I get the following error:

Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "C:\Python27\lib\site-packages\reverence\config.py", line 376, in __get__ value = self.method(obj)
File "C:\Python27\lib\site-packages\reverence\config.py", line 388, in method return self._loadbulkdata(tableName=(tableName or attrName), storageClass=storageClass, rowClass=rowClass, primaryKey=primaryKey)
File "C:\Python27\lib\site-packages\reverence\config.py", line 740, in _loadbulkdata obj = self.cache.LoadObject(fullTableName)
File "C:\Python27\lib\site-packages\reverence\cache.py", line 285, in LoadObject raise RuntimeError("cache file not found: %s" % fileName)
RuntimeError: cache file not found: ce99.cache


This file "ce99.cache" exists in CachedObjects but not in CachedMethodCalls.

Any idea why and suggestions to correct?

Thanks

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.10.13 17:18:00 - [65]
 

Originally by: Xendrais
Very nice library Smile

Since the last patch 1.1, I get the following error:

Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "C:\Python27\lib\site-packages\reverence\config.py", line 376, in __get__ value = self.method(obj)
File "C:\Python27\lib\site-packages\reverence\config.py", line 388, in method return self._loadbulkdata(tableName=(tableName or attrName), storageClass=storageClass, rowClass=rowClass, primaryKey=primaryKey)
File "C:\Python27\lib\site-packages\reverence\config.py", line 740, in _loadbulkdata obj = self.cache.LoadObject(fullTableName)
File "C:\Python27\lib\site-packages\reverence\cache.py", line 285, in LoadObject raise RuntimeError("cache file not found: %s" % fileName)
RuntimeError: cache file not found: ce99.cache


This file "ce99.cache" exists in CachedObjects but not in CachedMethodCalls.

Any idea why and suggestions to correct?

Thanks


Reverence might be confused about the location of the cache (can happen if you use /LUA:OFF).
Also, it seems that one of the patches cleaned out the client's BulkData folder. Which means that if you have not logged in properly at least once, reverence would give that sort of error.
So, does it still fail? As my copy seems to work just fine.



Xendrais
Posted - 2010.10.14 14:28:00 - [66]
 

Originally by: Entity


Reverence might be confused about the location of the cache (can happen if you use /LUA:OFF).
Also, it seems that one of the patches cleaned out the client's BulkData folder. Which means that if you have not logged in properly at least once, reverence would give that sort of error.
So, does it still fail? As my copy seems to work just fine.





Thanks for your time.

I do not use the /LUA:OFF switch.

I checked and found two things:

1) The file ce99.cache is sometimes like 1,059 Kbytes long and sometimes less than 1 Kb long. Reverence work ok with the 1,059 Kb file. I believe it means the file gets overwritten sometimes.

2) Also under MachoNet, there are now two groups of folders: 87.237.38.200\247 and 127.0.0.1\249

The later group is the most current one. Reverence does not find this group but only the first one! Thus giving old information...

Any more idea?

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.10.14 18:17:00 - [67]
 

Originally by: Xendrais
2) Also under MachoNet, there are now two groups of folders: 87.237.38.200\247 and 127.0.0.1\249

The later group is the most current one. Reverence does not find this group but only the first one! Thus giving old information...

Any more idea?


127.0.0.1? what? are you running EVE through a local proxy or something?
You'll have to use eve=blue.EVE(server="127.0.0.1") to access the data from there then.

Xendrais
Posted - 2010.10.15 20:08:00 - [68]
 

Edited by: Xendrais on 15/10/2010 21:14:58
Originally by: Entity


127.0.0.1? what? are you running EVE through a local proxy or something?
You'll have to use eve=blue.EVE(server="127.0.0.1") to access the data from there then.



Thanks for the tip. Did try it but received error:

>>> eve = blue.EVE(server="127.0.0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() takes at least 2 arguments (2 given)
>>>

And no proxy in use as far as I know!!!

Induc
Amarr
Posted - 2010.10.15 22:47:00 - [69]
 

Originally by: Xendrais
Edited by: Xendrais on 15/10/2010 21:14:58
Originally by: Entity


127.0.0.1? what? are you running EVE through a local proxy or something?
You'll have to use eve=blue.EVE(server="127.0.0.1") to access the data from there then.



Thanks for the tip. Did try it but received error:

>>> eve = blue.EVE(server="127.0.0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() takes at least 2 arguments (2 given)
>>>

And no proxy in use as far as I know!!!


You need to provide the path to your eve installation too.
>>> eve = blue.EVE("C:/...", server="127.0.0.1")

Xendrais
Posted - 2010.10.15 23:54:00 - [70]
 

Originally by: Induc


You need to provide the path to your eve installation too.
>>> eve = blue.EVE("C:/...", server="127.0.0.1")


Now I get this and the path to EVE is good:

>>> eve = blue.EVE("C:\Program Files\CCP\EVE", server="127.0.0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\reverence\blue.py", line 130, in __init__ self.cache = cache.CacheMgr(self.root, self.server, machoVersion, cachepath)

File "C:\Python27\lib\site-packages\reverence\cache.py", line 218, in __init__
raise RuntimeError("Could not determine EVE cache folder location.")
RuntimeError: Could not determine EVE cache folder location.
>>>

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.10.16 01:40:00 - [71]
 

Originally by: Xendrais
Originally by: Induc


You need to provide the path to your eve installation too.
>>> eve = blue.EVE("C:/...", server="127.0.0.1")


Now I get this and the path to EVE is good:

>>> eve = blue.EVE("C:\Program Files\CCP\EVE", server="127.0.0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\reverence\blue.py", line 130, in __init__ self.cache = cache.CacheMgr(self.root, self.server, machoVersion, cachepath)

File "C:\Python27\lib\site-packages\reverence\cache.py", line 218, in __init__
raise RuntimeError("Could not determine EVE cache folder location.")
RuntimeError: Could not determine EVE cache folder location.
>>>


Hrm, well, I think you're better off trying to figure out why you are getting a 127.0.0.1 folder in your cache instead of the tranquility IP. That's the real problem here.
If you know how to reproduce this situation, let me know. I'm not getting a 127.0.0.1, so I don't know what is going on, and Reverence can't magically figure out where your files are in non-standard situations like yours.

The only thing I could think of as a workaround is providing cachepath=r"C:\path\to\eve's\cache\" to blue.EVE() as well. If you're not using LUA and are on XP, it would be r"C:\Documents and Settings\USERNAME\Local Settings\Application Data\CCP\EVE\mangled_copy_of_install_path\cache". Forgot where it is on Win7 but i'm sure you can find it :P

(On a side note, it's a good idea not to use backslashes bare in python strings. Escape them, use the r string prefix, or use forward slashes to avoid problems)

D Spectre
Hardcore p0wnography
S E D I T I O N
Posted - 2010.10.23 06:29:00 - [72]
 

I'll start out by saying i know nothing about python but i am really wanting to read the market cache and the market graph cache. That being said I've spent at least 8 hours over the last 2 days trying to get something to work.
the libevecache dumper works fine for market orders but i would like to be able to parse out the market graph. i've been struggling through this code for hours upon hours trying to get it to work. That being said its probably because i'm an idiot....
I have done a ton of different things trying to make this work but the most recent pretty much sums it up...
I take the code located here:
http://github.com/ntt/reverence/blob/master/examples/datadump.py
change
cachedObjects2 = c.LoadCacheFolder("CachedObjects")
to
cachedObjects2 = c.LoadCacheFolder("CachedMethodCalls")

whenever i try to run it i get the following:
AttributeError: 'dict' object has no attribute 'objectID'

(overall i have no clue how to access the attributes of the object imported for methodcalls and make any meaning of them).

And... sorry for being a newb.

Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.10.24 11:28:00 - [73]
 

Originally by: D Spectre
blah


Well yeah modifying the example to use CMC isn't going to work because CachedMethodCalls are different objects.

try something like this:

from reverence import blue

eve = blue.EVE("C:/path/to/eve")
cm = eve.getcachemgr()
crap = cm.LoadCacheFolder("CachedMethodCalls")

for key, obj in crap.iteritems():
if "GetOrders" in key:
orders = obj['lret']
for order in orders[0]: # 0 for sell, 1 for buy orders
print order.orderID, order.price, int(order.volRemaining)

Tanmoe
Posted - 2010.10.27 12:23:00 - [74]
 

I'm unable to find the documentation for the fields in the orders records.
Most are obvious but i'm missing a few things.

for example : jumps don't appear to be right for buy orders.
What is the issued value?


Entity
X-Factor Industries
Synthetic Existence
Posted - 2010.10.27 14:43:00 - [75]
 

Originally by: Tanmoe
I'm unable to find the documentation for the fields in the orders records.
Most are obvious but i'm missing a few things.

for example : jumps don't appear to be right for buy orders.
What is the issued value?




I believe it is the server's idea of distance. The client calculates jump distances with your current autopilot settings (which are entirely client-side) before displaying them in the market view anyway.

You should probably ignore that field and calculate it yourself if you require that info.

Xendrais
Posted - 2010.10.29 14:27:00 - [76]
 

Originally by: Entity

Hrm, well, I think you're better off trying to figure out why you are getting a 127.0.0.1 folder in your cache instead of the tranquility IP. That's the real problem here.

If you know how to reproduce this situation, let me know. I'm not getting a 127.0.0.1, so I don't know what is going on, and Reverence can't magically figure out where your files are in non-standard situations like yours.
...



Well, just to let you know, EVE decided (sometime this week prior to patch 1.1.6 and on its own) to revert to using the ...\cache\MachoNet\87.237.38.200\249 folder again. Don't know what did it!!! and I cannot reproduce it.

T'Senthor
Posted - 2010.11.05 10:27:00 - [77]
 

Is there anything equivalent to this for .NET?

I considered trying to run it using IronPython, but then I noticed that half of it is implemented in c, so that's not going to fly.

Sigmaz
United Systems Navy
Wildly Inappropriate.
Posted - 2010.11.15 17:11:00 - [78]
 

Originally by: T'Senthor
Is there anything equivalent to this for .NET?

I considered trying to run it using IronPython, but then I noticed that half of it is implemented in c, so that's not going to fly.


A pure python version would be very much appreciated for this reason.

Cecil Eckard
Posted - 2010.12.09 18:09:00 - [79]
 

Edited by: Cecil Eckard on 10/12/2010 18:52:05
Edited by: Cecil Eckard on 10/12/2010 17:17:38
I'm porting this to Java at the moment but I'm having trouble with TYPE_STREAM 0x2b.

The code seems to indicate that the next byte is the length of the stream - unless it's 0xff, in which case the next four bytes form an integer with the real stream length.

The trouble is I'm getting 0x2b 0xff 0x1e 0x04 0x00 0x00 0x7e. The last byte makes me think I'm still in the right place, but the previous four bytes are giving me ridiculously big ints.

Am I interpreting the byte sequence incorrectly, or is there another way to determine the end of the substream?

EDIT: Hurrrrr - Java is of course big-endian.

Jay Wareth
Posted - 2010.12.11 08:24:00 - [80]
 

Edited by: Jay Wareth on 11/12/2010 08:30:13
With the pending demise of eve-metrics I set out to find a new data source for my spreadsheets, took me about 2 hours to write a little script to read my own cache for all the price data I need.

Thanks for this awesome tool. Cool

Edit: Apparently I am not allowed to (sc)**** the cache Embarassed

Enilonee
Posted - 2010.12.13 14:18:00 - [81]
 

Originally by: Cecil Eckard
I'm porting this to Java at the moment

I'd love to see this done! Keep us posted!

9yards
Caldari
Eve Engineering Finance
Eve Engineering
Posted - 2010.12.13 16:18:00 - [82]
 

Has anyone had any luck getting Reverence to compile to a single exe? I'm creating a little analysis tool that does some math on the price history data, but I'd like to make it so that an install of Python isn't necessary to use it. A .NET version would of course be perfect. I'd be willing to work on something like that but I'm struggling with how to get started reading the data. I'm not python fluent at all so understanding that code has got me spinning my wheels alot.

Muscaat
EVE Markets
Posted - 2010.12.13 18:15:00 - [83]
 

Originally by: Cecil Eckard
I'm porting this to Java at the moment...


Cecil - feel free to plagiarise any of my work on a Java cache reader - source at this link Smile

Mella Elcus
Posted - 2010.12.14 14:17:00 - [84]
 

Edited by: Mella Elcus on 14/12/2010 14:17:33
Originally by: 9yards
Has anyone had any luck getting Reverence to compile to a single exe? I'm creating a little analysis tool that does some math on the price history data, but I'd like to make it so that an install of Python isn't necessary to use it. A .NET version would of course be perfect. I'd be willing to work on something like that but I'm struggling with how to get started reading the data. I'm not python fluent at all so understanding that code has got me spinning my wheels alot.

You could use py2exe to generate a single .exe of a python script that prints various cache data using Reverence, and then parse it in .NET.
It would still be Python though, just wrapped into a single (quite large) .exe.

9yards
Caldari
Eve Engineering Finance
Eve Engineering
Posted - 2010.12.14 19:23:00 - [85]
 

I did try py2exe before i posted and never could get a successful compile.

Cecil Eckard
Posted - 2010.12.16 09:24:00 - [86]
 

Originally by: Muscaat
Originally by: Cecil Eckard
I'm porting this to Java at the moment...


Cecil - feel free to plagiarise any of my work on a Java cache reader - source at this link Smile

Typical, someone's already beat me to it.Very Happy

Papa Yoru
Electric Monk inc
Redrum Fleet
Posted - 2010.12.16 22:58:00 - [87]
 

Originally by: 9yards
I did try py2exe before i posted and never could get a successful compile.


The archive library package created when building with py2exe doesn't grab all the reverence stuff, you can manually add the missing stuff though.

Gemini Rock
Posted - 2010.12.17 04:42:00 - [88]
 

I mean this in the nicest possible way, but does anyone speak english around here? Razz

So, I've downloaded and installed Python2.7 .... woo.

I've downloaded and run the installer for Reverence .... go me!

What happens next? Have I missed a really simple instruction somewhere. Seriously, I could be being really thick here but how do I use this?

Two step
Aperture Harmonics
K162
Posted - 2010.12.17 17:24:00 - [89]
 

Originally by: Gemini Rock
I mean this in the nicest possible way, but does anyone speak english around here? Razz

So, I've downloaded and installed Python2.7 .... woo.

I've downloaded and run the installer for Reverence .... go me!

What happens next? Have I missed a really simple instruction somewhere. Seriously, I could be being really thick here but how do I use this?


Um, what were you expecting to have happen? This is an advanced tool that can be used by 3rd party developers to extract information from the cached eve client data. There are a couple of example scripts in the reverence install.

Jay Wareth
Posted - 2010.12.18 04:27:00 - [90]
 

Originally by: Gemini Rock

What happens next? Have I missed a really simple instruction somewhere. Seriously, I could be being really thick here but how do I use this?


As Two Step said, this isn't an end user tool. It is a tool designed to help developers access EVE's internal data. If you don't know what to do from here you don't have the skills for this tool to be useful to you.


Pages: 1 2 [3] 4 5 6 7

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only