Я пытаюсь обновить запись приложения Marketplace в приложении Firefox через программный код Python API. Я могу успешно загружать скриншоты с использованием метода client.create_screenshot(app_id, filename)
из модуля marketplace
против среды разработки по адресу https://marketplace-dev.allizom.org/.API Firefox Marketplace: значок приложения остается по умолчанию после успешной загрузки
В API-интерфейсе Python отсутствует способ загрузки значка. В API документации Marketplace хотя существует точка REST, чтобы загрузить изображение: Updating an App Icon
Я использовал документацию, чтобы написать свой собственный метод, чтобы загрузить изображение:
import mimetypes
import sys
from base64 import b64encode
from urlparse import urlunparse
def post_icon_file(client, app_id, filename):
with open(filename, 'rb') as s_file:
s_content = s_file.read()
s_encoded = b64encode(s_content)
url = urlunparse((client.protocol, '%s:%s' % (client.domain, client.port),
'%s/api/v2%s' % (client.prefix, '/apps/app/' + str(app_id) + '/icon/'),
'', '', ''))
print url
mtype, encoding = mimetypes.guess_type(filename)
if mtype is None:
mtype = 'image/jpeg'
data = {'file': {
'type': mtype,
'data': s_encoded
}}
response = client.conn.fetch('PUT', url, data)
if response.status_code != 200:
sys.exit(response.content)
else:
print str(response.status_code) + ': Uploaded icon ' + filename + ' for app ID ' + str(app_id)
Проблема: ответ загрузки является успешным (200). Я получаю сообщение:
200: Загружено значок /path/to/icon/icon-512.png для приложения ID 1234567
Еще в записи Marketplace в https://marketplace-dev.allizom.org/developers/app/[slug]/edit, приложение отображается значок в качестве значка по умолчанию
Мои исследования до сих пор:
Если я получаю статус а с помощью
client.status(app_id)
записи для икон еще одни по умолчанию, например: иконки: {и \ «128 \»: и \ «https://marketplace-dev-cdn.allizom.org/media/img/hub/default-128.png \»Я пытался загрузить значок в размере 128 128 пикселей, а другой - 512 на 512 пикселей. Оба имеют одинаковый результат: успех, но они не изменяются в записи.
ли вы имеете в виду, что я должен раскошелиться Zamboni и посмотреть, если Я могу воспроизвести ошибку в моем клоне? – Rias
Я висячий вилка Zamboni и попытаюсь исправить ошибку. Или только файл ошибка в bugzilla. –
Спасибо alexandersalas. Я не мог воспроизвести ошибку в Zamboni на моей локальной машине. Но я подал здесь ошибку и прокомментировал ее соответствующим образом: https://bugzilla.mozilla.org/show_bug.cgi?id=1153669 – Rias