Pages: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 .. 15 :: one page |
|
Author |
Thread Statistics | Show CCP posts - 2 post(s) |

Icahmura Hasaki
Perkone Caldari State
19
|
Posted - 2015.10.26 16:10:14 -
[271] - Quote
Groot DeStefano wrote:System.AggregateException HResult=-2146233088 Source=mscorlib StackTrace: bei System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) bei System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) bei System.Threading.Tasks.Task`1.get_Result() bei eZet.EveLib.EveCrestModule.EveCrest.Load[T](Href`1 uri) bei eZet.EveLib.EveCrestModule.Models.Resources.CrestResource`1.Query[TOut](Func`2 objFunc) bei ConsoleApplication4.Test.Main(String[] args) in C:\Users\***\Documents\Visual Studio 2015\Projects\ConsoleApplication4\ConsoleApplication4\Program.cs:Zeile 76. bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() bei System.Threading.ThreadHelper.ThreadStart_Context(Object state) bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ThreadHelper.ThreadStart() InnerException: HResult=-2146233088 LineNumber=1 LinePosition=694 Message=JSON integer 4294091884 is too large or small for an Int32. Path 'items[0].id', line 1, position 694. Path=items[0].id Source=Newtonsoft.Json var crest = new EveCrest(); var root = crest.GetRoot(); var theForge = crest.GetRoot().Query(r => r.Regions).Query(r => r.Where(x => x.Name == "The Forge")).First(); theForge.MarketBuyOrders += "?type=https://public-crest.eveonline.com/types/34/"; var allbuys = theForge.Query(c => c.MarketBuyOrders).Items.ToList(); With "?type=https://public-crest.eveonline.com/types/ 2/"; the code is running... P.S. AllItems is not working. Edit: i get it, the Nuget version is not updated yet :)
Are you using the newest version of EveCrest, 3.1.0? At least it seems that way of providing a type parameter works. I thought the int32 problem was fixed in the newest version on nuget. I'll have a look in an hour or two.
|

Groot DeStefano
Brave Newbies Inc. Brave Squids
0
|
Posted - 2015.10.26 18:08:48 -
[272] - Quote
AllItems is working! |

Icahmura Hasaki
Perkone Caldari State
19
|
Posted - 2015.10.26 19:07:25 -
[273] - Quote
I've added a possible implementation for passing parameters, as simple key/value string pairs that can be included in .Load() or .Query() calls.
Example:
var orders = crest.GetRoot().Query(r => r.Regions) .Query(x => x.Single(r => r.Name == "The Forge")) .Query(r => r.MarketBuyOrders, "type", "https://public-crest.eveonline.com/types/34/");
This isn't very safe tho as is very apt to typing bugs. It also allows partly user constructed URLs, which breaks some of the goals with CREST.
So should I perhaps disallow manual URLs like the example above, and do something like this:
var type = crest.GetRoot().Query(r => r.MarketTypes).Items.Single(r => r.Type.Id == 34); var orders = crest.GetRoot().Query(r => r.Regions) .Query(x => x.Single(r => r.Name == "The Forge")) .Query(r => r.MarketBuyOrders, "type", type);
Where you first need to get the type you want through CREST, and you pass that in directly? It would still be possible to construct URLs manually if you really wanted, but is more in line with the stated goals for CREST.
The parameter name is still manually typed, but I'm not sure if it is worth the hassle to enforce that with eg. enums or a parameter object for each name/value pair ? I'm open for input on how you would like this to be implemented :)
The first example is valid for the newest version on github if anyone wants to try it out. It allows an arbitrary amount of name/value pairs, and works for all types of resources that support it, eg. market types, market groups, and so on. |

Erick1111
Quarantine Corporation
0
|
Posted - 2015.10.29 14:56:44 -
[274] - Quote
Really nice work doing this tool btw! I love it. I'm having an issue when I try to load a character image. I'm probably doing something wrong, but I can't figure out what exactly... Here's my code:
byte[] charImg = img.GetCharacterPortraitData(characterList[0].CharacterId, eZet.EveLib.EveXmlModule.Image.CharacterPortraitSize.X64); charPortrait.Source = ByteToImage(charImg);
When I call GetCharacterPortraitData, it just doesn't go any further as if the thread would never be comming to an end. I've tried accessing it directly on my web browser and it works, and I've also tried crest.LoadImage() with the uri, and I get the exact same issue...
You have an idea what could be the cause? |

Ocean Cineol
Too Big To Die
0
|
Posted - 2015.10.29 20:34:58 -
[275] - Quote
Good evening! I am trying to access the cached files.
string savedstuff= IEveLibCache.LoadAsync(Uri.uri);
I believe that EveLibApiBase creates the Uri, but I can't use it. What do I have to enter for Uri.uri? Thanks... |

Icahmura Hasaki
Perkone Caldari State
20
|
Posted - 2015.10.29 22:21:52 -
[276] - Quote
Erick1111 wrote:Really nice work doing this tool btw! I love it. I'm having an issue when I try to load a character image. I'm probably doing something wrong, but I can't figure out what exactly... Here's my code: byte[] charImg = img.GetCharacterPortraitData(characterList[0].CharacterId, eZet.EveLib.EveXmlModule.Image.CharacterPortraitSize.X64); charPortrait.Source = ByteToImage(charImg);
When I call GetCharacterPortraitData, it just doesn't go any further as if the thread would never be comming to an end. I've tried accessing it directly on my web browser and it works, and I've also tried crest.LoadImage() with the uri, and I get the exact same issue... You have an idea what could be the cause?
I haven't really tested that part of the library much, and it's been a long long time since I touched it. I'll have a look at it tomorrow and get back to you with a solution :) |

Icahmura Hasaki
Perkone Caldari State
20
|
Posted - 2015.10.30 08:19:02 -
[277] - Quote
Ocean Cineol wrote:Good evening! I am trying to access the cached files. string savedstuff= IEveLibCache.LoadAsync(Uri.uri);
I believe that EveLibApiBase creates the Uri, but I can't use it. What do I have to enter for Uri.uri? Thanks...
I don't quite understand what exactly you are trying to accomplish? The cached files are stored as plain xml and json files in the cache dir. You can load the files through an instance of IEveLibCache, but not the interface itself.
If you told me more about what you are trying to accomplish I might be able to help you more. |

Ocean Cineol
Too Big To Die
0
|
Posted - 2015.10.30 10:41:00 -
[278] - Quote
Your code works fine, I am just trying to implement the IEveLibCache Interface to load the cached data. Seems like I went down too deep. |

Icahmura Hasaki
Perkone Caldari State
20
|
Posted - 2015.10.30 18:49:42 -
[279] - Quote
Ocean Cineol wrote:Your code works fine, I am just trying to implement the IEveLibCache Interface  to load the cached data. Seems like I went down too deep.
Ah, okay. Well, your idea should work fine, if thats how you want to do it. As I said, the cached files are available in the CachePath as plain text files, with the filenames being a hash of the url they represent. So if you want to implement your own IEveLibCache to read files stored by my implementation, you need to use the same hash to retrieve the correct file. You'll find the details in my EveLibFileCache, its just a SHA1 with the hyphens (-) removed. |

Erick1111
Quarantine Corporation
0
|
Posted - 2015.10.30 22:21:30 -
[280] - Quote
Icahmura Hasaki wrote:Erick1111 wrote:Really nice work doing this tool btw! I love it. I'm having an issue when I try to load a character image. I'm probably doing something wrong, but I can't figure out what exactly... Here's my code: byte[] charImg = img.GetCharacterPortraitData(characterList[0].CharacterId, eZet.EveLib.EveXmlModule.Image.CharacterPortraitSize.X64); charPortrait.Source = ByteToImage(charImg);
When I call GetCharacterPortraitData, it just doesn't go any further as if the thread would never be comming to an end. I've tried accessing it directly on my web browser and it works, and I've also tried crest.LoadImage() with the uri, and I get the exact same issue... You have an idea what could be the cause? I haven't really tested that part of the library much, and it's been a long long time since I touched it. I'll have a look at it tomorrow and get back to you with a solution :)
Well, I got it to work using the synchronous methods of WebClient and replaced the code consequently in your project. I wont use async until later in my app.
I was also getting troubles with EveCrest.LoadImage() I,m just trying to confirm with you that these are actual bugs and not some mess up on my side before I try and invest time in it.
Thanks |
|

Ocean Cineol
Too Big To Die
0
|
Posted - 2015.10.31 15:45:38 -
[281] - Quote
Icahmura Hasaki wrote:Ocean Cineol wrote:Your code works fine, I am just trying to implement the IEveLibCache Interface  to load the cached data. Seems like I went down too deep. Ah, okay. Well, your idea should work fine, if thats how you want to do it. As I said, the cached files are available in the CachePath as plain text files, with the filenames being a hash of the url they represent. So if you want to implement your own IEveLibCache to read files stored by my implementation, you need to use the same hash to retrieve the correct file. You'll find the details in my EveLibFileCache, its just a SHA1 with the hyphens (-) removed.
I need a few tips. I always want to save the query results in the same simple .txt file. To load more than 1 item, i increment the ID of the item by 1 in the url(is there a better option?). I end up with lots and lots of files.
To access these with a program i either need to know the right url-hash for every id (i could not figure out how to do that ) or I load it with the cache implementation.
I think that that is the right way to load the cached data:
string cachePath= @"C:\Users\*****\AppData\Roaming\EveLib\EveCrestCache"; string cacheregister= "???"; EveLibFileCache cache = new EveLibFileCache(cachePath, cacheregister);
Console.WriteLine(cache.LoadAsync(Uri);
Could somebody help me with the right code? Thanks a lot :) |

Icahmura Hasaki
Perkone Caldari State
20
|
Posted - 2015.10.31 16:08:17 -
[282] - Quote
Ocean Cineol wrote:Icahmura Hasaki wrote:Ocean Cineol wrote:Your code works fine, I am just trying to implement the IEveLibCache Interface  to load the cached data. Seems like I went down too deep. Ah, okay. Well, your idea should work fine, if thats how you want to do it. As I said, the cached files are available in the CachePath as plain text files, with the filenames being a hash of the url they represent. So if you want to implement your own IEveLibCache to read files stored by my implementation, you need to use the same hash to retrieve the correct file. You'll find the details in my EveLibFileCache, its just a SHA1 with the hyphens (-) removed. I need a few tips. I always want to save the query results in the same simple .txt file. To load more than 1 item, i increment the ID of the item by 1 in the url(is there a better option?). I end up with lots and lots of files. To access these with a program i either need to know the right url-hash for every id (i could not figure out how to do that ) or I load it with the cache implementation. I think that that is the right way to load the cached data: string cachePath= @"C:\Users\*****\AppData\Roaming\EveLib\EveCrestCache"; string cacheregister= "???"; EveLibFileCache cache = new EveLibFileCache(cachePath, cacheregister);
Console.WriteLine(cache.LoadAsync(Uri);
Could somebody help me with the right code? Thanks a lot :)
The cacheRegister is just a file name, its the file that will be used to keep track of cache times, so it knows when the cache is outdated eg.
The above code should be fine, except how you use the results from LoadAsync(). That just returns a Task, so to access that you would have to either use async await, or in a console application where you just want to print, you can use
Console.WriteLine(cache.LoadAsync(uri).Result);
Accessing .Result forces synchronization, which in general isn't a good way to do that, but in a simple test app it's fine.
|

iwannadig
Impersonal Department Special Operations RUST415
15
|
Posted - 2015.11.17 20:41:53 -
[283] - Quote
I downloaded the latest NuGet and try to create authenticated CREST, but I see only one contstructor for public CREST: http://i.imgur.com/87IExUI.png
What am I doing wrong?
Btw, https://developers.eveonline.com/resource/single-sign-on link in github readme is dead. |

Icahmura Hasaki
Perkone Caldari State
21
|
Posted - 2015.11.17 20:47:19 -
[284] - Quote
That looks like an old version, where did you download from exactly ? |

iwannadig
Impersonal Department Special Operations RUST415
15
|
Posted - 2015.11.17 20:55:46 -
[285] - Quote
Icahmura Hasaki wrote:That looks like an old version, where did you download from exactly ? Oh, I see. It shows 2.0.5.2, while the latest is 3.0.0. I'm using VS 2010 with .NET 4.0, so I think this is the reason. Did you move to 4.5? |

Quackers Duckington
CK-0FF Phoebe Freeport Republic
2
|
Posted - 2015.12.27 18:27:47 -
[286] - Quote
Does anyone have any examples of going through a whole users wallet using the lastid in the xmlapi in C#, Im having a mental block and just cant get it to work for the life of me =/ |

Malkys en Daire
Terra Nanotech Yulai Federation
3
|
Posted - 2015.12.30 11:23:03 -
[287] - Quote
First off: Awesome work from the dev here!
I'm already doing some marketstuff with it, like reading orders, prices, regions etc.
But I can't get a touch on market history data, just because I don't find the right "path" to it. Can somebody give me a quick hint?
Thanks! |

Jarno Midumulf
Riders of Sleipnir
11
|
Posted - 2016.01.05 12:50:27 -
[288] - Quote
Icahmura Hasaki wrote:Malketh Terona wrote:Trying to install this in a Universal app project in VS2015 and I'm getting an error message stating that all of the packages are "not compatible with UAP,Version=v10.0 (win10-x64-aot)". Thought you might like to know. Thanks for the feedback, I'll have a look at it :)
first, thx for all the work on this project!
is there any news on when this will be available for universal apps ? |

Crow LightBringer
Dropbears Anonymous Friendly Probes
0
|
Posted - 2016.01.15 01:31:50 -
[289] - Quote
Hey There
Currently trying to use your API for a personal project. I got the SSO going and works nice. I have however hit a brickwall when trying to figure out how to get the charId from the authed char.
Have tried:
var character = eveCrest.GetRoot().Query(r => r.Decode).Query(decode => decode.Character);
But I can't access the different results it should have returned. (Like, name, standings, corp, alliance, charId, ect.)
If you have time to help understand what I am missing here, I would be grateful.
Thanks for the work with this API. Really makes some steps easy and nice :D |

Evalla von'Shurr
von'Shurr Inc
0
|
Posted - 2016.01.17 22:15:15 -
[290] - Quote
Hello, for some reason the Query method doesn't want to take more than 2 arguments.
When I try to do:
var allbuys = theforge.Query(r => r.MarketBuyOrders, "type", "https://public-crest.eveonline.com/types/34/");
It throws me overload.
I'm using VS2012, should I change to VS2015? (VS12 supports .net 4.5)
Thanks in advance, btw, great work. |
|

Jarno Midumulf
Riders of Sleipnir
11
|
Posted - 2016.01.21 09:25:45 -
[291] - Quote
i got the EVE SSO working last night and wanted to reach the latest endpoints whit the player location.. but for some reason i cant find them..??
i did use this to call the right crest init: EveCrest crest = new EveCrest(refreshToken, base64Key);
any help is welcome!
|

Jarno Midumulf
Riders of Sleipnir
11
|
Posted - 2016.02.14 17:55:47 -
[292] - Quote
nice!!
i didnt had the time yet to take a good look at it.. do you have a list of wat end points are missing? we could make bugs for each one that is missing? |

Icahmura Hasaki
Perkone Caldari State
22
|
Posted - 2016.02.14 18:06:48 -
[293] - Quote
Jarno Midumulf wrote:nice!!
i didnt had the time yet to take a good look at it.. do you have a list of wat end points are missing? we could make bugs for each one that is missing?
I'm almost done with all the new GET resources, managing fittings, contacts and waypoints will take some more time. They can all be retrieved, but not changed. |

Icahmura Hasaki
Perkone Caldari State
22
|
Posted - 2016.02.14 19:47:52 -
[294] - Quote
I have pushed an update for EveCrest to NuGet. Please test it out and let me know if anyone is having issues. It's been a long time since I worked on this, it might be possible that I have to push an update for Core too, and I'll do that if anyone is having issues.
Release notes: https://github.com/ezet/evelib/releases/tag/EveCrest_v3.2.0 |

Aio Kaze
Perkone Caldari State
1
|
Posted - 2016.02.15 03:09:10 -
[295] - Quote
I'm pretty new to the whole C# thing (Literally my first time outside of mucking around in Unity) so this might just be me being stupid but I'm having a problem with that new CREST version you released.
I have the following code with a TextBox in an otherwise empty Windows Form Project (pared down for testing this error):
using System; using System.Linq; using System.Windows.Forms; using System.IO; using eZet.EveLib.EveCrestModule;
namespace EveCrestTypesTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void textBox1_TextChanged(object sender, EventArgs e) {
}
private void Form1_Load(object sender, EventArgs e) { LoadTypes(); }
private void LoadTypes() { textBox1.Text += "Setting up.\r\n"; EveCrest crest = new EveCrest(); var root = crest.GetRoot(); textBox1.Text += "Testing types loading.\r\n"; var types = root.Query(r => r.MarketTypes); var list = types.Items.ToList(); while (types.Next != null) { try { types = types.Query(t => t.Next); list.AddRange(types.Items); textBox1.Text += list.Count + " types loaded.\r\n"; } catch(AggregateException e) { File.AppendAllText(Application.StartupPath + "\\logs\\log.txt", e.InnerException.ToString() + "\r\n\r\n"); MessageBox.Show("Wrote error to file."); System.Environment.Exit(e.InnerException.HResult); } } textBox1.Text += "Types loaded."; } } }
If I add the current NuGet version of EveLib (3.0.0, I don't see 3.2.0 over there) as a project reference, everything compiles fine and the program loads all of the types, with no exceptions. However, if I grab 3.2.0 from GitHub, compile it and use that as a reference, I get the following exception thrown:
eZet.EveLib.EveCrestModule.Exceptions.EveCrestException: The query parameter page were cast able to type integerType, error invalid literal for long() with base 10: '2?' ---> System.Net.WebException: The remote server returned an error: (415) Unsupported Media Type. |

Icahmura Hasaki
Perkone Caldari State
22
|
Posted - 2016.02.15 08:27:30 -
[296] - Quote
Thanks for the feedback, I've removed 3.2.0 from NuGet for now and I'll attempt to fix it tonight. |

NullBy7e
Star Nation Elemental Tide
0
|
Posted - 2016.02.15 09:40:44 -
[297] - Quote
Good to see that EveLib is still actively maintained. Yeah, NuGet is not up to date with the master branch, I just downloaded the source and added the projects separately in my solution. |

Aio Kaze
Perkone Caldari State
1
|
Posted - 2016.02.15 17:49:49 -
[298] - Quote
Is there a specific function for getting CREST market history data without constructing URLS? The only function I've found is GetMarketHistory(int regionID, int typeID) and its Async version, both of which are marked as obsolete and tell me to navigate to an endpoint from the root, but I can't find one.
As a sidenote, individual Regions don't seem to contain their IDs, meaning I have to go back up to the RegionCollection and find it again from there. |

Icahmura Hasaki
Perkone Caldari State
22
|
Posted - 2016.02.15 17:55:37 -
[299] - Quote
Aio Kaze wrote:Is there a specific function for getting CREST market history data without constructing URLS? The only function I've found is GetMarketHistory(int regionID, int typeID) and its Async version, both of which are marked as obsolete and tell me to navigate to an endpoint from the root, but I can't find one.
As a sidenote, individual Regions don't seem to contain their IDs, meaning I have to go back up to the RegionCollection and find it again from there.
The "correct" way to currently is to construct urls and append them as explained 1 or 2 pages back, unfortunately. I'll be looking into that next, after this update. I'll have a look at region IDs, just fixed the issue you mentioned earlier about the new version :) |

Aio Kaze
Perkone Caldari State
1
|
Posted - 2016.02.15 18:20:44 -
[300] - Quote
Icahmura Hasaki wrote:Aio Kaze wrote:Is there a specific function for getting CREST market history data without constructing URLS? The only function I've found is GetMarketHistory(int regionID, int typeID) and its Async version, both of which are marked as obsolete and tell me to navigate to an endpoint from the root, but I can't find one.
As a sidenote, individual Regions don't seem to contain their IDs, meaning I have to go back up to the RegionCollection and find it again from there. The "correct" way to currently is to construct urls and append them as explained 1 or 2 pages back, unfortunately. I'll be looking into that next, after this update. I'll have a look at region IDs, just fixed the issue you mentioned earlier about the new version :) edit: var BlackRise = crest.GetRoot().Query(a => a.Regions).Query(b=> b.Single(x => x.Name == "BlackRise")); BlackRise.MarketBuyOrders += "?type=https://public-crest.eveonline.com/types/2/"; var orders = BlackRise.Query(c=> c.MarketBuyOrders).AllItems(); So you get find the MarketOrders resource from the root, but you have to append the type parameter.
Ah, okay. I was confused because the GetMarketHistory() obsolete message was specifically telling me to look for something in the root and had wondered if something had changed in the couple months since that post.
Also, that was fast. :) |
|
|
|
|
Pages: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 .. 15 :: one page |
First page | Previous page | Next page | Last page |