コード例 #1
0
    def load_reviews(self):
        """Fetches the MAL user reviews page and sets the current user's reviews attributes.

    :rtype: :class:`.User`
    :return: Current user object.

    """
        page = 0
        # collect all reviews over all pages.
        review_collection = []
        while True:
            user_reviews = self.session.session.get(
                u'http://myanimelist.net/profile/' +
                utilities.urlencode(self.username) + u'/reviews&' +
                urllib.urlencode({u'p': page})).text
            parse_result = self.parse_reviews(
                utilities.get_clean_dom(user_reviews))
            if page == 0:
                # only set attributes once the first time around.
                self.set(parse_result)
            if len(parse_result[u'reviews']) == 0:
                break
            review_collection.append(parse_result[u'reviews'])
            page += 1

        # merge the review collections into one review dict, and set it.
        self.set({
            'reviews':
            {k: v
             for d in review_collection for k, v in d.iteritems()}
        })
        return self
コード例 #2
0
ファイル: user.py プロジェクト: rachmadaniHaryono/python-mal
    def load_reviews(self):
        """Fetch the MAL user reviews page and sets the current user's reviews attributes.

        :rtype: :class:`.User`
        :return: Current user object.

        """
        page = 0
        # collect all reviews over all pages.
        review_collection = []
        while True:
            user_reviews = self.session.session.get(
                u'http://myanimelist.net/profile/' +
                utilities.urlencode(self.username) +
                u'/reviews&' +
                urlencode({u'p': page})
            ).text
            parse_result = self.parse_reviews(utilities.get_clean_dom(user_reviews))
            if page == 0:
                # only set attributes once the first time around.
                self.set(parse_result)
            if len(parse_result['reviews']) == 0:
                break
            review_collection.append(parse_result['reviews'])
            page += 1

        # merge the review collections into one review dict, and set it.
        self.set({
            'reviews': {k: v for d in review_collection for k, v in d.items()}
        })
        return self
コード例 #3
0
  def load_friends(self):
    """Fetches the MAL user friends page and sets the current user's friends attributes.

    :rtype: :class:`.User`
    :return: Current user object.

    """
    user_friends = self.session.session.get(u'http://myanimelist.net/profile/' + utilities.urlencode(self.username) + u'/friends').text
    self.set(self.parse_friends(utilities.get_clean_dom(user_friends)))
    return self
コード例 #4
0
ファイル: user.py プロジェクト: DanBrink91/python-mal
  def load_friends(self):
    """Fetches the MAL user friends page and sets the current user's friends attributes.

    :rtype: :class:`.User`
    :return: Current user object.

    """
    user_friends = self.session.session.get(u'http://myanimelist.net/profile/' + utilities.urlencode(self.username) + u'/friends').text
    self.set(self.parse_friends(utilities.get_clean_dom(user_friends)))
    return self
コード例 #5
0
ファイル: user.py プロジェクト: rachmadaniHaryono/python-mal
    def load(self):
        """Fetch the MAL user page and sets the current user's attributes.

        :rtype: :class:`.User`
        :return: Current user object.

        """
        user_profile = self.session.session.get(
            'http://myanimelist.net/profile/' + utilities.urlencode(self.username)).text
        self.set(self.parse(utilities.get_clean_dom(user_profile)))
        return self
コード例 #6
0
ファイル: media.py プロジェクト: gitter-badger/python-mal
    def load_stats(self):
        """Fetches the MAL media statistics page and sets the current media's statistics attributes.

        :rtype: :class:`.Media`
        :return: current media object.

        """
        stats_page = self.session.session.get(u'http://myanimelist.net/' + self.__class__.__name__.lower() + u'/' + str(
            self.id) + u'/' + utilities.urlencode(self.title) + u'/stats').text
        self.set(self.parse_stats(utilities.get_clean_dom(stats_page)))
        return self
コード例 #7
0
ファイル: person.py プロジェクト: gitter-badger/python-mal
    def load_pictures(self):
        """Fetche the MAL person pictures page and sets the current character's pictures attributes.

        :rtype: :class:`.Person`
        :return: Current person object.

        """
        person = self.session.session.get(
            u'http://myanimelist.net/person/' + str(self.id) + u'/' + utilities.urlencode(
                self.name) + u'/pictures').text
        self.set(self.parse_pictures(utilities.get_clean_dom(person)))
        return self
コード例 #8
0
    def load_clubs(self):
        """Fetches the MAL character clubs page and sets the current character's clubs attributes.

        :rtype: :class:`.Character`
        :return: Current character object.

        """
        character = self.session.session.get(
            u'http://myanimelist.net/character/' + str(self.id) + u'/' +
            utilities.urlencode(self.name) + u'/clubs').text
        self.set(self.parse_clubs(utilities.get_clean_dom(character)))
        return self
コード例 #9
0
ファイル: character.py プロジェクト: gitter-badger/python-mal
    def load_clubs(self):
        """Fetches the MAL character clubs page and sets the current character's clubs attributes.

        :rtype: :class:`.Character`
        :return: Current character object.

        """
        character = self.session.session.get(
            u'http://myanimelist.net/character/' + str(self.id) + u'/' + utilities.urlencode(
                self.name) + u'/clubs').text
        self.set(self.parse_clubs(utilities.get_clean_dom(character)))
        return self
コード例 #10
0
ファイル: person.py プロジェクト: gitter-badger/python-mal
    def load_pictures(self):
        """Fetche the MAL person pictures page and sets the current character's pictures attributes.

        :rtype: :class:`.Person`
        :return: Current person object.

        """
        person = self.session.session.get(u'http://myanimelist.net/person/' +
                                          str(self.id) + u'/' +
                                          utilities.urlencode(self.name) +
                                          u'/pictures').text
        self.set(self.parse_pictures(utilities.get_clean_dom(person)))
        return self
コード例 #11
0
ファイル: media.py プロジェクト: gitter-badger/python-mal
    def load_characters(self):
        """Fetches the MAL media characters page and sets the current media's character attributes.

        :rtype: :class:`.Media`
        :return: current media object.

        """
        character_page_url = u'http://myanimelist.net/' + self.__class__.__name__.lower() + u'/' + str(
                self.id) + u'/' + utilities.urlencode(self.title) + u'/characters'
        characters_page = self.session.session.get(character_page_url).text
        characters_page_original = bs4.BeautifulSoup(characters_page,'lxml') 
        self.set(self.parse_characters(utilities.get_clean_dom(characters_page), characters_page_original))
        return self
コード例 #12
0
ファイル: user.py プロジェクト: rachmadaniHaryono/python-mal
    def load_recommendations(self):
        """Fetch the MAL user recommendations page.

        :rtype: :class:`.User`
        :return: Current user object.

        """
        user_recommendations = self.session.session.get(
            u'http://myanimelist.net/profile/' +
            utilities.urlencode(self.username) +
            u'/recommendations'
        ).text
        self.set(self.parse_recommendations(utilities.get_clean_dom(user_recommendations)))
        return self
コード例 #13
0
ファイル: media.py プロジェクト: AlfredXue/MALAnalysis
    def load_characters(self):
        """Fetches the MAL media characters page and sets the current media's character attributes.

    :rtype: :class:`.Media`
    :return: current media object.

    """
        characters_page = self.session.session.get(
            u'http://myanimelist.net/' + self.__class__.__name__.lower() +
            u'/' + str(self.id) + u'/' + utilities.urlencode(self.title) +
            u'/characters').text
        self.set(
            self.parse_characters(utilities.get_clean_dom(characters_page)))
        return self
コード例 #14
0
ファイル: anime.py プロジェクト: rachmadaniHaryono/python-mal
    def load_videos(self):
        """Fetch the MAL media videos page and sets the current media's promotion videos attr.

        :rtype: :class:`.Anime`
        :return: current media object.

        """
        url = ParseResult(
            scheme='https',
            netloc='myanimelist.net',
            path='/'.join([
                '',  # empty string to make path start with '/'
                self.__class__.__name__.lower(),
                str(self.id),
                utilities.urlencode(self.title),
                'video'
            ]),
            params='', query='', fragment=''
            ).geturl()
        videos_page = self.session.session.get(url).text
        promotion_videos = self.parse_promotion_videos(utilities.get_clean_dom(videos_page))
        self.set({'promotion_videos': promotion_videos})
        return self