Skip to content

Commit 7286dc7

Browse files
committed
Refactor vk_upload
1 parent cd86caa commit 7286dc7

1 file changed

Lines changed: 27 additions & 26 deletions

File tree

vk_api/vk_upload.py

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ def photo(self, photos, album_id,
4444
url = self.vk.method('photos.getUploadServer', values)['upload_url']
4545

4646
# Загружаем
47-
photos_files = open_photos(photos)
47+
photos_files = open_files(photos)
4848
response = self.vk.http.post(url, files=photos_files).json()
49-
close_photos(photos_files)
49+
close_files(photos_files)
5050

5151
# Олег Илларионов:
5252
# это не могу к сожалению просто пофиксить
@@ -75,9 +75,9 @@ def photo_messages(self, photos):
7575

7676
url = self.vk.method('photos.getMessagesUploadServer')['upload_url']
7777

78-
photos_files = open_photos(photos)
78+
photos_files = open_files(photos)
7979
response = self.vk.http.post(url, files=photos_files)
80-
close_photos(photos_files)
80+
close_files(photos_files)
8181

8282
response = self.vk.method('photos.saveMessagesPhoto', response.json())
8383

@@ -108,9 +108,9 @@ def photo_profile(self, photo, owner_id=None, crop_x=None, crop_y=None, crop_wid
108108

109109
url = self.vk.method('photos.getOwnerPhotoUploadServer', values)['upload_url']
110110

111-
photos_files = open_photos(photo, key_format='file')
111+
photos_files = open_files(photo, key_format='file')
112112
response = self.vk.http.post(url, data=crop_params, files=photos_files)
113-
close_photos(photos_files)
113+
close_files(photos_files)
114114

115115
response = self.vk.method('photos.saveOwnerPhoto', response.json())
116116

@@ -125,9 +125,9 @@ def photo_chat(self, photo, chat_id):
125125
values = {'chat_id': chat_id}
126126
url = self.vk.method('photos.getChatUploadServer', values)['upload_url']
127127

128-
photo_file = open_photos(photo)
128+
photo_file = open_files(photo)
129129
response = self.vk.http.post(url, files=photo_file)
130-
close_photos(photo_file)
130+
close_files(photo_file)
131131

132132
response = self.vk.method('messages.setChatPhoto', response.json())
133133

@@ -151,9 +151,9 @@ def photo_wall(self, photos, user_id=None, group_id=None):
151151
response = self.vk.method('photos.getWallUploadServer', values)
152152
url = response['upload_url']
153153

154-
photos_files = open_photos(photos)
154+
photos_files = open_files(photos)
155155
response = self.vk.http.post(url, files=photos_files)
156-
close_photos(photos_files)
156+
close_files(photos_files)
157157

158158
values.update(response.json())
159159

@@ -171,10 +171,9 @@ def audio(self, file_path, **kwargs):
171171

172172
url = self.vk.method('audio.getUploadServer')['upload_url']
173173

174-
filetype = file_path.split('.')[-1]
175-
audio_file = [(('file', ( 'file.' + filetype, open(file_path, 'rb'))))]
176-
177-
response = self.vk.http.post(url, files=audio_file).json()
174+
file = open_files(file_path, key_format='file')
175+
response = self.vk.http.post(url, files=file).json()
176+
close_files(file)
178177

179178
response.update(kwargs)
180179

@@ -207,21 +206,23 @@ def document(self, file_path, title=None, tags=None, group_id=None):
207206
return response
208207

209208

210-
def open_photos(photos_paths, key_format='file{}'):
211-
if not isinstance(photos_paths, list):
212-
photos_paths = [photos_paths]
209+
def open_files(paths, key_format='file{}'):
210+
if not isinstance(paths, list):
211+
paths = [paths]
212+
213+
files = []
213214

214-
photos = []
215+
for x, filename in enumerate(paths):
216+
file = open(filename, 'rb')
215217

216-
for x, filename in enumerate(photos_paths):
217-
filetype = filename.split('.')[-1]
218-
photos.append(
219-
(key_format.format(x), ('pic.' + filetype, open(filename, 'rb')))
218+
ext = filename.split('.')[-1]
219+
files.append(
220+
(key_format.format(x), ('file{}.{}'.format(x, ext), file))
220221
)
221222

222-
return photos
223+
return files
223224

224225

225-
def close_photos(photos):
226-
for photo in photos:
227-
photo[1][1].close()
226+
def close_files(files):
227+
for file in files:
228+
file[1][1].close()

0 commit comments

Comments
 (0)