Belgelere geç
Python

Dosyalar

`files.list`, `list_all`, `iterate`, `get`, `download`, `list_links`, `list_all_links`, `iterate_links`, `create_link`, `revoke_link`, `stats`, `upload`, `delete` ve `delete_many`.

Her yöntem

files.py
from pathlib import Path from openemail import openemail page = openemail.files.list(kind='pdf', sort='largest')file = page['items'][0] Path(file['filename']).write_bytes(openemail.files.download(file['id'])) links = openemail.files.list_all_links(file['id'])print([(link['url'], link['downloads']) for link in links]) stats = openemail.files.stats()print(stats['totals']['files'], stats['uploaded']['bytes'])

Posta kutusunun tuttuğu her dosya, yani gönderilen ve alınan ekler ile ona yüklenen dosyalar; uygulamanın Dosyalar sayfası. download dosyanın tamamını bytes olarak döndürür; bağlantılar bir dosyanın gönderildiği indirme bağlantılarıdır ve her birinin kaç kez alındığını gösterir; stats ise Analizler sekmesidir.

list, list_all ve iterate; q, kind ve sort ile birlikte direction (inbound, outbound ya da uploaded), büyük-küçük harf ayrımı yapılmadan karşılaştırılan tek bir adresin dosyaları için address ve bir datetime ya da ISO 8601 dizesi olan since ile until alır. since kendi anını dahil eder, until ise ondan önce durur.

Okumak files:read, yüklemek, silmek ve bağlantı yayımlamak ya da iptal etmek ise files:read'i de kapsayan files:write gerektirir. Dosyaların kendi izinleri olmadan önce oluşturulan bir anahtara karşılık gelen izinler verildi. Belirli adreslerle ya da alan adlarıyla sınırlı bir anahtar yalnızca onlardaki dosyaları görür.

Yükleme ve silme

upload.py
from pathlib import Path from openemail import openemail upload = openemail.files.upload(    Path('price-list.pdf').read_bytes(),    filename='price-list.pdf',    content_type='application/pdf',) if upload['deletable']:    openemail.files.delete(upload['id']) result = openemail.files.delete_many([    'file_0c4e7a91d2b84f63a5e19b7d',    'file_6bb640f5b99e47deb758f1f5',])for kept in result['kept']:    print(kept['filename'], kept['reason'])

upload baytları olduğu gibi, 100 MB'a kadar, filename adıyla kaydeder ve dosyayı döndürür; bir gönderim bu dosyanın id'sini {'fileId': upload['id']} olarak ekler. content_type geçirin, yoksa baytlar application/octet-stream olarak kaydedilir. Hiçbir zaman yeniden denenmez, çünkü ikinci bir deneme ikinci bir kopya kaydederdi.

Yalnızca hiçbir şeyin bağlı olmadığı yüklenmiş bir dosya silinebilir ve her dosyadaki deletable ile usage bunu önceden söyler. delete başka herhangi bir dosyayı 409 file_in_use ile reddeder. delete_many en fazla 100 kimlik alır, silebildiğini siler ve kalanları kept içinde, her biri nedeniyle, ve missing içinde bildirir.

upload, bytes, bytearray ya da memoryview alır. Çağrıya timeout= geçirmediğiniz sürece, istemcinin timeout değeri ne kadar kısa olursa olsun yanıt için en az 600 saniye bekler; boş bir filename ise hiçbir şey gönderilmeden önce ValueError fırlatır.

Referans