buypeeb/settings.py

53 lines
1.3 KiB
Python

import json, os, pickle
from os import path
import functions
from listing import YahooAuctionsItem
class BuypeebSettings:
def __init__(self, location: str):
self.updateInterval = 10 * 60
self.favouriteUpdateInterval = 5 * 60
self.updateIntervalCritical = 60
self.favouriteUpdateIntervalCritical = 30
self.watchlist = []
self.jwatchlist = []
self.location = location
def save(self):
for item in self.watchlist:
self.jwatchlist.append({
"id": item.id,
"name": item.name,
"original_name": item.original_name,
"favourite": False
})
self.watchlist = []
print(self.__dict__)
json.dump(self.__dict__, open(self.location + "config.json", 'w'))
def load(self):
if not path.isfile(self.location + "config.json"):
os.makedirs(self.location, 0o755, True)
open(self.location + "config.json", 'x')
else:
try:
j = json.load(open(self.location + "config.json", 'r'))
for key in j:
setattr(self, key, j[key])
for item in self.jwatchlist:
self.watchlist.append(YahooAuctionsItem(None, from_json = item))
self.jwatchlist = []
except:
raise
print("Couldn't load settings - using defaults")
def watch(self, url: str, name: str = None):
self.watchlist.append(YahooAuctionsItem(url, name))
for item in self.watchlist:
print(item.name, item.price)