Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Belge, detaylı bir şekilde gözden geçirildi. #233

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

MustafaKoca9
Copy link

Belge, detaylı bir şekilde gözden geçirildi. Markdown yapısı iyileştirildi.

Belge artık hem daha net bir yapıya sahip hem de kullanıcıların ihtiyaç duyduğu bilgileri daha etkili bir şekilde aktarıyor.
Belge, detaylı bir şekilde gözden geçirildi.
Yapılan İyileştirmeler:
Hata Mesajları: Dosya bulunamadığında veya başka hatalar oluştuğunda kullanıcıya daha açıklayıcı mesajlar verildi.
Kullanıcı Girdi Kontrolü: Kullanıcının boş değer girip girmediği kontrol ediliyor. Eğer bir değer girilmemişse, o URL için işlem yapılmıyor.
Dosya Okuma ve Yazma Güvenliği: Dosyalar açılırken FileNotFoundError hataları için kontrol eklendi. Ayrıca, dosyaya yazarken olası hatalar daha iyi yönetildi.
Kodun Modülerliği: Kodun bazı bölümleri fonksiyonlar aracılığıyla daha modüler hale getirilebilir. Ancak, burada gereksiz karmaşıklıktan kaçınılarak yalnızca temel iyileştirmeler yapıldı.
Yapılan Düzeltmeler:
subprocess hata yönetimi: Hatalar doğru bir şekilde stderr üzerinden kontrol edilip kullanıcıya bildirildi.
Hata mesajları: Hata mesajları ve komutların eksik veya yanlış kullanılması durumunda daha açıklayıcı hale getirildi.
Multithreading: Yükleme animasyonu (create_status_animation) daha temiz ve düzgün çalışacak şekilde düzenlendi.
Dokümantasyon ve argüman vurgulama: highlight_arguments fonksiyonu docstring'lerdeki argümanları etkili bir şekilde vurguluyor.
Bu haliyle scriptin daha güvenli, sürdürülebilir ve kullanıcı dostu oldu
@ismailarilik
Copy link
Contributor

@EkremDincel senin eklediğin dosyalarda değişiklik olduğu için sen gözden geçirsen daha iyi olur.


Herhangi bir hata oluşmazsa PDF dosyası `/build/latex/` dizininde `yazbelpythonbelgeleri.pdf` adı ile oluşacaktır.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normalde bir aksaklık olursa kişi adımları doğru takip etmediğinden şüphelenir. Ama PDF inşası sıkıntılı bir süreç, bu adımlar her senaryoyu karşılamıyor da olabilir. Buradaki vurgunun sebebi bu manayı iletmekti aslında.

"PDF inşası sürecinde sorun yaşarsanız repo'da issue açabilirsiniz" diye ekleyelim mi?

Comment on lines -65 to -67
Önce yukarıdaki adımları takip edip Sphinx'in kurulumunu gerçekleştirin.
### Tek Parça HTML

Belgeleri diğer formatlarda inşa ettikten sonra da `/scripts/move_documents.py` betiğini çalıştırmayı unutmayın.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bu iki notu silmeye gerek var mı? Özellikle move_documents.py notu kalmalı diye düşünüyorum zira bu betik çalıştırılmadığında yeni inşa edilen HTML, EPUB ve PDF dosyaları repo'ya dahil edilmiyor. build klasörü .gitignore'a dahil çünkü.

Comment on lines -14 to +17
# sphinx produces multiple records instead of a list of records for broken links
records = [json.loads(i) for i in f.readlines()]
with open(output_file, 'r', encoding='utf-8') as f:
# Sphinx, her kırık link için birden fazla kayıt üretir.
records = [json.loads(i) for i in f.readlines()]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Burada çıktı olarak üretilen JSON'daki objelerin bir array içine koyulmak yerine ayrı ayrı satırlara yazılması kastediliyor. Yani aslında dosya bütün hali ile değil, teker teker satırları ile JSON formatına uygun.

Benim yorumum da çok açıklayıcı değildi, Türkçe hali hiç açıklayıcı değil. Bu yorumu düzeltebilir misiniz?

if replace_with and not replace_with.isspace():
success("Link değiştirildi.\n\n")
else:
warning("Geçiş yapılıyor.\n\n")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Dosya pas geçiliyor" daha uygun diye düşünüyorum.

Comment on lines +82 to +87
try:
with open(rst_file, 'r', encoding="utf-8") as f:
data = f.read()
except FileNotFoundError:
warning(f"{rst_file} dosyası bulunamadı. Atlanıyor.\n")
continue
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dosyanın bulunmaması aslında yaşanmaması gereken bir durum, o dosyaların listelisini Sphinx veriyor bize. Yapılan işin gereklilikleri açısından "fatal" bir hata bu, süreç içerisinde gözden kaçırılan bir probleme işaret ediyor. Bulunmayan dosya geçiliyor demek yerine bilgilendirici bir hata yazılıp işlem sonlandırılabilir.

Comment on lines +89 to -86
# URL'yi dosya içinde arama
if uri not in data:
alternative_uri = uri.split(":", 1)[0]
if alternative_uri not in data:
warning(f"UYARI: URL '{uri}' {rst_file} dosyasının içinde bulunamadı. Bu, ':target:' direktifi ile ilgili olabilir.\n")
continue
uri = alternative_uri

if uri not in data:
alternative_uri = uri.split(":", 1)[0]
if alternative_uri not in data:
warning("WARNING: Can't find the URL {!r} in file {}:{}. Might be about a :target: directive.".format(uri, rst_file, record['lineno']))
continue
uri = alternative_uri
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lineno bilgisi yeni koda aktarılmamış.

@MustafaKoca9
Copy link
Author

@EkremDincel donanım değişikliği yapıyorum. Gün içinde incelemeye çalışacağım. Teşekkürler.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants