コード例 #1
0
ファイル: tests.py プロジェクト: deancarpenter17/idb
    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()
コード例 #2
0
ファイル: tests.py プロジェクト: deancarpenter17/idb
    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()
コード例 #3
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))
コード例 #4
0
ファイル: app.py プロジェクト: Thembahank/events-manager-api
import dateparser