def initializeUserDict(tag,count=5): user_dict = {} all_items = {} # get the top count' popular posts for p1 in get_popular(tag=tag)[0:count]: # find all users who posted this for p2 in get_urlposts(p1['href']): user = p2['user'] user_dict.setdefault(user,{}) # get user posts for i in range(3): try: posts = get_userposts(user) break except: print "Failed user "+user+", retrying" time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 #fill in missing items with 0 [ratings.setdefault(item,0.0) for item in all_items for ratings in user_dict.values()] return user_dict
def fillItems(user_dict): all_items={} for user in user_dict: for i in range(3): try: print user posts=get_userposts(user) print len(posts) break except: print "Failed user "+user+", retying" time.sleep(4) for post in posts: url = post['url'] print url user_dict[user][url]=1.0 all_items[url]=1 print user_dict # VERY IMPORTANT # Recommendations don't need all items to be compared since it just need # item's name # But! to find similarity based on it is there or not , 1 or 0, # it has to have every item_name to be compared! # Otherwise, it is going to get similarity based on the items that they # have mutually. <-- VERY IMPORTANT for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item]=0.0
def getTags(): user_dict = initializeUserDict('curious') all_items = {} tags_dict = {} #find links saved by all users for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print u'Error for user '+user+u', trying one more time' time.sleep(4) for post in posts: url = post['url'] tag = post['tags'] tags_dict.setdefault(tag,{}) tags_dict[tag][url] = 1.0 all_items[url] = 1 #instead of empty elements write 0 for ratings in tags_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0 return tags_dict
def fillItems(user_dict): all_items = [] # find links posted by all users for user in user_dict: posts = None for i in range(3): try: posts = get_userposts(user) break except: print "Failed user "+user+", retrying" time.sleep(4) if posts is not None: for postInfo in posts: url = postInfo['url'] user_dict[user][url] = 1.0 all_items.append(url) for item in all_items: for ratings in user_dict.values(): if item not in ratings: ratings[item] = 0.0
def fillItems(userDict): """Populate user dict with 1 or 0 based on if link is shared or not. :param userDict: Most popular users by top posts, dict. """ allItems = {} #find links posted by all users for user in userDict: for i in range(3): try: posts = get_userposts(user) break except: print "Fallito user "+user+", riprovo." time.sleep(4) try: for post in posts: url = post['url'] userDict[user][url] = 1.0 allItems[url] = 1 except Exception as e: print user + " has no posts" for ratings in userDict.values(): for item in allItems: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items={} # Find links posted by all users count = 0 len_ud = len(user_dict) for user in user_dict: count += 1 print "Processing user %d of %d" % (count, len_ud) posts = [] for i in range(3): try: posts=get_userposts(user) break except: print "Failed user "+user+", retrying" time.sleep(4) for post in posts: url=post['url'] user_dict[user][url]=1.0 all_items[url]=1 # Fill in missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item]=0.0
def fillItems(user_dict): all_items = {} for user in user_dict: if user == '': continue else: print "Processing ",user for i in range(3): try: posts = get_userposts(user) break except: print "Failed for %s, retrying.." % user time.sleep(4) for post in posts: url = post['url'] print url user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items={} for user in user_dict: for i in range(3): try: # get_userposts()는 주어진 사용자에 대한 모든 게시글을 리턴 posts=get_userposts(user) break except: print "Failed user "+user+", retrying" time.sleep(4) for post in posts: url=post['url'] user_dict[user][url]=1.0 all_items[url]=1 # user_dict = {'유저이름', {'url 주소' : 평가점수1 or 0}} will be returned # all_items = { 'url주소' : 1} #참조 list(d.items()) == list(zip(d.keys(), d.values())) # user_dict.values()는 '유저이름'을 를 가리킴 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item]=0.0
def _fill_items(self): all_items = {} for user in self._usr_dict: posts = [] for i in range(3): try: posts = pydelicious.get_userposts(user) break except: print "User " + user + " error, trying again." time.sleep(4) for post in posts: url = post['url'] self._usr_dict[user][url] = 1.0 all_items[url] = 1 for ratings in self._usr_dict.values(): for item in all_items: if item not in ratings: all_items[item] = 0.0 ratings[item] = 0.0 if __debug__: print(all_items) self._all_items = all_items
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: print user posts = get_userposts(user) print len(posts) break except: print "Failed user " + user + ", retying" time.sleep(4) for post in posts: url = post['url'] print url user_dict[user][url] = 1.0 all_items[url] = 1 print user_dict # VERY IMPORTANT # Recommendations don't need all items to be compared since it just need # item's name # But! to find similarity based on it is there or not , 1 or 0, # it has to have every item_name to be compared! # Otherwise, it is going to get similarity based on the items that they # have mutually. <-- VERY IMPORTANT for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} # find links posted by all users for user in user_dict: print "user: %s" % user posts = [] for i in range(3): try: posts = get_userposts(user) break except: print "failed user %s, retrying" % user time.sleep(4) # print "posts: ", posts if posts: for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print("Failed user " + user + ", retrying") time.sleep(4) try: for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 except: print('user: '******' has no posts') for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def get_ratings_for(users): user_ratings = {} all_items = set([]) for user in users: user_ratings[user] = {} for i in range(3): try: posts = get_userposts(user) break except: print "Failed user "+user+", retrying in 4 seconds" time.sleep(4) for post in posts: url = post['url'] user_ratings[user][url] = 1.0 all_items.add(url) # Fill in missing items with 0 # TODO: Don't think we should do this. for ratings in user_ratings.values(): for item in all_items: if item not in ratings: # Note: this relies on dictionary mutability ratings[item] = 0.0 return user_ratings
def fill_items(user_dict): """Queries del.icio.us and grabs all a user's links. Modifies the provided dictionary and fills it out with the links retrieved from the request. Args: user_dict: A dictionary with usernames as keys and empty dicts. """ all_items = {} # Find links posted by all users. for user in user_dict: for _ in range(3): try: posts = pydelicious.get_userposts(user) break except: print "Failed user " + user + ", retrying." time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 # Fill in the missing items with 0. for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def initializeUserDict(tag, count=5): user_dict = {} for p1 in get_popular(tag=tag)[0:count]: for p2 in get_userposts(p1['href']): user = p2['user'] user_dict[user] = {} return user_dict
def fill_items(user_dict): """ 사용자 정보를 채운다. 사용자의 포스트 정보를 채운다. 포스트를 본 적(?)이 있다면 1.0이 될 것이다. @type user_dict: dict @param user_dict: 사용자 정보 :return 모든 정보 """ all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except Exception, e: print e print "failed user " + user + ", tetrying" time.sleep(4) for post in posts: url = str(post['url']) user_dict[user][url] = 1.0 # 모든 아이템을 수집한다. all_items[url] = 1
def fillItems(user_dict): all_items={} # Find links posted by all users for user in user_dict: for i in range(3): try: posts=get_userposts(user) break except: print "Failed user "+user+", retrying" time.sleep(4) for post in posts: url=post['url'] #print user_dict[user] user_dict[user]=1.0 all_items[url]=1 # Fill in missing items with 0 #print (type(set(user_dict.values())),type(set(all_items.values()))) #print json.dumps(user_dict,indent=1) #print json.dumps(all_items,indent=1) not_in=set.difference(set(user_dict.keys()),set(all_items.keys())) #logging.info(not_in) # for ratings in user_dict.values( ): # for item in all_items: # if item not in ratings: # ratings[item]=0.0 #print not_in for item in not_in: user_dict[item]=0.0 return user_dict
def fill_items(user_dict): """ Returns: a dict whose keys are users and values are dicts of link: rating pairs, where 1 stands for having posted the link, else 0. """ all_items = {} for user in user_dict: for _ in range(3): try: posts = get_userposts(user) break except: print("Failed user " + user + ", retrying") sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0 return all_items
def get_userpost_details(user, num_retries=3, sleep_time=10): for i in range(num_retries): try: posts = get_userposts(user) break except: print "Exception caught while retrying for user ", user, " retry number ", i sleep(sleep_time) return posts
def get_userpost_details(user, num_retries = 3, sleep_time=10): for i in range(num_retries): try: posts = get_userposts(user) break except: print "Exception caught while retrying for user ", user, " retry number ", i sleep(sleep_time) return posts
def fillAll(user_dict): # Find links posted by all users for user in user_dict: for i in range(3): try: print 'getting userposts for', user posts = get_userposts(user) break except: print 'Failed user %s, retrying' % user time.sleep(4) user_dict[user] = posts
def fillItems(user_dict): all_items={} # Find links posted by all users for user in user_dict: if user is None or user=='': continue for post in get_userposts(user): url=post['url'] user_dict[user][url]=1.0 all_items[url]=1 # Fill in missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item]=0.0 return user_dict
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except Exception: print 'Failed user', user, ", retrying" for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} for user in user_dict: posts = {} for i in xrange(3): try: posts = get_userposts(user) break except: print "Failed user " + user + ", retrying" for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillitems(user_dict): all_items = {} for user in user_dict: try: posts = get_userposts(user) break except: print "Failed to Extract"+user+"posts" time.sleep(3) for post in posts: url = post['href'] user_dict[user][url]=1.0 all_items[url]=1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print 'fail' time.sleep(3) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: rating[item] = 0.0
def fillItems(user_dict): all_item={} for user in user_dict: for i in xrange(3): try: posts=get_userposts(user) except: print 'Failed user'+user+',retring' time.sleep(4) for post in posts: url=post['url'] user_dict[user][url]=1.0 all_item[url]=1 for rating in user_dict.values(): for item in all_item: if item not in rating: rating[item]=0.0
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Failed user "+ user + ",retrying" time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(userDict): allItems = {} for user in userDict: for _ in range(3): try: posts = get_userposts(user) break except: print 'Failed user ' + user + ', retrying...' time.sleep(4) for post in posts: url = post['url'] userDict[user][url] = 1.0 allItems[url] = 1 for ratings in userDict.values(): for item in allItems: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items ={} # 查找所有用户都提交过的链接 for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print('Failed user' + user +',retrying!') for post in posts: usl = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 # 用0 填充缺失项 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} # Find links posted by all users. for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Failed user " + user + ", retrying..." time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1 all_items[url] = 1 # Fill in missing items with 0. for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fill_items(user_dict): all_items={} # Find links posted by all users for user in user_dict: for i in range(3): try: posts=pydelicious.get_userposts(user) break; except: print "Failed to get posts from "+user+", retrying..." time.sleep(4) for post in posts: url=post['url'] user_dict[user][url]=1.0 all_items[url]=1 # Fill in missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item]=0.0
def fillItems(user_dict): all_items = {} # 查找所有用户都post过的url for user in user_dict.keys(): for i in range(3): try: posts = get_userposts(user) break except: print "Failed user " + user + ",retrying" time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 # 用0填充缺失的项 for ratings in user_dict.values(): for item in all_items.keys(): if not ratings.has_key(item): ratings[item] = 0.0
def fillItems(user_dict): all_items = {} #查找所有用户都提交过的链接 for user in user_dict: for _ in range(3): try: posts = get_userposts(user) break except: print("Failed user ", user, ", retrying") time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 #用0填充缺失的项 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(users): all_posts = {} for user in users: posts = [] for i in range(3): try: posts = get_userposts(user) print "Succedded for user " + user + " :)" break except: print "Failed User " + user + ", retrying" time.sleep(4) for post in posts: users[user][post["url"]] = 1.0 all_posts[post["url"]] = 1 for ratings in users.values(): for post in all_posts: if post not in ratings: ratings[post] = 0.0
def fillItems(user_dict): all_items = { } for user in user_dict: while (True): try: posts = get_userposts(user) break except: print 'Failed user' + user + ', retrying' time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items(): if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} #find links posted by all users for user in user_dict: for i in range(4): try: posts = get_userposts(user) break except: print "" + user + " User Failed, retrying" time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 # fill missing items with null for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Fail.wiat to reconnect" time.sleep(4) for post in posts: print post url = post["url"] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print("Faild user: "******", retrying") time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 for ratings in user_dict.valuse(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} # Find links posted by all users for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Failed user" + user + ",retrying" time.sleep(4) for post in posts: url = post["href"] user_dict[user][url] = 1.0 all_items[url] = 1 # Fillin missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[items] = 0.0
def fillItems(user_dict): all_items={} #Hitta länkar postade av alla användare for user in user_dict: for i in range(3): try: posts=get_userposts(user) break except: print("Failed user "+user+", retrying") time.sleep(4) for post in posts: url = post['href'] user_dict[user][url]=1.0 all_items[url]=1 #Fill the missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items={} #find links posted by all users for user in user_dict: for i in range(3): try: #this is a function? posts=get_userposts(user) break except: print "Failed user " +user+", retrying" time.sleep(4) #what's this function for post in posts: url=post['href'] user_dict[user][url]=1.0 all_items[url]=1 #fill in missing items with 0 for ratings in user_dict.values( ): for item in all_items: if item not in ratings: ratings[item]=0.0
def fillItems(user_dict): all_items = {} # 모든 사용자가 올린 링크를 수집 for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Failed user " + user + ", retrying" time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 # 평가점수가 없는 경우 0으로 채움 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} #查找用户名提交过的连接,并在字典里添加 for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print "Failed user " + user + ", retrying" time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1 #用0填充缺失的项(这一步必要吗??) for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} #Find links posted by all users for user in user_dict: for i in range(3): try: #test for users. if errors output error then sleep for 4 seconds posts = get_userposts(user) break except: print "Failed user " + user + ", retrying" time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 all_items[url] = 1 #fill in missing items with 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict): all_items = {} # find links, which saved by all users for user in user_dict: for i in range(3): try: posts = get_userposts(user) break except: print("Error for user " + user + ", try again") time.sleep(4) for post in posts: url = post['href'] user_dict[user][url] = 1.0 # If not exist write 0 for ratings in user_dict.values(): for item in all_items: if item not in ratings: ratings[item] = 0.0
def fillItems(user_dict) : all_items = {} # 查找所有用户都提价过的链接 for user in user_dict: for i in range(3): try : posts = pydelicious.get_userposts(user) break except: print "Failed user " +user+ ", Retying." time.sleep(4) for post in posts: url = post['url'] user_dict[user][url] = 1.0 all_items[url] = 1.0 # 用0填充缺失的项 for ratings in user_dict.values() : for item in all_items: if item not in ratings : ratings[item] = 0.0
def get_prefs(users): prefs = defaultdict(dict) all_urls = set() for user in users: #repetive request, iteration out = 3 print users.index(user) for i in xrange(4): try: posts = get_userposts(user) break except: print "retrying %s" % user sleep(3) for post in posts: prefs[user][post["url"]] = 1. all_urls.add(post["url"]) print len(prefs[users[0]]) for user in users: for url in all_urls: if url not in prefs[user]: prefs[user][url] = 0. #set unsaved urls' value to 0 print len(prefs[users[0]]), len(all_urls) return prefs
r.append(result) result = p.getrss(tag="python", popular=1) r.append(result) result = p.getrss(tag="python ajax", popular=1) r.append(result) result = p.getrss(tag="python", user="******") r.append(result) result = p.getrss(user="******") r.append(result) result = p.getrss(tag="python ajax", user="******") r.append(result) result = p.getrss() r.append(result) result = p.getrss(url="http://www.heise.de/") r.append(result) result = p.get_userposts("delpy") r.append(result) result = p.get_tagposts("python") r.append(result) result = p.get_urlposts("http://www.heise.de/") r.append(result) result = p.get_popular() r.append(result) result = p.get_popular(tag="python") r.append(result) for i in range(len(r)): if r[i].bozo == 1: print "Catched a exception" print i print r[i]["debug"]