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.
 

Yapeal PHP API library (version 1.0.5)

First post
Author
Somerset Mahm
Cognitive Distortion
#361 - 2013-06-27 05:16:53 UTC  |  Edited by: Somerset Mahm
I have pushed a change that should get Yapeal working again.

Update Yapeal (via hg pull or by downloading yapeal-latest.zip) and re-run install/createMySQLTables.php

This should be a non-destructive operation but you should backup your Yapeal data first if it is valuable.

Yapeal then should start to work once more.

I have NOT added the new "KillMails" API and will see if I can figure that out.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Zaepho
Goosewarms
Tactical Hunters and Gatherers
#362 - 2013-06-27 14:37:35 UTC
Looks great! I'm still having some problems with the char/ContactList API but haven't validated it against the schema yet to figure out what it's choking on. I'll post again when I have more solid info. Otherwise, thanks for stepping up!
Zaepho
Goosewarms
Tactical Hunters and Gatherers
#363 - 2013-06-27 15:04:27 UTC  |  Edited by: Zaepho
Looks like its an issue with one of the columns in the contactList rowset. Specifically inWatchlist is not being returned although the xsd expects it to always be there. Not sure if these contacts are actually in this character's watchlist or not.

ContactListee6d99d70ac508ff224aee720db4ebfb356475d2.xml:6: element row: Schemas validity error : Element 'row': The attribute 'inWatchlist' is required but missing.
ContactListee6d99d70ac508ff224aee720db4ebfb356475d2.xml:7: element row: Schemas validity error : Element 'row': The attribute 'inWatchlist' is required but missing.
ContactListee6d99d70ac508ff224aee720db4ebfb356475d2.xml fails to validate


flipping the Use attribute to Optional for this field in the XSD and adding a default value of 0 to the field in the DB seems to fix the issue.
Somerset Mahm
Cognitive Distortion
#364 - 2013-06-27 16:41:12 UTC
Hmm, so there are two types of ContactList row types: one that's used for personal contact lists, which should always have a watchlist attribute, and one which is used for corp and alliance contacts lists, which has no concept of a watchlist.

All the schemas appear to be set up to validate this concept correctly. I'll test it against more of my own keys but they seem to work.

I wonder if really old contacts didn't have a watchlist attribute. Will check into it.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Somerset Mahm
Cognitive Distortion
#365 - 2013-06-27 16:42:42 UTC  |  Edited by: Somerset Mahm
Nope, you're right. On at least one of my keys, no watchlist attribute shows up at all. API bug. I'm going to refrain from changing the Yapeal schemas just yet, because it is technically complying with the row headers that are sent.

I tweeted at PrismX to see if it's a known issue.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Zaepho
Goosewarms
Tactical Hunters and Gatherers
#366 - 2013-06-27 18:25:03 UTC  |  Edited by: Zaepho
Somerset Mahm wrote:
Nope, you're right. On at least one of my keys, no watchlist attribute shows up at all. API bug. I'm going to refrain from changing the Yapeal schemas just yet, because it is technically complying with the row headers that are sent.

I tweeted at PrismX to see if it's a known issue.


Is it essential that we get that attribute on every row? I was operating under the assumption that accepting the missing attribute and using a sane default (0) would be the desirable action.

Unless of course it's not being returned on any contacts.. then that would definitely be a bug.

Looking at my cache (granted not a huge sample but i KNOW it should have some instances of contacts on the watchlist) there are no instances of inWatchlist in any of the returns. So it looks like a bug in the API code.
Eduardo'o
Ministry of War
Amarr Empire
#367 - 2013-06-30 08:08:05 UTC  |  Edited by: Eduardo'o
I have uploaded 4 account api's into yapeal.

For some reason, only 2 accounts fully expose the data. One account only shows 1 character and another account only exposes 2 characters.
Is there anyway I can see any debug info?

Also for some reason I cannot see any contract data being downloaded.

Any help would be appreciated. Maybe already some indication on what debug option to turn on how?

Ed
Somerset Mahm
Cognitive Distortion
#368 - 2013-06-30 19:22:10 UTC  |  Edited by: Somerset Mahm
First, check the table accountAPIKeyInfo and accountCharacters to see what Yapeal thinks about the keys.

If the info there looks correct and you see 4 keys, next check utilRegistered* to make sure you haven't provided overrides to the masks and that the keys are set to active = 1.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Chian XinLian
Darwin's Contraptions
Imperial Research
#369 - 2013-07-01 11:00:38 UTC
Any help?

I've downloaded yapeal-latest, unpacked it on top of the old yapeal setup and ran install/createMySQLTables.php.. Still everytime yapeal runs, I get pile of errors like these:

2013-07-01 10:57:50.451
WARN: Caching invalid API XML for corp/WalletTransactions
File: /home/mydir/yapeal/class/YapealApiCache.php(192)
2013-07-01 10:58:00.010
WARN: Caching invalid API XML for corp/WalletJournal
File: /home/mydir/yapeal/class/YapealApiCache.php(192)
2013-07-01 10:58:00.360
WARN: Caching invalid API XML for corp/ContactList
File: /home/mydir/yapeal/class/YapealApiCache.php(192)
2013-07-01 10:58:14.631
WARN: Caching invalid API XML for char/ContactList
File: /home/mydir/yapeal/class/YapealApiCache.php(192)
2013-07-01 10:58:18.119
WARN: Caching invalid API XML for char/WalletJournal
File: /home/mydir/yapeal/class/YapealApiCache.php(192)

Kinda annoying since few of the most (to me) important api tables dont update now due these :(
Somerset Mahm
Cognitive Distortion
#370 - 2013-07-01 17:22:35 UTC
Chian XinLian wrote:
Any help?

I've downloaded yapeal-latest, unpacked it on top of the old yapeal setup and ran install/createMySQLTables.php.. Still everytime yapeal runs, I get pile of errors like these:



Those were definitely fixed in the latest download :) a couple things off the top of my head:

Are you sure you ran createMySQLTables and not createMySQLDatabase? Did it say it completed without errors?
Does the MySQL user that Yapeal runs under have permission to alter tables?
In the table corpWalletJournal, do the fields "owner1TypeID" and "owner2TypeID" exist?

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Chian XinLian
Darwin's Contraptions
Imperial Research
#371 - 2013-07-01 19:42:25 UTC
Somerset Mahm wrote:
Chian XinLian wrote:
Any help?

I've downloaded yapeal-latest, unpacked it on top of the old yapeal setup and ran install/createMySQLTables.php.. Still everytime yapeal runs, I get pile of errors like these:



Those were definitely fixed in the latest download :) a couple things off the top of my head:

Are you sure you ran createMySQLTables and not createMySQLDatabase? Did it say it completed without errors?
Does the MySQL user that Yapeal runs under have permission to alter tables?
In the table corpWalletJournal, do the fields "owner1TypeID" and "owner2TypeID" exist?


user@fudge:~/yapeal$ install/testForMySQLDatabasePrivs.php
user has the needed privileges on the eve database.
user@fudge:~/yapeal$ install/checkForRequirements.php
All tests passed!!!
user@fudge:~/yapeal$ install/createMySQLTables.php
All database tables have been installed or updated as needed.
user@fudge:~/yapeal$

But to the last question, I have to say 'no', those columns are missing from that table. :(
Somerset Mahm
Cognitive Distortion
#372 - 2013-07-01 21:05:23 UTC
Hmm. I verified that createMySQLTables.php properly upgrades a database under my environment.

Last diagnostic question: In install/corp.xml, do you get any results if you search for "owner1TypeID"? (Ensuring that you didn't somehow get a bad download from Sourceforge)

If you get a result for that search, then you have the latest Yapeal version but Yapeal is not properly upgrading the table and that's beyond my current level of investigation. What versions of PHP and MySQL are you using?

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Chian XinLian
Darwin's Contraptions
Imperial Research
#373 - 2013-07-01 21:31:15 UTC
That was it \o/

For some reason, untarring the yapeal-latest on top of the old install, it didnt fix all the files and those xml's were from old version.. Cranked stuff manually and now it did update the tables correctly :)

Now just to wait and see when cache timers expire if I get fresh data populated into the db.
Somerset Mahm
Cognitive Distortion
#374 - 2013-07-01 21:45:54 UTC
\o/

If you feel up to it, the best way to grab updated Yapeal is to set up Mercurial. Then whenever a new version comes out you can do "hg pull -u" and it'll update things automatically for you.

Hope it's all sorted now!

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Somerset Mahm
Cognitive Distortion
#375 - 2013-07-01 23:56:56 UTC
I'm working on support for the new KillMails API and will try to push a new release in the next day or two.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Somerset Mahm
Cognitive Distortion
#376 - 2013-07-02 22:52:44 UTC
Pushed a new version.

Yapeal Odyssey-1.0.12
* Added support for cURL compiled with NSS instead of OpenSSL support.
* Added KillMails API and removed KillLog API.

If you have old mails in the KillLog table, dump them to disk before upgrading as the KillLog API has been deprecated and will be removed when you upgrade your Yapeal db schema.
Download the latest Yapeal files (or use Mercurial, recommended!). After backing up your KillLog table, if desired, run install/createMySQLTables.php to upgrade your db schema.

If you get SSL errors, please let me know the output of curl --version on your machine.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Chian XinLian
Darwin's Contraptions
Imperial Research
#377 - 2013-07-03 12:15:05 UTC
Mmh.. Another problem.. Been watching a while my market orders page (which relies data on membertracking) and it's been empty.. Havent really bothered paying too much attention to it, but today I checked a bit of the corresponding tables in db.. And my corpMemberTracking table is empty :( Is this normal?-p
Somerset Mahm
Cognitive Distortion
#378 - 2013-07-03 19:52:25 UTC
corpMemberTracking requires the MemberTrackingExtended permission. Currently MemberTrackingLimited is not supported.

Make sure your key provides this permission and that any bitfield set in utilRegisteredKey encompasses the proper bitmask.

SOMER Blink Microlotteries that finish in minutes! Running for over 2 years :)

Tiberius Zol
Moira.
#379 - 2013-07-04 08:20:09 UTC
hey guys.

after the update to the new version i get an error with the yapeal.php

2013-07-04 08:15:11.959
FATAL: Uncaught exception in yapeal.php
File: D:\yapeal\yapeal.php(183)
2013-07-04 08:15:11.959
FATAL: The APIs: KillLog are unknown in section corp
Trace:
#0 D:\yapeal\class\ASection.php(100): AccessMask->apisToMask(Array, 'corp')
#1 D:\yapeal\class\SectionCorp.php(62): ASection->__construct()
#2 D:\yapeal\yapeal.php(163): SectionCorp->__construct()
#3 {main}

An idea, what i have to change to get it work again?
I am new to yapeal and only walked trough the beginnertutorial to add my accs and chars the last days..

Mr. Tibbers on twitter: @Mr_Tibbers

Mr. Tibbers Blog: www.eve-versum.de

Tiberius Zol
Moira.
#380 - 2013-07-04 12:40:19 UTC
Ok fixed it myself.
just deleted the KillLog class files.

Mr. Tibbers on twitter: @Mr_Tibbers

Mr. Tibbers Blog: www.eve-versum.de