#python

def exit():
	write("<h4>Access Error: name-password failure</h4>")
	raise SystemExit

def remove_request(token, sales, sales_f):
	del sales[token]
	lib.write_data(sales, sales_f)
	return

# handle password access
token = params
lib.prn("arg", token)

files_dir = consts.FILES_DIR
sales_f = files_dir + os.sep + "sales"
sales = lib.get_dict(sales_f,"token")
lib.prn("sales dict", sales)
this = sales[token]
lib.prn("sales dict", this)

try:
	name = this["name"]
except:
	name = "none"
lib.prn("name", name)
try:
	passwd = this["password"]
except:
	passwd = "none"

DATA = consts.DATA
lines = lib.get_subsite_file(name, "author_passwords", DATA)

if not lines:
	remove_request(token, sales, sales_f)
	exit()				# no such name
for line in lines:
	if line.find(name) != -1:
		name2, passwd2 = lib.tokens(line, "|")
		break
if (passwd != passwd2) or (name != name2):
	remove_request(token, sales, sales_f)
	exit()			# wrong password

# build author sale's list
LOG_DIR = consts.LOG_DIR
paid = lib.get_lines(LOG_DIR + os.sep + "paid.log")
author = []
for line in paid:
	if line.find(name) != -1:
		author.append(line)

# output to browser
if not author:
	write("<p>No one has purchased your properties.")
else:
	write("<h4>Data for "+name+"</h4>")
	for line in author:
		line = line.strip()
		if line:
			tokens = line.split("|")
			item = tokens[0][:tokens[0].index(" by")]
			count = tokens[1]
			write(item + ": " + count + " copies")

write("<hr align=left width=50%")
write("<p>Updated: " + lib.time_stamp())

# clean up
remove_request(token, sales, sales_f)
