-
Notifications
You must be signed in to change notification settings - Fork 22
Betik Ayarları
Başlık bilgisi aşağıdaki gibi olmalıdır. İlk satır haricinde
# -*- coding: utf-8 -*- Encoding
# 1 Hangi kullanıcı ile çalıştırılacak (1.1)
# Dns Alan Kaydı Listele Betik Adı
# Dns Alanındaki kayıtları özelliklerini .. Uzun açıklaması
# 1.0 Versionu
# dns Extension Türü
# alan_adi:string Input değerleri ve tipi
# 3 Türü (1.2)
# Duygu Olmez Yazan
# [email protected] İletişim
# Havelsan Şirket
# dns_list_record Genel adı (Generic name)
Betiğin hangi kullanıcı ile çalıştırılacağı bilgisi
- 0 - normal user
- 1 - root user
Betiğin hangi amaçla kullanılacağı bilgisi.
- 1 - Server (Tüm sunucularda çalışan temel betikler Network değiştirme, Hostname değiştirme vb.)
- 2 - Install
- 3 - Query
- 4 - Ekleme
- 5 - Düzenleme
- 6 - Silme
- 10 - Other
Betiklerde run, before ya da after argumanlarından biri ile çalışacaklarından aşağıdaki main fonksiyonu ile başlamak zorundadır.
if __name__ == "__main__":
globals()[sys.argv[1]]()
Betiklerde 3 adet ana foksiyon bukunur. Bu fonksiyonların hepsi eklenti tarafından(liman) ayrı ayrı çalıştırılacak şekilde yazılmalıdır. Bu fonksiyonlar birbirlerini çalıştırmamalıdır.
Betik çalıştırılmadan gerekli validation işlemlerini gerçekleştirir. Eğer betiğin çalışmasını engelleyen durum varsa exit() işlemi yapılır. Yapılması gereken örnek kontroller aşağıdaki gibidir.
- girilen veri doğru tipte mi (int,string mi,ipaddress’i doğru notasyonda mı, hostname değerinde uygun olmayan karakter bulunuyor mu)
- gerekli servis ya da uygulama durumu (Yüklü mü,çalışıyor mu)
- Gerekli dizinler mevcut mu
- gerekli dosyalar bulunuyor mu
- Warningler kontrol edilmemeli. Warningler healt-check gibi ayrı bir betikle kontrol edilmeli.
- İnternete çıkabiliyor mu
yalnızca istenilen işlem gerçekleştiren fonksiyonlar çağırılmalı. Gerçekleştirilmesi gereken örnek işlemler aşağıdaki gibidir.
- Dosya oku
- Dosya düzenle
- Dosya dizin oluştur
- Yükleme kurma bilgi toplama komutları çalıştır
After fonksiyonu run da yapılan işlemlerin yapılıp yapılmadığını kontrol eder. (Runda eklenmesi beklenen kayıt, dosya içerisinde var mı yok mu şeklinde kontrol edilmelidir.). Kontrol edilmesi örnek işlemler aşağıdaki gibidir.
- Dosya içerisinde istenen değer eklendi mi
- Dosya içerisinde istenen değer değiştirildi mi
- İstenilen dosya ya da klasör oluşturuldu mu
- Servis çalışıyor mu
- İstenilen uygulama yüklendi mi
- Extension’a gönderilecek veriler return döndürülmemeli, print ile yazdırılmalı
- Extension’a gönderilecek veriler json formatında olmalı
- Run fonksiyonundan extensiona gönderilecek veri yalnızca bir tane olmalı. Diğer işlemlerde yapılan hiç bir işlem print edilmemeli