Fixed MRB bug
This commit is contained in:
parent
3a14e32e58
commit
0529172af2
34
caliGraph.py
34
caliGraph.py
@ -481,15 +481,20 @@ def loadBooksFromDB():
|
||||
def mrbGetBook(mrbdf, title, authors):
|
||||
title = title.split('(')[0]
|
||||
title = title.replace('*','')
|
||||
pot = mrbdf[mrbdf['title'].str.contains(title)]
|
||||
for author in authors:
|
||||
for part in author.split(" "):
|
||||
if len(part)>=3:
|
||||
pot = mrbdf[mrbdf['author'].str.contains(part)]
|
||||
return pot.to_dict(orient='records')[0] if len(pot) else False
|
||||
pot = mrbdf[mrbdf['title'].str.contains(title)]
|
||||
parts = author.split(" ")
|
||||
dic = pot.to_dict(orient='records')
|
||||
for d in dic:
|
||||
for part in [parts[0], parts[-1]]:
|
||||
if d['author'].find(part)==-1:
|
||||
break
|
||||
else:
|
||||
return d
|
||||
return False
|
||||
|
||||
def infuseDataFromMRB(books):
|
||||
mrbdf = pd.read_csv('mrb_db.csv')
|
||||
mrbdf = pd.read_csv('rec_dbs/mrb_db.csv')
|
||||
for book in books:
|
||||
mrb = mrbGetBook(mrbdf, book['title'], book['authors'])
|
||||
if mrb:
|
||||
@ -972,20 +977,25 @@ def readBooksAnalysis(G, minRating=0, showAllTags=True, removeUnconnected=False,
|
||||
scaleOpinionsByRating(G)
|
||||
addScoreToLabels(G)
|
||||
|
||||
def progress(G, minimum=3.5):
|
||||
def progress(G, books, mu, minimum=3.5):
|
||||
findNewBooks(G, books, mu, -1, minRecSco = minimum)
|
||||
bookCount = 0
|
||||
libCount = 0
|
||||
readCount = 0
|
||||
toReadCount = 0
|
||||
for n in list(G.nodes):
|
||||
node = G.nodes[n]
|
||||
if node['t'] in ['book','newBook']:
|
||||
if node['t'] == 'book':
|
||||
libCount +=1
|
||||
bookCount += 1
|
||||
if node['rating'] != None:
|
||||
if 'rating' in node and node['rating'] != None:
|
||||
readCount += 1
|
||||
elif 'score' in node and (node['score'] >= minimum or node['std']==0.0):
|
||||
elif 'score' in node and (node['score'] >= minimum or 'std' in node and node['std']==0.0):
|
||||
toReadCount += 1
|
||||
perc = round(readCount / (toReadCount+readCount) * 100, 2)
|
||||
print('Books in libary: '+str(bookCount))
|
||||
print('Books in library: '+str(libCount))
|
||||
print('Books in CaliGraph: '+str(bookCount))
|
||||
print('Read Books: '+str(readCount))
|
||||
print('Unread Books: '+str(bookCount-readCount))
|
||||
print('Recommended Books (score > '+str(round(minimum, 2))+'): '+str(toReadCount))
|
||||
@ -1111,7 +1121,7 @@ def newBooks(G, books, num, mu, std):
|
||||
|
||||
|
||||
def findNewBooks(G, books, mu, num=-1, minRecSco=5):
|
||||
mrbdf = pd.read_csv('mrb_db.csv')
|
||||
mrbdf = pd.read_csv('rec_dbs/mrb_db.csv')
|
||||
recs = []
|
||||
for n in list(G.nodes):
|
||||
node = G.nodes[n]
|
||||
@ -1366,7 +1376,7 @@ def cliInterface():
|
||||
elif args.cmd=="shell":
|
||||
shell(G, books, mu, std)
|
||||
elif args.cmd=="progress":
|
||||
progress(G, args.m)
|
||||
progress(G, books, mu, args.m)
|
||||
return
|
||||
elif args.cmd=="newBooks":
|
||||
bestListT = 'newBook'
|
||||
|
2707
rec_dbs/tgb_1.csv
Normal file
2707
rec_dbs/tgb_1.csv
Normal file
File diff suppressed because it is too large
Load Diff
1320
rec_dbs/tgb_2.csv
Normal file
1320
rec_dbs/tgb_2.csv
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user