Python Toolbox yardımı için parametre açıklamaları tanımlama?


14

ArcMap uygulamamız için bazı Python Araç Kutuları oluşturmaya çalışıyorum (örn. MyTool.pyt)

Yardım metninin self.description özniteliği ile tanımlandığını görebiliyorum.

Ancak, programı çalıştırıp parametre alanlarından birine tıkladığımda, yardım / açıklama metni boşalır. Her parametre için açıklama alanı sağlayabilmek istiyorum. Bu nasıl başarılır?

Bazı yanıtlardan sonra, 'Öğe Açıklaması' sağ tıklama bağlam menüsü aracılığıyla doldurulabilecek birçok alan olduğunu görüyorum. Bunu yapmanın 'pitonik' bir yolu var mı? Yani, sadece .pyt dosya sınıflarına bazı öznitelikler gömerek?

Örneğin, .pyt araç kutusu tanımında Toolbox sınıfına sahipsiniz:

import arcpy

class Toolbox(object):
    def __init__(self):
        """Define the toolbox (the name of the toolbox is the name of the
        .pyt file)."""
        self.label = "My Toolbox"
        self.alias = ""

        # List of tool classes associated with this toolbox
        self.tools = [MyNiceTool]


class MyNiceTool(object):
    def __init__(self):
        """Define the tool (tool name is the name of the class)."""
        self.label = "My Tool Class"
        self.description = """
A description that shows up in the help context side pane when the tool is launched.
        """
        self.canRunInBackground = True

    def rest_of_required_methods....

Self.description dizesinden, Araç iletişim kutusu yardım penceresi bu metni görüntüler. Ancak, ne yapmak istiyorum her araç için benim kod gömülü bir 'açıklama' da, böylece araç başlatıldığında ve kullanıcı bir parametre alanına tıkladığında, parametre açıklaması gösterilir. Bunu aşağıdaki yanıtlarda başvurulan 'Öğe Açıklaması' yöntemini kullanarak yapsaydım, her parametre için Sözdizimi bölümünün altındaki İletişim Kutusu Açıklamalarını düzenlerdim ... Sanırım.

Yanıtlar:


16

Yardım metninin self.description özniteliği ile tanımlandığını görebiliyorum.

Yanlış yaptığınız yer burası. Bir Python araç kutusundaki aracı belgelendirme yardım sayfasında şöyle yazıyor:

Python araç kutuları için, araç kutusu ve araçlarla ilgili belgeler, araç kutusuyla ve araçlarla adıyla ilişkilendirilmiş .xml dosyalarında depolanır . Her aracın yardımı ayrı bir .xml dosyasında saklanır.

Bu, yardım metnini .pyt dosyasının içinden ayarlayamayacağınız anlamına gelir. Yardım metninin düz ASCII değil, biçimlendirme, madde işaretleri ve resimler içerebilen zengin metin olduğunu düşündüğünüzde bu mantıklıdır.

Neyse ki, Python XML okumak ve yazmak için destek veriyor , bu yüzden yardım metnini ayrı bir komut dosyasından dinamik olarak düzenleyebilmelisiniz.


2
'Dokümantasyon' yardım sayfasının bağlantısı için teşekkürler .. Aradım, ancak bir nedenle o sayfaya gelmedim. ESRI'nin yeniden yapılandırılmış metni desteklemesi güzel olurdu. Daha sonra araç kutularını doğrudan Sphinx kullanarak koddan belgeleyebiliriz.
John

"yardım metnini ayrı bir komut dosyasından dinamik olarak düzenleyebilmelisiniz." -> Bu çok arzu edilir olurdu .. bunun için bir araç geliştiren var mı?
Ratnanil

13

Aşağıdaki adımları izleyerek her bir parametre için mesaj tanımlayabilirsiniz:

  1. ArcCatalog'u açın ve katalog ağacındaki Komut Dosyasını vurgulayın
  2. Açıklama sekmesini seçin
  3. Düzenle düğmesini tıklayın
  4. Her parametrenin yanındaki aşağı oku tıklayın ve bir mesaj yazın
  5. Son olarak, Kaydet düğmesini tıklayarak düzenlemeleri kaydedin

Kullanıcılar artık bir komut dosyası parametresini tıkladığında iletinizi görürler.


4
Teşekkürler .. Bu bilgilerin nihayetinde nereye kaydedildiğini biliyor musunuz? .Pyt dosyasını yerleştirdiğim klasörde oluşturulmuş gibi görünen xml dosyalarına yazılıyor mu?
John

11

Doğru anlarsam, işlevlerinize Yardım metinleri eklemek istersiniz. Bu, araç kutusu penceresinden aracınızı sağ tıklayıp üst kısımdaki Öğe açıklaması ve ardından Düzenle'yi tıklayarak yapılabilir . Her parametre için, parametreyi tıkladığınızda yardım bölümünde görünecek bir açıklama eklemenize izin verir.

Arcmap 10.0'da (en azından daha önceki SP'lerde) çalışabilmeniz için bunu Arcmap içindeki ArcCatalog penceresinden (araç kutunuza göz atın) yapmanız gerekir.


Teşekkürler, bu yardımcı olur ve gerçekten bir çözüm gibi görünüyor. Aslında, benim için yepyeni bir dizi soru açıyor! 10.1'de sadece Python Toolboxs (.pyt) dosyaları aracılığıyla araç kutuları ile çalıştığım için, bu 'Öğe Açıklaması' alanlarının hepsini fark etmedim. Ne yazık ki, peşinde olduğum şey tam olarak bu değil ... bu yüzden şimdi sorumu düzenleyeceğim.
John

2

Aracın düzenleme meta verilerini tıklamanız yeterlidir, her parametre için iletileri görüntülemek üzere kolayca düzenleyebileceğinizi görürsünüz.

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.