예제 #1
0
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
예제 #3
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
예제 #4
0
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
예제 #6
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
예제 #8
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
예제 #9
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
예제 #11
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
예제 #12
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
예제 #16
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
예제 #17
0
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
예제 #18
0
파일: Workers.py 프로젝트: wandeg/AI
	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 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
예제 #20
0
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
예제 #24
0
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
예제 #25
0
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
예제 #27
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
예제 #28
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
예제 #30
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
예제 #31
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
예제 #32
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
예제 #34
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
예제 #35
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
예제 #36
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
예제 #37
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
예제 #40
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
예제 #42
0
파일: ex1.py 프로젝트: tfka/python_code
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
예제 #43
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
예제 #44
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
예제 #45
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
예제 #46
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
예제 #48
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
예제 #49
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
예제 #51
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
예제 #53
0
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"]