示例#1
0
class TestProject(BehanceTestCase):

    def test_search(self):
        projects = self.api.project_search('apple')
        self.assertEqual(len(projects), 12)
        for project in projects:
            for key in PROJECT_KEYS:
                self.assertTrue(project.has_key(key))
                self.assertTrue(hasattr(project, key))

    def test_project(self):
        project = self.api.get_project(PROJECT_ID)
        self.assertIsNotNone(project)
        for key in PROJECT_KEYS:
            self.assertTrue(hasattr(project, key))
            self.assertTrue(project.has_key(key))

    def test_comments(self):
        project = self.api.get_project(PROJECT_ID)
        comments = project.get_comments()
        self.assertGreater(len(comments), 1)
        for comment in comments:
            for key in ['user', 'comment']:
                self.assertTrue(comment.has_key(key))
                self.assertTrue(hasattr(comment, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            project = self.api.get_project(1234)
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            projs = self.api.project_search('apple')
示例#2
0
class TestCollection(BehanceTestCase):

    def test_search(self):
        collections = self.api.collection_search('apple')
        self.assertGreaterEqual(len(collections), 1)
        for collection in collections:
            for key in COLLECTION_KEYS:
                self.assertTrue(collection.has_key(key))
                self.assertTrue(hasattr(collection, key))

    def test_collection(self):
        collection = self.api.get_collection(COLLECTION_ID)
        self.assertIsNotNone(collection)
        for key in COLLECTION_KEYS:
            self.assertTrue(hasattr(collection, key))
            self.assertTrue(collection.has_key(key))

    def test_collection_projects(self):
        collection = self.api.get_collection(COLLECTION_ID)
        projects = collection.get_projects()
        for project in projects:
            for key in PROJECT_KEYS:
                self.assertTrue(project.has_key(key))
                self.assertTrue(hasattr(project, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            collection = self.api.get_collection('asdf1234')
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            collections = self.api.collection_search('apple')
示例#3
0
class TestWIP(BehanceTestCase):

    def test_search(self):
        wips = self.api.wip_search('apple')
        self.assertEqual(len(wips), 12)
        for wip in wips:
            for key in WIP_KEYS:
                self.assertTrue(wip.has_key(key))
                self.assertTrue(hasattr(wip, key))

    def test_wip(self):
        wip = self.api.get_wip(WIP_ID)
        self.assertIsNotNone(wip)
        for key in WIP_KEYS:
            self.assertTrue(hasattr(wip, key))
            self.assertTrue(wip.has_key(key))

    def test_revision(self):
        wip = self.api.get_wip(WIP_ID)
        revision = wip.get_revision(WIP_REVISION_ID)
        for key in ['id', 'description', 'url']:
            self.assertTrue(revision.has_key(key))
            self.assertTrue(hasattr(revision, key))

    def test_comments(self):
        wip = self.api.get_wip(WIP_ID)
        comments = wip.get_revision_comments(WIP_REVISION_ID)
        for comment in comments:
            for key in ['user', 'comment', 'created_on']:
                self.assertTrue(comment.has_key(key))
                self.assertTrue(hasattr(comment, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            wip = self.api.get_wip('asdf1234')
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            wips = self.api.wip_search('apple')
示例#4
0
class TestUser(BehanceTestCase):

    def test_search(self):
        users = self.api.user_search('alex')
        self.assertEqual(len(users), 12)
        for user in users:
            for key in USER_KEYS:
                self.assertTrue(user.has_key(key))
                self.assertTrue(hasattr(user, key))

    def test_user(self):
        user = self.api.get_user(USER_NAME)
        self.assertIsNotNone(user)
        for key in USER_KEYS:
            self.assertTrue(hasattr(user, key))
            self.assertTrue(user.has_key(key))

    def test_user_projects(self):
        user = self.api.get_user(USER_NAME)
        projects = user.get_projects()
        self.assertIsNotNone(projects)
        for project in projects:
            for key in PROJECT_KEYS:
                self.assertTrue(project.has_key(key))
                self.assertTrue(hasattr(project, key))

    def test_user_wips(self):
        user = self.api.get_user(USER_NAME)
        wips = user.get_wips()
        self.assertIsNotNone(wips)
        for wip in wips:
            for key in WIP_KEYS:
                self.assertTrue(wip.has_key(key))
                self.assertTrue(hasattr(wip, key))

    def test_user_appreciations(self):
        user = self.api.get_user(USER_NAME)
        appreciations = user.get_appreciations()
        self.assertIsNotNone(appreciations)
        for appreciation in appreciations:
            for key in ['project', 'timestamp']:
                self.assertTrue(appreciation.has_key(key))
                self.assertTrue(hasattr(appreciation, key))

    def test_user_collections(self):
        user = self.api.get_user(USER_NAME)
        collections = user.get_collections()
        self.assertIsNotNone(collections)
        for collection in collections:
            for key in COLLECTION_KEYS:
                self.assertTrue(collection.has_key(key))
                self.assertTrue(hasattr(collection, key))

    def test_user_stats(self):
        user = self.api.get_user(USER_NAME)
        stats = user.get_stats()
        self.assertIsNotNone(stats)
        self.assertTrue(stats.has_key('today'))
        self.assertTrue(stats.has_key('all_time'))
        self.assertTrue(hasattr(stats, 'today'))
        self.assertTrue(hasattr(stats, 'all_time'))

    def test_user_followers(self):
        user = self.api.get_user(USER_NAME)
        followers = user.get_followers()
        self.assertIsNotNone(followers)
        for follower in followers:
            self.assertTrue(follower.has_key('id'))
            self.assertTrue(follower.has_key('username'))
            self.assertTrue(hasattr(follower, 'id'))
            self.assertTrue(hasattr(follower, 'username'))

    def test_user_following(self):
        user = self.api.get_user(USER_NAME)
        following = user.get_following()
        self.assertIsNotNone(following)
        for follow in following:
            self.assertTrue(follow.has_key('id'))
            self.assertTrue(follow.has_key('username'))
            self.assertTrue(hasattr(follow, 'id'))
            self.assertTrue(hasattr(follow, 'username'))

    def test_user_work_experience(self):
        user = self.api.get_user(USER_NAME)
        work_experience = user.get_work_experience()
        WE_KEYS = ['position', 'organization', 'location']
        for we in work_experience:
            for key in WE_KEYS:
                self.assertTrue(we.has_key(key))
                self.assertTrue(hasattr(we, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            user = self.api.get_user('asdf1234')
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            users = self.api.user_search('apple')
示例#5
0
 def test_exception(self):
     with self.assertRaises(NotFound):
         project = self.api.get_project(1234)
     with self.assertRaises(Forbidden):
         self.api = API('12345')
         projs = self.api.project_search('apple')
示例#6
0
 def setUp(self):
     self.api = API(API_KEY)
示例#7
0
 def test_exception(self):
     with self.assertRaises(NotFound):
         collection = self.api.get_collection('asdf1234')
     with self.assertRaises(Forbidden):
         self.api = API('12345')
         collections = self.api.collection_search('apple')
示例#8
0
 def test_exception(self):
     with self.assertRaises(NotFound):
         wip = self.api.get_wip('asdf1234')
     with self.assertRaises(Forbidden):
         self.api = API('12345')
         wips = self.api.wip_search('apple')
示例#9
0
 def test_exception(self):
     with self.assertRaises(NotFound):
         user = self.api.get_user('asdf1234')
     with self.assertRaises(Forbidden):
         self.api = API('12345')
         users = self.api.user_search('apple')
示例#10
0
from behance_python3.api import API
import os
import csv
import time

# # 时间戳转换
# def timeTrans(stamp):
#     timeArray = time.localtime(stamp)
#     transTime = time.strftime('%Y%m%d', timeArray)
#     return transTime
#
# path = 'files'
# if not os.path.exists(path):
#     os.makedirs(path)

behance = API('mCfVlxzktvga8E0HPEDt1GjzS1943EFp')

# # 任选一个项目打印存储
# project1 = behance.get_project(project_id='4889175')
project1 = behance.get_project(project_id='69010049')
print(project1)
# # print(project1.modules[0])
# # print(project1.modules[0].sizes.original)
# project_image = [module.src for module in project1.modules if module.type == 'image']
# print(project_image[0])

# # 查找某个用户
user1 = project1.owners
# print(user1)
print(project1.stats)
print(user1[0].stats)