Beispiel #1
0
 def receive_filtered_listings(self, item_link, price=10 ** 10, wear=10, slowmode=False, maxnum=None):
     filtered = []
     l_receiver = ListingReceiver(item_link, self.timeouter, self.goclient.client.get_web_session())
     if self.goclient.goclient.ready:
         listings = l_receiver.get_all_listings(maxnum)
         print("found %s entries for item" % len(listings))
         inprice = [x for x in listings if x.total_price <= float(price)]
         print("%s with correct price" % len(inprice))
         for listing in listings:
             with self.db_lock:
                 db = DBConnector()
                 saved_listing = db.get_listing_by_id(listing.id)
                 if listing.total_price <= float(price):
                     if not saved_listing:
                         iteminfo = self.goclient.get_item_information(listing.return_param_dict())
                         time.sleep(0.2)
                         if iteminfo:
                             floatv = self.goclient.get_float_value(iteminfo)
                             listing.paintwear = floatv
                             listing.quality = iteminfo.quality
                             listing.paintindex = iteminfo.paintindex
                             db.create_listing(listing)
                             if listing.paintwear <= float(wear):
                                 # print "Float of this item %s index %s" %(floatv, iteminfo.paintindex)
                                 # print "Price: %s; listing id: %s" %(listing.total_price, listing.id)
                                 filtered.append(listing)
         print("%s of them with correct wear" % len(filtered))
         return filtered
     else:
         print("CSGO not ready")
         print("Client %s  logged in %s" % (str(self.goclient.client), self.goclient.client.logged_on))
         self.goclient._connect_go()
     return filtered
Beispiel #2
0
 def work_info_q(self):
     while not self.listingq.empty():
         listing = self.listingq.get(True, 10)
         # print("Input Listing %s"%listing)
         with self.db_lock:
             db = DBConnector()
             saved_listing = db.get_listing_by_id(listing.id)
             # print("Listing in work %s"%listing)
             if not saved_listing:
                 # print(listing.return_param_dict())
                 iteminfo = self.goclient.get_item_information(listing.return_param_dict())
                 # time.sleep(0.2)
                 if iteminfo:
                     floatv = self.goclient.get_float_value(iteminfo)
                     print("Float value aquired %s" % floatv)
                     listing.paintwear = floatv
                     listing.quality = iteminfo.quality
                     listing.paintindex = iteminfo.paintindex
                     db.create_listing(listing)
                     self.listingqfull.put(listing, True, 10)
             else:
                 pass