0.11.1: eski erişimciler eski uca sabitlendi - #4
Merged
Merged
Conversation
…a sabitlendi 0.11.0'da client.ai ve client.mockups, client.photo_mockups ve client.psd_mockups'ın takma adı yapılmıştı; böylece yayımlanan /api/v1/sudoai/2d-mockups ve /api/v1/mockups yerine yeni uçları çağırır oldular. Kodunu değiştirmeden paketi yükselten çağıran, işlerini yeni uçta açmaya ve 2d_create / 2d_render yerine photo_mockup_create / photo_mockup_render kind'ı almaya başlıyordu: hata yok, ama kind'a göre dallanan kod eşleşmiyor ve iş sessizce duruyordu. - client.ai artık /api/v1/sudoai/2d-mockups, client.mockups /api/v1/mockups uçlarını çağırıyor; ikisi de API tarafından servis edilmeye devam ediyor - client.photo_mockups ve client.psd_mockups değişmedi, yeni uçlarda kalıyor - eski isme atama her iki erişimciyi birden değiştiriyor, böylece enjekte edilen test sahtesi öbür isim üzerinden gerçek API'ye kaçamıyor - uç yolları _http.py'de tek kaynakta toplandı, kaynak sınıflar base parametresi alıyor - tests/test_legacy_accessor_paths.py: respx ile hangi erişimcinin hangi ucu çağırdığının kanıtı; test_family_paths.py'deki takma-ad beklentileri yeni sözleşmeye göre güncellendi - 0.11.1 + CHANGELOG notu
Eski adların setter'ı hem eski hem yeni erişimciye yazıyordu, getter ise yalnız eskiyi okuyordu. Test sahtesi etrafındaki olağan kaydet-geri yükle deseni (saved = client.ai ... client.ai = saved, ya da mock.patch.object) bu yüzden yeni erişimciyi kalıcı olarak eski uca taşıyordu: sonraki her client.photo_mockups çağrısı /api/v1/sudoai/2d-mockups'a gidiyor ve eski iş yazımlarını geri getiriyordu, hiçbir şey yükselmeden. Artık her eski ad yalnız kendi alanını yazar ve okur; photo_mockups / psd_mockups yerinde kalır. Geri yükleme her iki erişimciyi de başladığı yere koyar. Eski adların deleter'ı da yoktu; mock.patch.object bloğu biterken AttributeError veriyordu. Eski adı silmek override'ı düşürür ve istemcinin kurulduğu erişimciyi, hep çağırdığı uca sabitli olarak geri getirir. Kayıtlı değer değişmez, çağıranın kullandığı yazım korunur.
Doküman metinleri "pin gönderilmezse API ucu current'a sabitler" diyordu; bu artık olanı anlatmıyor. Pin gönderilmediğinde uç, event_types listesinin yazımından türetilir: eski adlarla yazılmış liste legacy, güncel adlarla yazılmış liste current, boş ya da karışık liste güvenli taraf olan legacy. Pin açıkça gönderilirse ona uyulur; o yol değişmedi. client.py, async_client.py, models.py ve README tablosundaki çelişki kapatıldı. CHANGELOG 0.11.1 kaydına simetri, deleter ve bu doküman düzeltmesi eklendi.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Yükseltip kodunu değiştirmeyen kullanıcı için davranış sabit kalır: eski erişimciler eski adresi çağırır, dolayısıyla açılan işin türü de eskisi gibidir. Yeni erişimciler aile adresini kullanmaya devam eder. Eski erişimciye atama ve silme de çalışır, okuma ve yazma aynı alanı hedefler.