zc.monitor

Yazılım ekran görüntüsü:
zc.monitor
Yazılım detaylar:
Versiyon: 0.3.1
Qayıt: 14 Apr 15
Geliştirici: Jim Fulton
Lisans: Ücretsiz
Popülerlik: 1

Rating: nan/5 (Total Votes: 0)

. Sunucu zc.ngi tabanlı, yani biz bunu göstermek için zc.ngi test altyapısını kullanabilirsiniz;

zc.monitor bilgi & nbsp çeşitli bit istemek için bir komut satırı arayüzü sağlayan bir sunucu.
& Nbsp; >>> import zc.ngi.testing
& Nbsp; >>> import zc.monitor
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
sunucu komutları genişletilebilir dizi destekler. Zope.component paketi tarafından tanımlanan gibi, adında zc.monitor.interfaces.IMonitorPlugin "yarar" gibi komutları arar.
Bunu görmek için, bir merhaba eklentisi oluşturmak gerekir:
& Nbsp; >>> def merhaba (bağlantı, isim = 'dünya'):
& Nbsp; ... "" "merhaba deyin
& Nbsp; ...
& Nbsp; ... dünya değilseniz bir ad verin.
& Nbsp; ... "" "
& Nbsp; ... connection.write ("Hi!% S, seni karşılamak için güzel n"% adı)
ve kayıt:
& Nbsp; >>> zc.monitor.register (merhaba)
Biz komut kayıt yaparken, biz bir isim sağlayabilir. Bunu görmek için, biz yine merhaba kayıt edeceğiz:
& Nbsp; >>> zc.monitor.register (merhaba, 'merhaba')
Şimdi sunucuya merhaba komutunu verebilirsiniz:
& Nbsp; >>> connection.test_input (' n hi')
& Nbsp; Merhaba dünya, seni karşılamak için güzel!
& Nbsp; -> KAPAT
Biz bir isim iletebilirsiniz:
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('merhaba Jim n')
& Nbsp; Merhaba Jim, seni karşılamak için güzel!
& Nbsp; -> KAPAT
Sunucu birkaç temel komutları ile birlikte gelir. Biz onlar ne görebilirsiniz Onlara kayıt edelim. Biz simplfied kayıt arayüzü kullanacağız:
& Nbsp; >>> zc.monitor.register_basics ()
İlk yardım komut. Mevcut komutların bir listesi, giriş yapmadan yardım verir verilmesi:
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('yardım n')
& Nbsp; Desteklenen komutlar:
& Nbsp; merhaba - merhaba deyin
& Nbsp; yardım - sunucu komutları hakkında yardım alın
Merhaba demeye - merhaba; & nbsp
& Nbsp; interaktif - Monitörün etkileşimli modda açın
& Nbsp; çıkın - monitör çıkın
& Nbsp; -> KAPAT
Biz bir komut adı belirterek ayrıntılı yardım alabilirsiniz:
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('yardım yardım n')
& Nbsp; yardım için Yardım:
& Nbsp;
& Nbsp; sunucu komutları hakkında yardım alın
& Nbsp;
& Nbsp; Varsayılan olarak, komutlar ve özetleri bir liste yazdırılır. Sağlamak
& Nbsp; bir komut adı komut için ayrıntılı belgeleri almak için.
& Nbsp;
& Nbsp; -> KAPAT
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('yardım merhaba n')
& Nbsp; merhaba için yardım:
& Nbsp;
& Nbsp; merhaba deyin
& Nbsp;
& Nbsp; dünya değilseniz bir ad verin.
& Nbsp;
& Nbsp; -> KAPAT
Etkileşimli komut etkileşimli moduna monitörü geçer. Yukarıda görüldüğü gibi, monitör, genellikle tek bir komuta yanıt ve daha sonra bağlantıyı kapatır. Çıkmak komutu kullanıldığında kadar "etkileşimli modu", bağlantı kapalı değil. Teşhis için telnet ile monitör erişirken bu yararlı olabilir.
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('interaktif n')
& Nbsp; Etkileşimli mod. Çıkmak için "çıkın" kullanın.
& Nbsp; >>> connection.test_input ('interaktif n yardım')
& Nbsp; interaktif için yardım:
& Nbsp;
& Nbsp; monitörün etkileşimli modda açın
& Nbsp;
& Nbsp; Normalde, monitör tek bir komutla sonra bağlantıyı serbest bırakır.
& Nbsp; etkileşimli moduna girerek, monitör bağlantısını sona ermeyecek
& Nbsp; "çıkın" komutunu girin kadar.
& Nbsp;
& Nbsp; etkileşimli modda, boş bir satır son komutu tekrarlar.
& Nbsp;
& Nbsp; >>> connection.test_input (' n çıkın yardımcı')
& Nbsp; çıkın için yardım:
& Nbsp;
& Nbsp; monitör çıkın
& Nbsp;
& Nbsp; Bu ("interaktif" bakın etkileşimli modda sadece gerçekten yararlıdır
& Nbsp; komutu).
& Nbsp;
Kapalı bir bağlantı gösterilir olurdu - "> KAPALI", komutların sonucu ile sona ermedi dikkat edin.
Ayrıca interaktif mod komutları tekrar izin verdiğini fark.
& Nbsp; >>> connection.test_input ('merhaba n')
& Nbsp; Merhaba dünya, seni karşılamak için güzel!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Merhaba dünya, seni karşılamak için güzel!
& Nbsp; >>> connection.test_input ('merhaba Jim n')
& Nbsp; Merhaba Jim, seni karşılamak için güzel!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Merhaba Jim, seni karşılamak için güzel!
Şimdi bağlantıyı kapatmak için çıkın kullanacaktır.
& Nbsp; >>> connection.test_input (' n çıkın')
& Nbsp; Güle güle.
& Nbsp; -> KAPAT
Son olarak, istisnalar bağlantıda bir Traceback üretecektir dikkati çekiyor.
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('merhaba Jim 42 n') # doctest.testmod: + üç nokta
& Nbsp; traceback (en son çağrı son):
& Nbsp; ...
& Nbsp; TypeError:) (merhaba alır en fazla 2 argümanlar (3 verilen) de
& Nbsp;
& Nbsp; -> KAPAT
Komut döngüler
"DAHA" modunu kullanarak, komutlar hepsi gelecekte kullanıcı girişi iddia istediğiniz sinyal verebilir. Biz nasıl çalıştığını göstermek için bir aptal örneğini uygulamak gerekir.
İşte bir hesap makinesi uygulayan bir komut var.
& Nbsp; '.' >>> İSTEM =
& Nbsp; >>> def kalk (bağlantı, * args):
& Nbsp; ... args ve args [0] == 'çıkın' eğer:
& Nbsp; ... zc.monitor.QUIT_MARKER dönüş
& Nbsp; ...
& Nbsp; ... args eğer:
& Nbsp; ... connection.write (. Str (eval ('' join (args))))
& Nbsp; ... connection.write (' n')
& Nbsp; ...
& Nbsp; ... connection.write (İSTEM)
& Nbsp; ... zc.monitor.MORE_MARKER dönüş
Bu komutu kayıt varsa ...
& Nbsp; >>> zc.monitor.register (hesaplanan)
... Biz onu çağırabilirsiniz ve biz istemi olsun.
& Nbsp; >>> bağlantı = zc.ngi.testing.TextConnection ()
& Nbsp; >>> sunucu = zc.monitor.Server (bağlantı)
& Nbsp; >>> connection.test_input ('kalk n')
& Nbsp ;.
Biz sonra ona daha fazla girdi verirseniz biz sonucu artı başka bir istemi olsun.
& Nbsp; >>> connection.test_input ('2 + 2 n')
& Nbsp; 4
& Nbsp ;.
& Nbsp; >>> connection.test_input ('4 * 2 n')
& Nbsp; 8
& Nbsp ;.
Biz bitti kez bize gidelim hesap söyleyebilirim.
& Nbsp; >>> connection.test_input (' n çıkın')
& Nbsp; -> KAPAT
Sunucuyu başlatın
& Nbsp; >>> ithalat süresi
& Nbsp; >>> import zope.testing.loggingsupport, günlüğü
& Nbsp; >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
& Nbsp; ... Yok, seviye = logging.INFO)
& Nbsp; >>> zc.monitor.start (9644)
& Nbsp; ('', 9644)
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server BİLGİ
& Nbsp; dinleme ('', 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Yok
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.clear ()
& Nbsp; >>> zc.monitor.start (('127.0.0.1', 9644))
& Nbsp ('127.0.0.1', 9644)
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server BİLGİ
& Nbsp; dinleme ('127.0.0.1', 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Yok
& Nbsp; >>> time.sleep (0.1)
Port 0 bağlamak:
& Nbsp; >>> adres = zc.monitor.start (0)
& Nbsp; >>> adres == zc.monitor.last_listener.address
& Nbsp; Doğru
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Yok
& Nbsp; >>> time.sleep (0.1)
Kullanılan bir bağlantı noktasına bağlamanız için çalışılıyor:
& Nbsp; >>> loghandler.clear ()
& Nbsp; >>> zc.monitor.start (('127.0.0.1', 9644))
& Nbsp ('127.0.0.1', 9644)
& Nbsp; >>> zc.monitor.start (('127.0.0.1', 9644))
& Nbsp; Yanlış
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server BİLGİ
& Nbsp; dinleme ('127.0.0.1', 9644)
& Nbsp; zc.ngi.async.server UYARI
& Nbsp; dinlemek mümkün ('127.0.0.1', 9644)
& Nbsp; kök UYARI
& Nbsp; adresi ('127.0.0.1', 9644) kullanımda olduğundan yapamaz zc.monitor sunucusunu başlatmak için.
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Yok
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.uninstall ()

Bu sürümdeki yeni nedir:

  • monitörü bağlama zaman bağlama başarılı böylece Unix alan soketi, aynı yolda varolan soket kaldırın. Bu hata ayıklama davranışı zopectl ile ilgili mevcut kullanımını etkileyebilir, ancak daha öngörülebilir olacaktır.

sürüm 0.3.0 yeni nedir:

  • basitleştirilmiş kayıt arayüzü eklendi
  • .

Gereksinimler :

  • Python

Benzer yazılım

TuxGuardian
TuxGuardian

3 Jun 15

app-monitor
app-monitor

20 Feb 15

Amon
Amon

14 Apr 15

FTP Monitor
FTP Monitor

3 Jun 15

Geliştirici Diğer yazılım Jim Fulton

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.resumelb
zc.resumelb

20 Feb 15

Yorumlar zc.monitor

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!