@@ -31,9 +31,8 @@ def producer_photos(uids: Optional[List[str]] = None, limit: Optional[int] = 5):
3131 status_code = 404 ,
3232 content = Message (message = "to large limit = {}" .format (limit ))
3333 )
34- _logger .info ("producer_photos get limi %s" % limit )
35- session = DBSession ()
36- try :
34+ _logger .info ("producer_photos get limit %s" % limit )
35+ with DBSession () as session :
3736 q = session .query (
3837 AwslProducer
3938 ).filter (
@@ -51,8 +50,6 @@ def producer_photos(uids: Optional[List[str]] = None, limit: Optional[int] = 5):
5150 photos = awsl_list (uid = producer .uid , limit = limit )
5251 ) for producer in producers
5352 ]
54- finally :
55- session .close ()
5653
5754
5855@router .get ("/v2/list" , response_model = List [BlobItem ], responses = {404 : {"model" : Message }}, tags = ["AwslV2" ])
@@ -63,8 +60,7 @@ def awsl_list(uid: Optional[str] = "", limit: Optional[int] = 10, offset: Option
6360 content = Message (message = "to large limit = {}" .format (limit ))
6461 )
6562 _logger .info ("list get uid %s limit %s offest %s" % (uid , limit , offset ))
66- session = DBSession ()
67- try :
63+ with DBSession () as session :
6864 blobs = session .query (AwslBlob ).join (Mblog , AwslBlob .awsl_id == Mblog .id ).filter (
6965 Mblog .uid == uid
7066 ).order_by (AwslBlob .awsl_id .desc ()).limit (limit ).offset (offset ).all () if uid else session .query (AwslBlob ).join (
@@ -81,40 +77,31 @@ def awsl_list(uid: Optional[str] = "", limit: Optional[int] = 10, offset: Option
8177 for blob_key , blob_pic in Blobs .parse_raw (blob .pic_info ).blobs .items ()
8278 }
8379 ) for blob in blobs if blob .awsl_mblog ]
84- finally :
85- session .close ()
86- return res
80+ return res
8781
8882
8983@router .get ("/v2/list_count" , response_model = int , tags = ["AwslV2" ])
9084def awsl_list_count (uid : Optional [str ] = "" ) -> int :
91- session = DBSession ()
92- try :
85+ with DBSession () as session :
9386 res = session .query (func .count (AwslBlob .id )).join (Mblog , AwslBlob .awsl_id == Mblog .id ).filter (
9487 Mblog .uid == uid
9588 ).one () if uid else session .query (func .count (AwslBlob .id )).one ()
96- finally :
97- session .close ()
98- return int (res [0 ]) if res else 0
89+ return int (res [0 ]) if res else 0
9990
10091
10192@router .get ("/v2/random" , response_model = str , tags = ["AwslV2" ])
10293def awsl_random () -> str :
103- session = DBSession ()
104- try :
94+ with DBSession () as session :
10595 blob = session .query (AwslBlob ).order_by (
10696 func .rand ()
10797 ).limit (1 ).one ()
10898 url_dict = Blobs .parse_raw (blob .pic_info ).blobs
10999 return url_dict ["original" ].url
110- finally :
111- session .close ()
112100
113101
114102@router .get ("/v2/random_json" , response_model = BlobItem , tags = ["AwslV2" ])
115103def awsl_random_json () -> str :
116- session = DBSession ()
117- try :
104+ with DBSession () as session :
118105 blob = session .query (AwslBlob ).order_by (
119106 func .rand ()
120107 ).limit (1 ).one ()
@@ -130,5 +117,3 @@ def awsl_random_json() -> str:
130117 for blob_key , blob_pic in Blobs .parse_raw (blob .pic_info ).blobs .items ()
131118 }
132119 )
133- finally :
134- session .close ()
0 commit comments