mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-27 21:52:25 -06:00
76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
|
from CatalogItemList import CatalogItemList
|
||
|
from CatalogInvalidItem import CatalogInvalidItem
|
||
|
from CatalogFurnitureItem import CatalogFurnitureItem
|
||
|
from CatalogChatItem import CatalogChatItem
|
||
|
from CatalogClothingItem import CatalogClothingItem
|
||
|
from CatalogEmoteItem import CatalogEmoteItem
|
||
|
from CatalogWallpaperItem import CatalogWallpaperItem
|
||
|
from CatalogWindowItem import CatalogWindowItem
|
||
|
from CatalogFlooringItem import CatalogFlooringItem
|
||
|
from CatalogMouldingItem import CatalogMouldingItem
|
||
|
from CatalogWainscotingItem import CatalogWainscotingItem
|
||
|
from CatalogPoleItem import CatalogPoleItem
|
||
|
from CatalogPetTrickItem import CatalogPetTrickItem
|
||
|
from CatalogBeanItem import CatalogBeanItem
|
||
|
from CatalogGardenItem import CatalogGardenItem
|
||
|
from CatalogRentalItem import CatalogRentalItem
|
||
|
from CatalogGardenStarterItem import CatalogGardenStarterItem
|
||
|
from CatalogNametagItem import CatalogNametagItem
|
||
|
from CatalogToonStatueItem import CatalogToonStatueItem
|
||
|
from CatalogAnimatedFurnitureItem import CatalogAnimatedFurnitureItem
|
||
|
from CatalogAccessoryItem import CatalogAccessoryItem
|
||
|
|
||
|
|
||
|
class PopularItemManagerAI:
|
||
|
def __init__(self, air):
|
||
|
self.air = air
|
||
|
|
||
|
self.popularItemDict = {}
|
||
|
|
||
|
def avBoughtItem(self, item):
|
||
|
# Load the current popularItems
|
||
|
try:
|
||
|
popularItems = simbase.backups.load('catalog', ('popular-items',), default=({}))
|
||
|
except ValueError:
|
||
|
return
|
||
|
|
||
|
itemOutput = item.output()
|
||
|
|
||
|
# Don't allow rental items!
|
||
|
if 'CatalogRentalItem' in itemOutput:
|
||
|
return
|
||
|
|
||
|
if not itemOutput in popularItems:
|
||
|
popularItems[itemOutput] = 1
|
||
|
else:
|
||
|
popularItems[itemOutput] += 1
|
||
|
|
||
|
# Save it.
|
||
|
try:
|
||
|
simbase.backups.save('catalog', ('popular-items',), (popularItems))
|
||
|
except ValueError:
|
||
|
pass
|
||
|
|
||
|
def requestPopularItems(self):
|
||
|
# Load the current popularItems
|
||
|
try:
|
||
|
self.popularItemDict = simbase.backups.load('catalog', ('popular-items',), default=({}))
|
||
|
except ValueError:
|
||
|
pass
|
||
|
|
||
|
sortedItems = [(x,y) for y,x in sorted([(y,x) for x,y in self.popularItemDict.items()],reverse=True)]
|
||
|
|
||
|
finalItems = []
|
||
|
if len(sortedItems) <= 12:
|
||
|
for item in sortedItems:
|
||
|
item = eval(item[0])
|
||
|
finalItems.append(item)
|
||
|
else:
|
||
|
for i in xrange(12):
|
||
|
item = eval(sortedItems[i][0])
|
||
|
finalItems.append(item)
|
||
|
|
||
|
catalog = CatalogItemList(finalItems)
|
||
|
return catalog.getBlob()
|
||
|
|