Esempio n. 1
0
 def test_init_values(self):
     user = users.User('*****@*****.**')    
     creator = Creator(user = user)
     creator.put()
     
     self.assertEqual(user.nickname(),creator.name)
     self.assertEqual(user.email(),creator.email)
     self.assertEqual(user.user_id(),creator.user_id)
     self.assertEqual(1,creator.rep)
Esempio n. 2
0
 def test_find_from_find_or_create(self):
     boragle = self.make_boragle()
     avatar = Avatar(boragle = boragle, creator = self.creator)
     avatar.put()
     
     creator2 = Creator(user = users.User('*****@*****.**'))
     creator2.put()
     avatar2 = Avatar(boragle = boragle, creator = creator2)
     avatar2.put()
     
     avatar_from_db = Avatar.find_or_create(boragle = boragle, creator = self.creator)
     self.assertEqual(avatar.key(),avatar_from_db.key())
     
     avatar_from_db = Avatar.find_or_create(boragle = boragle, creator = creator2)
     self.assertEqual(avatar2.key(),avatar_from_db.key())
Esempio n. 3
0
 def test_values_are_initialized_only_once(self):
     user = users.User('*****@*****.**')    
     creator = Creator(user = user)
     creator.put()
     creator.name = "the new name"
     creator.email = '*****@*****.**'
     creator.rep = 100
     creator.put()
     self.assertEqual("the new name",creator.name)
     self.assertEqual('*****@*****.**',creator.email)
     self.assertEqual(100,creator.rep)
Esempio n. 4
0
 def test_find_by_id(self):
     user = users.User('*****@*****.**')    
     creator = Creator(user = user)
     creator.put()
     creator.user_id = '4545'
     creator.put()
     creator_from_db = Creator.find_by_id('4545')
     self.assertEqual(creator_from_db.name,creator.name)
Esempio n. 5
0
    def test_add_creator_with_null_img(self):

        newCreator = Creator(9021090, "Alan Hopkins", None, 0, 0, 0)
        db.session.add(newCreator)
        db.session.commit()
        query = db.session.query(Creator).filter_by(id="9021090").first()
        self.assertEqual(query.id, 9021090)
        self.assertEqual(query.full_name, "Alan Hopkins")
        self.assertEqual(query.img, None)
        self.assertEqual(query.num_comics, 0)
        self.assertEqual(query.num_series, 0)
        self.assertEqual(query.num_events, 0)
        db.session.delete(newCreator)
        db.session.commit()
Esempio n. 6
0
    def test_add_creator(self):

        newCreator = Creator(9021090, "Fake Creator",
                             "http://www.whitehouse.gov/obama.jpg", 1, 8, 44)
        db.session.add(newCreator)
        db.session.commit()
        query = db.session.query(Creator).filter_by(id="9021090").first()
        self.assertEqual(query.id, 9021090)
        self.assertEqual(query.full_name, "Fake Creator")
        self.assertEqual(query.img, "http://www.whitehouse.gov/obama.jpg")
        self.assertEqual(query.num_comics, 1)
        self.assertEqual(query.num_series, 8)
        self.assertEqual(query.num_events, 44)
        db.session.delete(newCreator)
        db.session.commit()
Esempio n. 7
0
 def test_creator_url(self):
     user = users.User('*****@*****.**')    
     creator = Creator(user = user)
     creator.put()
     creator.user_id = '4545'
     self.assertEqual(creator.url,'/users/'+creator.user_id)
Esempio n. 8
0
 def test_creator_is_automatically_registered_on_first_login(self):
     old_count = Creator.all().count()
     self.login('*****@*****.**')
     self.app.get('/')
     self.assertEqual(1,Creator.all().count()-old_count)
     self.assertEqual('*****@*****.**',Creator.all().fetch(1)[0].name)
Esempio n. 9
0
def main():
    marvel = MarvelRequest()
    """
	json.loads(String) takes in json formatted string, and outputs 
	 data according to the conversion table at json library website
	"""

    index = 0

    for offset in range(0, 10000, 20):

        response = marvel.request("creators",
                                  offset)  # No trailing slash allowed here
        print(response.status_code)
        assert response.status_code == 200
        creators = json.loads(response.text)

        idNum = 0
        full_name = ""
        path = ""
        numComics = ""
        numSeries = ""
        numEvents = ""

        for creators_meta_keys, creators_meta_data in creators['data'].items():
            # creators_meta_keys: offset, limit, total, count, results[] from Marvel JSON structure
            if creators_meta_keys == 'results':
                for creators in creators_meta_data:
                    if creators['id'] != "":
                        #if creators['description'] != "":
                        for creators_attribute_keys, creators_attribute in creators.items(
                        ):
                            # now stepping through title, description, thumbnail, etc.
                            if creators_attribute_keys == 'id':
                                idNum = int(creators_attribute)
                                #idNum = idNum.encode('utf-8')

                            elif creators_attribute_keys == 'fullName':
                                full_name = creators_attribute
                                full_name = full_name.encode('utf-8')
                                #print('Title: ' + title)

                            elif creators_attribute_keys == 'thumbnail':
                                path = str(creators_attribute['path'])
                                temp = path.split('/')
                                for v in temp:
                                    if v == 'image_not_available':
                                        path = None
                                if path != None:
                                    path = path + '.' + creators_attribute[
                                        'extension']
                                #print (path)

                            elif creators_attribute_keys == 'comics':
                                #print("Comics in creators: " + str(creators_attribute['available']))
                                numComics = int(
                                    creators_attribute['available'])

                            elif creators_attribute_keys == 'series':
                                #print("Number of events in series: " + str(series_attribute['available']))
                                numSeries = int(
                                    creators_attribute['available'])
                                #uris = []
                                #for series in creators_attribute['items'] :
                                #	resource_path = str(series['resourceURI']).split('/')
                                #	uris += resource_path[-1]

                            elif creators_attribute_keys == 'events':
                                #print("Number of events in creators: " + str(creators_attribute['available']))
                                numEvents = int(
                                    creators_attribute['available'])
                                #	uris = []
                                #for events in creators_attribute['items'] :
                                #	resource_path = str(events['resourceURI']).split('/')
                                #	uris += resource_path[-1]

                        newEntry = Creator(idNum, full_name, path, numComics,
                                           numSeries, numEvents)
                        db.session.merge(newEntry)
                        db.session.commit()
                        index += 1
                        print("processed creators " + str(index))
Esempio n. 10
0
import dateparser
Esempio n. 11
0
 def initialize(self, request, response):
     self.creator = None
     current_user = users.get_current_user()
     if current_user:
         self.creator = Creator.get_by_key_name(current_user.user_id()) or Creator.get_or_insert(current_user.user_id(), user = current_user)
     return super(ExtendedHandler, self).initialize(request, response)
Esempio n. 12
0
 def get(self, user_id):
     user = Creator.find_by_id(user_id)
     self.render_template('user', dict(user = user, 
                                         authdetails = utils.authdetails(user.url),
                                         creator = self.creator))
Esempio n. 13
0
 def make_creator(self):
     user = users.get_current_user()
     return Creator.get_or_insert(user.user_id(), user = user)