-3
아래 코드와 같은 인스턴스가 많이 있습니다. 어떻게 그들을 추상화하고 재사용 할 수 있습니까?재사용 가능한 코드를 만드는 방법은 무엇입니까?
#json_generator() is a function that yields paginated json
#Foo and Bar are sqlalchemy models
def fetch_foo_data():
URL = BASE_URL + ','.join(Foo.__table__.columns.keys())
return json_generator(URL)
def fetch_bar_data():
#Bar model has id as primary key that doesn't exist in the JSON data
#so I am excluding it
URL = BASE_URL + ','.join(Bar.__table__.columns.keys()[1:])
return json_generator(URL)
def bulk_load_foo_data():
for json in fetch_foo_data():
foos = map(lambda foo: Foo(**foo), json)
try:
session.bulk_save_objects(foos)
session.commit()
except Exception as e:
print e
session.rollback()
def bulk_load_bar_data():
for json in fetch_bar_data():
bars = map(lambda bar: Bar(**bar), json)
try:
session.bulk_save_objects(bars)
session.commit()
except Exception as e:
print e
session.rollback()
누군가가 설명 할 수 왜 그가 downvote 않았다? 나는 내 대표를 걱정하지 않는다. 그러나 나는 정말로 내가 잘못한 것을 이해하지 못한다.''(' –