FlyerTalk Forums - View Single Post - [SHUT DOWN] Unofficial Advanced AC Reward Search Tool (cowtool)
Old Jun 6, 2021 | 10:20 pm
  #73  
thedoraemon
 
Join Date: May 2014
Posts: 14
This is a great tool! I've been using KVS and UA to search for availability in the past and this is definitely easier than both.

Here are some suggestions after initial use (some have already been suggested):
  • Saved filters that persist after each search
  • Tooltips on fields: When I first used the date field, I was expecting a date picker, but it didn't appear. So I just put a random date format and the error told me what the format was supposed to be.
  • Max connection filter
Originally Posted by canadiancow
Okay so I've set a hard limit of 52 origin/destination/date queries. Above that it's just not worth the effort because it will almost certainly time out. If anyone gets a timeout any more, I want to hear about it.

This number can potentially be increased if I increase the parallelism of the searching, but again, I don't want to instigate a DDoS.

And now I think I'm putting away IntelliJ for the day.
Getting some errors, not sure if it's related to the timing, Jun 7 12:25 AM ET:
  • Getting timeout on: https://api.ft.canadiancow.com/ac-re...3-31&airlines=
  • java.lang.IndexOutOfBoundsException: Index 28 out of bounds for length 28 on: https://api.ft.canadiancow.com/ac-re...3-31&airlines=
    • Stack trace:
      java.lang.IndexOutOfBoundsException: Index 28 out of bounds for length 28

      java.base/jdk.internal.util.Preconditions.outOfBounds(Unknow n Source)
      java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIn dex(Unknown Source)
      java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
      java.base/java.util.Objects.checkIndex(Unknown Source)
      java.base/java.util.ArrayList.get(Unknown Source)
      com.canadiancow.acrewardsearcher.RewardSearcher.se arch(RewardSearcher.kt:196)
      com.canadiancow.acrewardsearcher.RewardSearcherHan dler.handleRequest(RewardSearcherHandler.kt:38)
      java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke0(Native Method)
      java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke(Unknown Source)
      java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl. invoke(Unknown Source)
      java.base/java.lang.reflect.Method.invoke(Unknown Source)
      lambdainternal.EventHandlerLoader$PojoMethodReques tHandler.handleRequest(EventHandlerLoader.java:282 )
      lambdainternal.EventHandlerLoader$PojoHandlerAsStr eamHandler.handleRequest(EventHandlerLoader.java:1 99)
      lambdainternal.EventHandlerLoader$2.call(EventHand lerLoader.java:899)
      lambdainternal.AWSLambda.startRuntime(AWSLambda.ja va:257)
      lambdainternal.AWSLambda.startRuntime(AWSLambda.ja va:192)
      lambdainternal.AWSLambda.main(AWSLambda.java:187)

Last edited by thedoraemon; Jun 6, 2021 at 10:28 pm
thedoraemon is offline