Пример #1
0
def main():
    '''Calls the API, calls the transform method, and print the 
    transformed data
    '''
    host = os.environ['PEOPLE_SERVICE_HOST']
    original_data = PeopleServiceClient(host).get_people()

    if original_data != None:
        transformed_data = Transformer().transform(original_data)
        for gender, cats in transformed_data.iteritems():
            print gender
            for cat in cats:
                print '\t' + cat
Пример #2
0
 def test_key_selector_should_work(self):
     person = '''{
                     "name": "Bob",
                     "gender": "Male",
                     "age": 23
                 }'''
     self.assertEqual(Transformer().key_selector(json.loads(person)), 'Male')
Пример #3
0
 def test_cats_name_should_be_sorted(self):
     people = '''[{
                     "name": "Bob",
                     "gender": "Male",
                     "age": 23,
                     "pets": [{
                         "name": "Arfield",
                         "type": "Cat"
                     }, {
                         "name": "Fido",
                         "type": "Dog"
                     }]
                 }, {
                     "name": "Jennifer",
                     "gender": "Male",
                     "age": 18,
                     "pets": [{
                         "name": "Garfield",
                         "type": "Cat"
                     }]
                 }]'''
 
     cats = Transformer().transform(json.loads(people))['Male']
     self.assertEqual('Arfield', cats[0])
     self.assertEqual('Garfield', cats[1])
Пример #4
0
    def test_resolve_empty_pets_should_work(self):
        person = '''[{
                        "name": "Aries",
                        "gender": "Male",
                        "age": 32,
                        "pets": []
                    }]'''

        pets = Transformer().resolve_pets(json.loads(person))
        self.assertEqual(0, len(pets))
Пример #5
0
    def test_resolve_cat_name_with_lower_case_should_work(self):
        pets = '''[{
                    "name": "Garfield",
                    "type": "cat"
                }, {
                    "name": "Fido",
                    "type": "Dog"
                }]'''

        pets = Transformer().resolve_cat_name(json.loads(pets))
        self.assertEqual(1, len(pets))
        self.assertEqual('Garfield', pets[0])
Пример #6
0
    def test_flatten_should_work(self):
        pets = '''[[{
                    "name": "Garfield",
                    "type": "cat"
                }, {
                    "name": "Fido",
                    "type": "Dog"
                }],[{
                    "name": "Momo",
                    "type": "Dog"
                }]]'''

        pets = Transformer().flatten(json.loads(pets))
        self.assertEqual(3, len(pets))
Пример #7
0
 def test_resolve_pets_should_work(self):
     person = '''[{
                     "name": "Bob",
                     "gender": "Male",
                     "age": 23,
                     "pets": [{
                         "name": "Garfield",
                         "type": "Cat"
                     }, {
                         "name": "Fido",
                         "type": "Dog"
                     }]
                 }]'''
     pets = Transformer().resolve_pets(json.loads(person))
     self.assertEqual(2, len(pets))
Пример #8
0
    def test_resolve_cat_name_with_empty_list_should_work(self):
        pets = []

        pets = Transformer().resolve_cat_name(pets)
        self.assertEqual(0, len(pets))
Пример #9
0
    def test_flatten_empty_should_work(self):
        pets = []

        pets = Transformer().flatten(pets)
        self.assertEqual(0, len(pets))
Пример #10
0
 def fit(self, model_path):
     model = Transformer()
     model.load_state_dict(torch.load(model_path))
     self.model = model.eval()
     return self