[openrtm-commit:01071] r572 - trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest
openrtm @ openrtm.org
openrtm @ openrtm.org
2013年 5月 1日 (水) 21:07:28 JST
Author: n-ando
Date: 2013-05-01 21:07:28 +0900 (Wed, 01 May 2013)
New Revision: 572
Modified:
trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py
Log:
[compat] CorbaNaming.py in example has been replaced newer one.
Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py 2013-05-01 12:00:47 UTC (rev 571)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py 2013-05-01 12:07:28 UTC (rev 572)
@@ -1,6 +1,5 @@
#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# -*- Python -*-
+# -*- coding: euc-jp -*-
##
@@ -19,23 +18,25 @@
import omniORB.CORBA as CORBA
import CosNaming
import string
+import sys
+import traceback
##
# @if jp
# @class CorbaNaming
-# @brief CORBA Naming Service åãÐå¦åãÂ妾åâ¯åã©åâ¹
+# @brief CORBA Naming Service ヘルパークラス
#
-# åáÆ墰åâ¯åã©åâ¹åá¯åࡤosNaming::NamingContext åá«ê±¾åáÒå£ëåã©åã¦å¥ñåã¼åâ¯åã©åâ¹åá§åá¤å£ëåà
-# CosNaming::NamingContext åá¸è·áåá¤åâªåãÔ妮åã¼åâ·åã§åã³åá¨åá»åá¼éð¸å¡øì«Þꦿåá®
-# åâªåãÔ妮åã¼åâ·åã§åã³åâÄè½ðèÀÖå¡ùåâ¶å¢ªåá¨åâ¤å¢åà¢å¥íåã¼åã åâ³åã³åãÚ妾åãºå¦µåã CosNaming::Name
-# åá®è½£åâ¾å£êåá«ëö®çÎç¯÷åá«åâ°å£ëéðºç±íð£¨íï¾åâÄç½÷åáÂæ»Ðå¡ñåâ¶å¤¬åãÔ妮åã¼åâ·åã§åã³åâ¤è½ðèÀÖå¡ùåâ¶å
+# このクラスは、CosNaming::NamingContext に対するラッパークラスである。
+# CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の
+# オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name
+# の代わりに文字列による名前表現を受け付けるオペレーションも提供する。
#
-# åâªåãÌ夺åâ§åâ¯åã°å¢±íôÞè¯ðëù¤å¢å¡âåâ¶å¡äåá¯íôÞè¯ðíû´êÀ¸å¢ CORBA åãºå¦¾åã åâµåã¼åãÀå¢ëî¥î¸Ôå¡÷
-# è½¥êÀ¸å¢å¡óåá®åãºå¦¾åã åâµåã¼åãÀ墰åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨åàªå¢°åâªåãÔ妮åã¼åâ·åã§åã³
-# åâÄ箨íð¬å¡ùåâ¶å
-# ì¹±åá¨ëÓî곤åá®åãºå¦¾åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã°å¢°è¿Øè¯ðåâ¨å¤¬åãÌ夺åâ§åâ¯åã°å¢°åãÀ夦åã³åã²å¢åá´å¡äåá¦åà
-# ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å¡ìê¯ÐçتåáÎ墬åá¨ç ´éð°å¢©åâ¤å¢ç¼·éè¶íú¨å¢åâ³åã³åã¬å¤¯åâ¹åã°å£òåãÀ夦åã³åã
-# åáÎéÖ°íú¨å¢°åâ³åã³åã¬å¤¯åâ¹åã°å£äåâªåãÌ夺åâ§åâ¯åã°å¢°åãÀ夦åã³åã²å£òð£¸å¡æåáÆ墪åâ¤å¢©åáºå£ëåà
+# オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し
+# 以後、このネームサーバのルートコンテキストに対して種々のオペレーション
+# を処理する。
+# 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、
+# 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド
+# し目的のコンテキストやオブジェクトのバインドを行うこともできる。
#
# @since 0.4.0
#
@@ -66,11 +67,11 @@
##
# @if jp
#
- # @brief 裘宍裙宍裘嫉裙ー螯ォ裘識裘質
+ # @brief コンストラクタ
#
# @param self
# @param orb ORB
- # @param name_server åãºå¦¾åã åâµåã¼åãÀ墰éðºé§°(åã®å¥õåâ©åã«åã°ç¤:None)
+ # @param name_server ネームサーバの名称(デフォルト値:None)
#
# @else
#
@@ -92,6 +93,7 @@
print "CorbaNaming: Failed to narrow the root naming context."
except CORBA.ORB.InvalidName:
+ self.__print_exception()
print "Service required is invalid [does not exist]."
return
@@ -100,7 +102,7 @@
##
# @if jp
#
- # @brief åã®å¤»åã°å¦«åâ¯åâ¿
+ # @brief デストラクタ
#
# @param self
#
@@ -116,12 +118,12 @@
##
# @if jp
#
- # @brief åãºå¦¾åãÞ妵åâ°åâµåã¼åãÆ夻åá®éèÚèØ¡éì
+ # @brief ネーミングサービスの初期化
#
- # ëì®ç®Ôå¡õåâ¸å¢¡åãºå¦¾åã åâµåã¼åãÀ渴墰åãºå¦¾åãÞ妵åâ°åâµåã¼åãÆ夻åâÄç¯ýëüÞç·öåáÎå¢ÀåáÒå
+ # 指定されたネームサーバ上のネーミングサービスを初期化します。
#
# @param self
- # @param name_server åãºå¦¾åã åâµåã¼åãÀ墰éðºé§°
+ # @param name_server ネームサーバの名称
#
# @else
#
@@ -139,43 +141,69 @@
##
# @if jp
#
- # @brief Object åâ bind åáÒå£ë
+ # @brief ルートコンテキストが生存しているかを返す。
+ #
+ # ルートコンテキストが生存しているかのチェックを行う。
+ #
+ # @param self
+ # @else
+ # @brief Check on whether the root context is alive.
+ # Check on whether the root context is alive.
+ # @param self
+ # @endif
+ # bool CorbaNaming::isAlive()
+ def isAlive(self):
+ try:
+ if self._rootContext._non_existent():
+ return False
+ return True
+ except:
+ self.__print_exception()
+ return False
+
+ return False
+
+
+ ##
+ # @if jp
#
- # CosNaming::bind() åá¨åá»åá¼éð¸é²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢ç¸¸åá«èº¼å¡èåâ²å£ìåáÞå¥íåã¼åã åâµåã¼åãÀ墰
- # åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨bind()åá¸ç¾åá³éçºåáÊå£ìåâ¶é¤»åá¸éʲåáªåâ¶å
+ # @brief Object を bind する
#
- # Name <name> åᨠObject <obj> åâÄç½Æꩲ NamingContext 躴å¢åãÀ夦åã³åã²å¡ùåâ¶å
- # c_n åá n íõªíû®åá® NameComponent åâÄå¡âåâ²å£ïåáÒ墪åáÒå£ëåá¨åà
- # name åá n éà¶å¢° NameComponent åá¶å£éëèÀå£ëåá¨åáºå¢æ»¥èº¶å¢°åâ°å¡æåá«ëé±åâ¾å£ìåâ¶å
+ # CosNaming::bind() とほぼ同等の働きをするが、常に与えられたネームサーバの
+ # ルートコンテキストに対してbind()が呼び出される点が異なる。
#
- # cxt->bind(<c_1, c_2, ... c_n>, obj) åá¯è½¥èº¶å¢°ëóºæ½Ø墪éð¸é²å¢©åá¤å£ëåà
+ # Name <name> と Object <obj> を当該 NamingContext 上にバインドする。
+ # c_n が n 番目の NameComponent をあらわすとすると、
+ # name が n 個の NameComponent から成るとき、以下のように扱われる。
+ #
+ # cxt->bind(<c_1, c_2, ... c_n>, obj) は以下の操作と同等である。
# cxt->resolve(<c_1, ... c_(n-1)>)->bind(<c_n>, obj)
#
- # åáÒ墬åâ¾å¢£åà1íõªíû®åá¶å£én-1íõªíû®åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òð©£ì³ºåáÎå¡Ï-1íõªíû®åá®åâ³åã³åã¬å¤¯åâ¹åã
- # èº´å¢ name <n> åá¨åáÎ墨åàobj åâ bind åáÒå£ëåà
- # éðºç±íð©£ì³ºåá«éï¤ç´¢åáÒå£ë <c_1, ... c_(n-1)> åá® NemingContext åá¯åà
- # bindContext() åâ rebindContext() åá§ë÷¢åá«åãÀ夦åã³åã²è¸°å¢Áåá§åáªåáÂå£ìåá°åáªåâ²å¢¬åá¨å
- # åâ¤å¡÷ <c_1, ... c_(n-1)> åá® NamingContext åá¸çÐçتåáÎ墬åá¨ç ´éð°å¢åá¯åà
- # NotFound èÀ¶ç¤Ìå¡ìíùºíôÞå¡ùåâ¶å
+ # すなわち、1番目からn-1番目のコンテキストを解決し、n-1番目のコンテキスト
+ # 上に name <n> として obj を bind する。
+ # 名前解決に参加する <c_1, ... c_(n-1)> の NemingContext は、
+ # bindContext() や rebindContext() で既にバインド済みでなければならない。
+ # もし <c_1, ... c_(n-1)> の NamingContext が存在しない場合には、
+ # NotFound 例外が発生する。
#
- # åáÞ墢åáÎå¢ç¼·éè¶åãÀ夦åã³åã²å¥õåã©åâ° force åá true åá®ëù¤å¢±åà<c_1, ... c_(n-1)>
- # åá¸çÐçتåáÎ墬åá¨ç ´éð°å¢åâ¤å¢ç«í꺰íú¨å¢åâ³åã³åã¬å¤¯åâ¹åã°å£òåãÀ夦åã³åã²å¡÷åáªåá¸å£éåà
- # ëüî·¤éÓäåá« obj åâÄç¿íéé name <c_n> åá«åãÀ夦åã³åã²å¡ùåâ¶å
+ # ただし、強制バインドフラグ force が true の時は、<c_1, ... c_(n-1)>
+ # が存在しない場合にも、再帰的にコンテキストをバインドしながら、
+ # 最終的に obj を名前 name <c_n> にバインドする。
#
- # åá¨å¡úåâ¸å¢°ê¢´éð°å¢©åâ¤å¡Ï-1íõªíû®åá®åâ³åã³åã¬å¤¯åâ¹åã°æ¸´å¢ name<n> åá®åâªåãÌ夺åâ§åâ¯åã
- # (Object åá¤å£ëåá¨å¢± åâ³åã³åã¬å¤¯åâ¹åã) åá¸å¥ðåâ¤åã³åã²å¡õåâ¸å¢¨åá¨å£ìåá°
- # AlreadyBound èÀ¶ç¤Ìå¡ìíùºíôÞå¡ùåâ¶å
+ # いずれの場合でも、n-1番目のコンテキスト上に name<n> のオブジェクト
+ # (Object あるいは コンテキスト) がバインドされていれば
+ # AlreadyBound 例外が発生する。
#
# @param self
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ Object
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:None)
+ # @param name_list オブジェクトに付ける名前の NameComponent
+ # @param obj 関連付けられる Object
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:None)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name_list åá®éðºç±íåá¸æ¸ºè£åà
- # @exception AlreadyBound name <c_n> åá® Object åá¸å¡ùåá§åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name_list の名前が不正。
+ # @exception AlreadyBound name <c_n> の Object がすでにバインドされている。
#
# @else
#
@@ -205,21 +233,21 @@
##
# @if jp
#
- # @brief Object åâ bind åáÒå£ë
+ # @brief Object を bind する
#
- # Object åâ bind åáÒå£ëñúÖå¢èº¼å¡èåâ¶ç¿íééºå¡ìëö®çÎç¯÷ð£¨íï¾åá§åá¤å£ëåáÆ墪轥ê¦Ì墱åà¡Ãind()
- # åá¨éð¸å¡øåá§åá¤å£ëåà£Ãind(toName(string_name), obj) åá¨î¯²æ¾¡åà
+ # Object を bind する際に与える名前が文字列表現であること以外は、bind()
+ # と同じである。bind(toName(string_name), obj) と等価。
#
# @param self
- # @param string_name åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢°ëö®çÎç¯÷ð£¨íï¾
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:true)
+ # @param string_name オブジェクトに付ける名前の文字列表現
+ # @param obj 関連付けられるオブジェクト
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:true)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ string_name åá®éðºç±íåá¸æ¸ºè£åà
- # @exception AlreadyBound name <n> åá® Object åá¸å¡ùåá§åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 string_name の名前が不正。
+ # @exception AlreadyBound name <n> の Object がすでにバインドされている。
#
# @else
#
@@ -233,33 +261,33 @@
##
# @if jp
#
- # @brief ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£ò bind åáÎ墬åá¸å£é Object åâ bind åáÒå£ë
+ # @brief 途中のコンテキストを bind しながら Object を bind する
#
- # context åá§èº¼å¡èåâ²å£ìåá NamingContext åá«ê±¾åáÎ墨åà¡Ïame åá§ëì®ç®Ôå¡õåâ¸å¢¡
- # åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã <c_1, ... c_(n-1)> åâ NamingContext åá¨åáÎ墨
- # ð©£ì³ºåáÎ墬åá¸å£éåà¢ç¿íéé <c_n> åá«ê±¾åáÎ墨 obj åâ bind åáÒå£ëåà
- # åâ¤å¡÷åà<c_1, ... c_(n-1)> åá«ê±¾êÁØå¡ùåâ NamingContext åá¸å¢¬åá¨ç ´éð°å¢åá¯
- # ëö°åáÞ墬 NamingContext åâÄå¥ðåâ¤åã³åã²å¡ùåâ¶å
+ # context で与えられた NamingContext に対して、name で指定された
+ # ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として
+ # 解決しながら、名前 <c_n> に対して obj を bind する。
+ # もし、<c_1, ... c_(n-1)> に対応する NamingContext がない場合には
+ # 新たな NamingContext をバインドする。
#
- # ëüî·¤éÓäåá« <c_1, c_2, ..., c_(n-1)> åá«ê±¾êÁØå¡ùåâ NamingContext åá¸éÈ¡ëè
- # åá¾åáÞ墱ð©£ì³ºåáÊå£ìåáÞ渴墩åࡤosNaming::bind(<c_n>, object) åá¸ç¾åá³éçºåáÊå£ìåâ¶å
- # åáÆ墰åá¨åáºå¢å¡ùåá§åá«åãÀ夦åã³åã®å¤¥åã³åâ°åá¸çÐçتåáÒå£ìåá° AlreadyBoundèÀ¶ç¤Ìå¡ìíùºíôÞå¡ùåâ¶å
+ # 最終的に <c_1, c_2, ..., c_(n-1)> に対応する NamingContext が生成
+ # または解決された上で、CosNaming::bind(<c_n>, object) が呼び出される。
+ # このとき、すでにバインディングが存在すれば AlreadyBound例外が発生する。
#
- # ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òð©£ì³ºåáÒå£ëñá¼é¨¶å¢©åà¢ê§£ì³ºåáÎå£èåá¬å¢ªåáÒå£ëåâ³åã³åã¬å¤¯åâ¹åã°å¢ª
- # éð¸å¡øéðºç±íåá® NamingContext åá§åá¯åáªåá Binding åá¸çÐçتåáÒå£ëꢴéð°å
- # CannotProceed èÀ¶ç¤Ìå¡ìíùºíôÞå¡÷éç¦íð¬å£òèºì¯¢åáÒå£ëåà
+ # 途中のコンテキストを解決する過程で、解決しようとするコンテキストと
+ # 同じ名前の NamingContext ではない Binding が存在する場合、
+ # CannotProceed 例外が発生し処理を中止する。
#
# @param self
- # @param context bind åâÄëËëꩶå¡ùåâ¶åNamingContext
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã
+ # @param context bind を開始する NamingContext
+ # @param name_list オブジェクトに付ける名前のネームコンポーネント
+ # @param obj 関連付けられるオブジェクト
#
- # @exception CannotProceed <c_1, ..., c_(n-1)> åá«ê±¾êÁØå¡ùåâ NamingContext
- # åá®åá¬å¢£åá²åá¨åá¤åá¸å¢å¡ùåá§åá« NamingContext è½¥ê¦Ì墰 object åá«åãÀ夦åã³åã
- # åáÊå£ìåá¦åá´å£êåà¢ç®¨íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName òòºî³í name_list êã¸ëïî¼¥
- # @exception AlreadyBound name <c_n> åá«åáÒ墩åá«è¿Êå£éåá¶å¢° object åá¸å¥ðåâ¤åã³åã
- # åáÊå£ìåá¦åá¨å£ëåà
+ # @exception CannotProceed <c_1, ..., c_(n-1)> に対応する NamingContext
+ # のうちひとつが、すでに NamingContext 以外の object にバインド
+ # されており、処理を継続できない。
+ # @exception InvalidName 名前 name_list が不正
+ # @exception AlreadyBound name <c_n> にすでに何らかの object がバインド
+ # されている。
# @else
#
# @brief
@@ -286,21 +314,21 @@
##
# @if jp
#
- # @brief Object åâ rebind åáÒå£ë
+ # @brief Object を rebind する
#
- # name_list åá§ëì®ç®Ôå¡õåâ¸å¢¡ Binding åá¸å¡ùåá§åá«ê¯ÐçتåáÒå£ëꢴéð°å£òñù¤åá¨å¢¨ bind() åá¨éð¸å¡ø
- # åá§åá¤å£ëåà¤å¥ðåâ¤åã³åã®å¤¥åã³åâ°åá¸å¡ùåá§åá«ê¯ÐçتåáÒå£ëꢴéð°å¢åá¯åà¢è̲åáÎå¡äåãÀ夦åã³åã®å¤¥åã³åâ°åá«
- # î¿®åáºè½ûåá°å£éåâ¸å£ëåà
+ # name_list で指定された Binding がすでに存在する場合を除いて bind() と同じ
+ # である。バインディングがすでに存在する場合には、新しいバインディングに
+ # 置き換えられる。
#
# @param self
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:true)
+ # @param name_list オブジェクトに付ける名前の NameComponent
+ # @param obj 関連付けられるオブジェクト
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:true)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName òòºî³í name_list êã¸ëïî¼¥
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 名前 name_list が不正
#
# @else
#
@@ -318,12 +346,14 @@
if force:
self.rebindRecursive(self._rootContext, name_list, obj)
else:
+ self.__print_exception()
raise
except CosNaming.NamingContext.CannotProceed, err:
if force:
self.rebindRecursive(err.cxt, err,rest_of_name, obj)
else:
+ self.__print_exception()
raise
return
@@ -332,20 +362,20 @@
##
# @if jp
#
- # @brief Object åâ rebind åáÒå£ë
+ # @brief Object を rebind する
#
- # Object åâ rebind åáÒå£ëñúÖå¢èº¼å¡èåâ¶ç¿íééºå¡ìëö®çÎç¯÷ð£¨íï¾åá§åá¤å£ëåáÆ墪轥ê¦Ì墱 rebind()
- # åá¨éð¸å¡øåá§åá¤å£ëåà£Óebind(toName(string_name), obj) åá¨î¯²æ¾¡åà
+ # Object を rebind する際に与える名前が文字列表現であること以外は rebind()
+ # と同じである。rebind(toName(string_name), obj) と等価。
#
# @param self
- # @param string_name åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢°ëö®çÎç¯÷ð£¨íï¾
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:true)
+ # @param string_name オブジェクトに付ける名前の文字列表現
+ # @param obj 関連付けられるオブジェクト
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:true)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ string_name åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 string_name の名前が不正。
#
# @else
#
@@ -361,21 +391,21 @@
##
# @if jp
#
- # @brief ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£ò bind åáÎ墬åá¸å£é Object åâ rebind åáÒå£ë
+ # @brief 途中のコンテキストを bind しながら Object を rebind する
#
- # name_list <c_n> åá§ëì®ç®Ôå¡õåâ¸å¢¡ NamingContext åâ¤å¡÷åá¾å¢± Object åá¸å¡ùåá§åá«ê¯ÐçتåáÒå£ë
- # ꢴéð°å£òñù¤åá¨å¢¨ bindRecursive() åá¨éð¸å¡øåá§åá¤å£ëåà
+ # name_list <c_n> で指定された NamingContext もしくは Object がすでに存在する
+ # 場合を除いて bindRecursive() と同じである。
#
- # name_list <c_n> åá§ëì®ç®Ôå¡õåâ¸å¢¡åãÀ夦åã³åã®å¤¥åã³åâ°åá¸å¡ùåá§åá«ê¯ÐçتåáÒå£ëꢴéð°å¢åá¯åà
- # ëö°åáÎå¡äåãÀ夦åã³åã®å¤¥åã³åâ°åá«î¿®åáºè½ûåá°å£éåâ¸å£ëåà
+ # name_list <c_n> で指定されたバインディングがすでに存在する場合には、
+ # 新しいバインディングに置き換えられる。
#
# @param self
- # @param context bind åâÄëËëꩶå¡ùåâ¶åNamingContext
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã
+ # @param context bind を開始する NamingContext
+ # @param name_list オブジェクトに付ける名前の NameComponent
+ # @param obj 関連付けられるオブジェクト
#
- # @exception CannotProceed ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å¡ìð©£ì³ºåá§åáºå¢¬åá¨å
- # @exception InvalidName 躼å¡èåâ²å£ìåá name_list åá¸æ¸ºè£åà
+ # @exception CannotProceed 途中のコンテキストが解決できない。
+ # @exception InvalidName 与えられた name_list が不正。
#
# @else
#
@@ -403,21 +433,21 @@
##
# @if jp
#
- # @brief NamingContext åâ bind åáÒå£ë
+ # @brief NamingContext を bind する
#
- # bind ê±¾ð³¡åá¨åáÎ墨ëì®ç®Ôå¡õåâ¸å¢¡ê¾Êèʲ name åá¸èËçê¯Îç¯÷åá®ê¢´éð°å¢± bindByString() åá¨åà
- # åáÚå£ìè½¥ê¦Ì墰ꢴéð°å¢± bind() åá¨éð¸å¡øåá§åá¤å£ëåà
+ # bind 対象として指定された引数 name が文字列の場合は bindByString() と、
+ # それ以外の場合は bind() と同じである。
#
# @param self
- # @param name åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íéé
- # @param name_cxt ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ NamingContext
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:True)
+ # @param name オブジェクトに付ける名前
+ # @param name_cxt 関連付けられる NamingContext
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:True)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
- # @exception AlreadyBound name <c_n> åá® Object åá¸å¡ùåá§åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
+ # @exception AlreadyBound name <c_n> の Object がすでにバインドされている。
#
# @else
#
@@ -435,15 +465,15 @@
##
# @if jp
#
- # @brief NamingContext åâ bind åáÒå£ë
+ # @brief NamingContext を bind する
#
- # bind åáÊå£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã°å¡ì NamingContext åá§åá¤å£ëåáÆ墪åâÄëÒ¦åá¨å¢¨
- # bindRecursive() åá¨éð¸å¡øåá§åá¤å£ëåà
+ # bind されるオブジェクトが NamingContext であることを除いて
+ # bindRecursive() と同じである。
#
# @param self
- # @param context bind åâÄëËëꩶå¡ùåâ¶åNamingContext
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
- # @param name_cxt ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ NamingContext
+ # @param context bind を開始する NamingContext
+ # @param name_list オブジェクトに付ける名前のネームコンポーネント
+ # @param name_cxt 関連付けられる NamingContext
#
# @else
#
@@ -458,22 +488,22 @@
##
# @if jp
#
- # @brief NamingContext åâ rebind åáÒå£ë
+ # @brief NamingContext を rebind する
#
- # bind ê±¾ð³¡åá¨åáÎ墨ëì®ç®Ôå¡õåâ¸å¢¡ê¾Êèʲ name åá¸èËçê¯Îç¯÷åá®ê¢´éð°å¢± rebindByString() åá¨åà
- # åáÚå£ìè½¥ê¦Ì墰ꢴéð°å¢± rebind() åá¨éð¸å¡øåá§åá¤å£ëåà
- # åá©åá¡åâ²å¢°ê¢´éð°å£âåãÀ夦åã³åã®å¤¥åã³åâ°åá¸å¡ùåá§åá«ê¯ÐçتåáÒå£ëꢴéð°å¢åá¯åà
- # ëö°åáÎå¡äåãÀ夦åã³åã®å¤¥åã³åâ°åá«î¿®åáºè½ûåá°å£éåâ¸å£ëåà
+ # bind 対象として指定された引数 name が文字列の場合は rebindByString() と、
+ # それ以外の場合は rebind() と同じである。
+ # どちらの場合もバインディングがすでに存在する場合には、
+ # 新しいバインディングに置き換えられる。
#
# @param self
- # @param name åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
- # @param name_cxt ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ NamingContext
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:true)
+ # @param name オブジェクトに付ける名前のネームコンポーネント
+ # @param name_cxt 関連付けられる NamingContext
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:true)
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
#
# @else
#
@@ -489,14 +519,14 @@
##
# @if jp
#
- # @brief ñàÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òéæºç¸°íú¨å¢ rebind åá NamingContext åâ rebind åáÒå£ë #
- # bind åáÊå£ìåâ¶å¤¬åãÌ夺åâ§åâ¯åã°å¡ì NamingContext åá§åá¤å£ëåáÆ墪åâÄëÒ¦åá¨å¢¨
- # rebindRecursive() åá¨éð¸å¡øåá§åá¤å£ëåà
+ # @brief 途中のコンテキストを再帰的に rebind し NamingContext を rebind する #
+ # bind されるオブジェクトが NamingContext であることを除いて
+ # rebindRecursive() と同じである。
#
# @param self
- # @param context bind åâÄëËëꩶå¡ùåâ¶åNamingContext
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param name_cxt ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ NamingContext
+ # @param context bind を開始する NamingContext
+ # @param name_list オブジェクトに付ける名前の NameComponent
+ # @param name_cxt 関連付けられる NamingContext
#
# @else
#
@@ -511,26 +541,26 @@
##
# @if jp
#
- # @brief Object åâ name åá¶å£éð©£ì³ºåáÒå£ë
+ # @brief Object を name から解決する
#
- # name åá« bind åáÊå£ìåá¦åá¨å£ëåâªåãÌ夺åâ§åâ¯åã°ç½âíå§åâÄê¿Èå¡ùåà
- # åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã <c_1, c_2, ... c_n> åá¯éæºç¸°íú¨å¢ð©£ì³ºåáÊå£ìåâ¶å
+ # name に bind されているオブジェクト参照を返す。
+ # ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
#
- # ê¾Êèʲ name åá«èº¼å¡èåâ²å£ìåáÞç¤åá¸èËçê¯Îç¯÷åá®ê¢´éð°å¢åá¯åá¾åáÔè×àéèÚå¢ toName() åá«åâ°å¢¥åá¦
- # NameComponent åá«ê¦²è½ûåáÊå£ìåâ¶å
+ # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+ # NameComponent に変換される。
#
- # CosNaming::resolve() åá¨åá»åá¼éð¸é²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢ç¸¸åá«èº¼å¡èåâ²å£ìåá
- # åãºå¦¾åã åâµåã¼åãÀ墰åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨 resolve() åá¸ç¾åá³éçºåáÊå£ìåâ¶é¤»åá
- # íõ°åáªåâ¶å
+ # CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた
+ # ネームサーバのルートコンテキストに対して resolve() が呼び出される点が
+ # 異なる。
#
# @param self
- # @param name ð©£ì³ºåáÒ墻åáºå¤¬åãÌ夺åâ§åâ¯åã°å¢°éðºç±íåá®åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
+ # @param name 解決すべきオブジェクトの名前のネームコンポーネント
#
- # @return «¼¥øµ¼¼êãÊê¥øçâàꦬêåÌꦺê伩êä¼±êå°î¿äïéî§
+ # @return 解決されたオブジェクト参照
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
#
# @else
#
@@ -545,30 +575,31 @@
obj = self._rootContext.resolve(name_)
return obj
except CosNaming.NamingContext.NotFound, ex:
+ self.__print_exception()
return None
##
# @if jp
#
- # @brief ëì®ç®Ôå¡õåâ¸å¢¡éðºç±íåá®åâªåãÌ夺åâ§åâ¯åã°å¢° bind åâÄꧣñù¤åáÒå£ë
+ # @brief 指定された名前のオブジェクトの bind を解除する
#
- # name åá« bind åáÊå£ìåá¦åá¨å£ëåâªåãÌ夺åâ§åâ¯åã°ç½âíå§åâÄꧣñù¤åáÒå£ëåà
- # åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã <c_1, c_2, ... c_n> åá¯éæºç¸°íú¨å¢ð©£ì³ºåáÊå£ìåâ¶å
+ # name に bind されているオブジェクト参照を解除する。
+ # ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
#
- # ê¾Êèʲ name åá«èº¼å¡èåâ²å£ìåáÞç¤åá¸èËçê¯Îç¯÷åá®ê¢´éð°å¢åá¯åá¾åáÔè×àéèÚå¢ toName() åá«åâ°å¢¥åá¦
- # NameComponent åá«ê¦²è½ûåáÊå£ìåâ¶å
+ # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+ # NameComponent に変換される。
#
- # CosNaming::unbind() åá¨åá»åá¼éð¸é²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢ç¸¸åá«èº¼å¡èåâ²å£ìåá
- # åãºå¦¾åã åâµåã¼åãÀ墰åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨 unbind() åá¸ç¾åá³éçºåáÊå£ìåâ¶é¤»åá
- # íõ°åáªåâ¶å
+ # CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた
+ # ネームサーバのルートコンテキストに対して unbind() が呼び出される点が
+ # 異なる。
#
# @param self
- # @param name éé´ëÒ¦åáÒå£ëåâªåãÌ夺åâ§åâ¯åã°å¢°åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
+ # @param name 削除するオブジェクトのネームコンポーネント
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
#
# @else
#
@@ -581,21 +612,25 @@
else:
name_ = name
- self._rootContext.unbind(name_)
+ try:
+ self._rootContext.unbind(name_)
+ except:
+ self.__print_exception()
+
return
##
# @if jp
#
- # @brief ëö°åáÎå¡äåâ³åã³åã¬å¤¯åâ¹åã°å£òíôÞè¯ðåáÒå£ë
+ # @brief 新しいコンテキストを生成する
#
- # 躼å¡èåâ²å£ìåáÞå¥íåã¼åã åâµåã¼åãÀ渴墩íôÞè¯ðåáÊå£ìåá NamingContext åâÄê¿Èå¡ùåà
- # ðÁÈå¡õåâ¸å¢¡ NamingContext åᯠbind åáÊå£ìåá¦åá¨å¢¬åá¨å
+ # 与えられたネームサーバ上で生成された NamingContext を返す。
+ # 返された NamingContext は bind されていない。
#
# @param self
#
- # @return íôÞè¯ðåáÊå£ìåáÞè̲åáÎå¡ä NamingContext
+ # @return 生成された新しい NamingContext
#
# @else
#
@@ -607,25 +642,25 @@
##
# @if jp
#
- # @brief ëö°åáÎå¡äåâ³åã³åã¬å¤¯åâ¹åã°å£ò bind åáÒå£ë
+ # @brief 新しいコンテキストを bind する
#
- # 躼å¡èåâ²å£ìåá name åá«ê±¾åáÎ墨ëö°åáÎå¡äåâ³åã³åã¬å¤¯åâ¹åã°å£òåãÀ夦åã³åã²å¡ùåâ¶å
- # íôÞè¯ðåáÊå£ìåáÞåNamingContext åá¯åãºå¦¾åã åâµåã¼åãÀ渴墩íôÞè¯ðåáÊå£ìåáÞå£âåá®åá§åá¤å£ëåà
+ # 与えられた name に対して新しいコンテキストをバインドする。
+ # 生成された NamingContext はネームサーバ上で生成されたものである。
#
- # ê¾Êèʲ name åá«èº¼å¡èåâ²å£ìåáÞç¤åá¸èËçê¯Îç¯÷åá®ê¢´éð°å¢åá¯åá¾åáÔè×àéèÚå¢ toName() åá«åâ°å¢¥åá¦
- # NameComponent åá«ê¦²è½ûåáÊå£ìåâ¶å
+ # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+ # NameComponent に変換される。
#
# @param self
- # @param name NamingContextåá«è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
- # @param force trueåá®ê¢´éð°å¢ëÈæ¸åá®åâ³åã³åã¬å¤¯åâ¹åã°å£òê¾·éè¶íú¨å¢åãÀ夦åã³åã²å¡ùåâ
- # (åã®å¥õåâ©åã«åã°ç¤:true)
+ # @param name NamingContextに付ける名前のネームコンポーネント
+ # @param force trueの場合、途中のコンテキストを強制的にバインドする
+ # (デフォルト値:true)
#
- # @return íôÞè¯ðåáÊå£ìåáÞè̲åáÎå¡ä NamingContext
+ # @return 生成された新しい NamingContext
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
- # @exception AlreadyBound name <n> åá® Object åá¸å¡ùåá§åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
+ # @exception AlreadyBound name <n> の Object がすでにバインドされている。
#
# @else
#
@@ -645,11 +680,13 @@
if force:
self.bindRecursive(self._rootContext, name_, self.newContext())
else:
+ self.__print_exception()
raise
except CosNaming.NamingContext.CannotProceed, err:
if force:
self.bindRecursive(err.cxt, err.rest_of_name, self.newContext())
else:
+ self.__print_exception()
raise
return None
@@ -657,16 +694,16 @@
##
# @if jp
#
- # @brief NamingContext åâÄëÙþåâ¢åâ¯åã¬å¤¥åãÌç·öåáÒå£ë
+ # @brief NamingContext を非アクティブ化する
#
- # context åá§ëì®ç®Ôå¡õåâ¸å¢¡ NamingContext åâÄëÙþåâ¢åâ¯åã¬å¤¥åãÌç·öåáÒå£ëåà
- # context åá«è½Ì墰åâ³åã³åã¬å¤¯åâ¹åã°å¡ìåãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëꢴéð°å¢± NotEmpty èÀ¶ç¤Ìå¡ì
- # íùºíôÞå¡ùåâ¶å
+ # context で指定された NamingContext を非アクティブ化する。
+ # context に他のコンテキストがバインドされている場合は NotEmpty 例外が
+ # 発生する。
#
# @param self
- # @param context ñýÜ夤åâ¯åã¬å¤¥åãÌç·öåáÒå£ë NamingContext
+ # @param context 非アクティブ化する NamingContext
#
- # @exception NotEmpty ê±¾ð³¡context åá«è½Ì墰åâ³åã³åã¬å¤¯åâ¹åã°å¡ìåãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotEmpty 対象context に他のコンテキストがバインドされている。
#
# @else
#
@@ -691,19 +728,19 @@
##
# @if jp
- # @brief NamingContext åâÄç«í꺰íú¨å¢èº¶å¢¥åá¦ñýÜ夤åâ¯åã¬å¤¥åãÌç·öåáÒå£ë
+ # @brief NamingContext を再帰的に下って非アクティブ化する
#
- # context åá§èº¼å¡èåâ²å£ìåá NamingContext åá«ê±¾åáÎ墨åà¡Ïame åá§ëì®ç®Ôå¡õåâ¸å¢¡
- # åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã <c_1, ... c_(n-1)> åâ NamingContext åá¨åáÎ墨
- # ð©£ì³ºåáÎ墬åá¸å£éåà¢ç¿íéé <c_n> åá«ê±¾åáÎ墨 ñýÜ夤åâ¯åã¬å¤¥åãÌç·öåâÄ꡸å¡æåà
+ # context で与えられた NamingContext に対して、name で指定された
+ # ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として
+ # 解決しながら、名前 <c_n> に対して 非アクティブ化を行う。
#
# @param self
- # @param context ñýÜ夤åâ¯åã¬å¤¥åãÌç·öåáÒå£ë NamingContext
+ # @param context 非アクティブ化する NamingContext
#
- # @exception NotEmpty ê±¾ð³¡context åá«è½Ì墰åâ³åã³åã¬å¤¯åâ¹åã°å¡ìåãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception NotEmpty 対象context に他のコンテキストがバインドされている。
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
#
# @else
# @brief Destroy the naming context recursively
@@ -738,9 +775,9 @@
##
# @if jp
- # @brief êãÒꤻê㼨êã¼° Binding êäÄî³ôóî¤êãÒê¥ë
+ # @brief すべての Binding を削除する
#
- # íù»ñì²åáÊå£ìåá¦åá¨å£ëéå¨åá¦åá®Binding åâÄç±êñù¤åáÒå£ëåà
+ # 登録されている全てのBinding を削除する。
#
# @param self
#
@@ -754,15 +791,15 @@
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåá NamingContext åá® Binding åâÄç½öêÀÎå¡ùåâ
+ # @brief 与えられた NamingContext の Binding を取得する
#
- # ëì®ç®Ôå¡õåâ¸å¢¡ NamingContext åá® Binding åâÄç½öêÀÎå¡ùåâ¶å
+ # 指定された NamingContext の Binding を取得する。
#
# @param self
- # @param name_cxt Binding òñÌíî¾ÎíÀµ¼£ NamingContext
- # @param how_many Binding åâÄç½öêÀÎå¡ùåâ¶ëÓî곤åá®ì¹±åá
- # @param rbl éïÌç¾Îå¡÷åá Binding åâÄæ¿Úè·áåáÒå£ëåãÖå¦åã
- # @param rbi éïÌç¾Îå¡÷åá Binding åâÄ墡åá©åâ¶å¢¡åâ¢å¢°åâ¤åã¬å¦®åã¼åâ¿
+ # @param name_cxt Binding 取得対象 NamingContext
+ # @param how_many Binding を取得する階層の深さ
+ # @param rbl 取得した Binding を保持するホルダ
+ # @param rbi 取得した Binding をたどるためのイテレータ
#
# @else
# @endif
@@ -781,16 +818,16 @@
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåá NameComponent åá®ëö®çÎç¯÷ð£¨íï¾åâÄê¿Èå¡ù
+ # @brief 与えられた NameComponent の文字列表現を返す
#
- # ëì®ç®Ôå¡õåâ¸å¢¡ NameComponent åâÄèËçê¯Îå¢ê¦²è½ûåáÒå£ëåà
+ # 指定された NameComponent を文字に変換する。
#
# @param self
- # @param name_list ô¨²ð¿ì±¼Àµ¼£ NameComponent
+ # @param name_list 変換対象 NameComponent
#
- # @return ëö®çÎç¯÷ꦲè½ûî·ÀèÛü
+ # @return 文字列変換結果
#
- # @exception InvalidName ê¾Êèʲ name_list åá®éðºç±íåá¸æ¸ºè£åà
+ # @exception InvalidName 引数 name_list の名前が不正。
#
# @else
# @brief Get string representation of given NameComponent
@@ -803,21 +840,21 @@
string_name = [""]
self.nameToString(name_list, string_name, slen)
- return string_name
+ return string_name[0]
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåáÞèËçê¯Îç¯÷ð£¨íï¾åâ NameComponent åá«éè¬ê§£åáÒå£ë
+ # @brief 与えられた文字列表現を NameComponent に分解する
#
- # ëì®ç®Ôå¡õåâ¸å¢¡ëö®çÎç¯÷åâ NameComponent åá«ê¦²è½ûåáÒå£ëåà
+ # 指定された文字列を NameComponent に変換する。
#
# @param self
- # @param sname ꦲè½ûê±¾ð³¡ëö®çÎç¯÷
+ # @param sname 変換対象文字列
#
- # @return NameComponent ô¨²ð¿ð·ÀðÝü
+ # @return NameComponent 変換結果
#
- # @exception InvalidName ê¾Êèʲ sname åá¸æ¸ºè£åà
+ # @exception InvalidName 引数 sname が不正。
#
# @else
# @brief Get NameComponent from gien string name representation
@@ -831,6 +868,7 @@
nc_length = 0
nc_length = self.split(string_name, "/", name_comps)
+
if not (nc_length > 0):
raise CosNaming.NamingContext.InvalidName
@@ -850,18 +888,18 @@
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåá addr åᨠstring_name åá¶å£é URLð£¨íï¾åâÄç½öêÀÎå¡ùåâ
+ # @brief 与えられた addr と string_name から URL表現を取得する
#
- # ëì®ç®Ôå¡õåâ¸å¢¡åâ¢åã²å¦®åâ¹åá¨éðºé§°åâöRLåá«ê¦²è½ûåáÒå£ëåà
+ # 指定されたアドレスと名称をURLに変換する。
#
# @param self
- # @param addr ô¨²ð¿ì±¼Àµ¼£ê伤êå²ê¨®êä¼»
- # @param string_name ô¨²ð¿ì±¼Àµ¼£òòºñ²
+ # @param addr 変換対象アドレス
+ # @param string_name 変換対象名称
#
- # @return URL ô¨²ð¿ð·ÀðÝü
+ # @return URL 変換結果
#
- # @exception InvalidAddress ê¾Êèʲ addr åá¸æ¸ºè£åà
- # @exception InvalidName ê¾Êèʲ string_name åá¸æ¸ºè£åà
+ # @exception InvalidAddress 引数 addr が不正。
+ # @exception InvalidName 引数 string_name が不正。
#
# @else
# @brief Get URL representation from given addr and string_name
@@ -872,19 +910,19 @@
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåáÞèËçê¯Îç¯÷ð£¨íï¾åâ resolve åáÎ夬åãÌ夺åâ§åâ¯åã°å£òðÁÈå¡ù
+ # @brief 与えられた文字列表現を resolve しオブジェクトを返す
#
- # ëì®ç®Ôå¡õåâ¸å¢¡ëö®çÎç¯÷ð£¨íï¾åâÃÓesolveåáÎñ¼¸å¤¬åãÌ夺åâ§åâ¯åã°å£òéïÌç¾Îå¡ùåâ¶å
+ # 指定された文字列表現をresolveし,オブジェクトを取得する。
#
# @param self
- # @param string_name éïÌç¾Î篾ð³¡åâªåãÌ夺åâ§åâ¯åã°èËçê¯Îç¯÷ð£¨íï¾
+ # @param string_name 取得対象オブジェクト文字列表現
#
- # @return ð©£ì³ºåáÊå£ìåáÞ夬åãÌ夺åâ§åâ¯åã
+ # @return 解決されたオブジェクト
#
- # @exception NotFound ñàÈæ¸åá® <c_1, c_2, ..., c_(n-1)> åá¸çÐçتåáÎ墬åá¨å
- # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåá§éç¦íð¬å£òî¸Òé¶Ô墩åáºå¢¬åá¨å
- # @exception InvalidName ê¾Êèʲ name åá®éðºç±íåá¸æ¸ºè£åà
- # @exception AlreadyBound name <n> åá® Object åá¸å¡ùåá§åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåà
+ # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+ # @exception CannotProceed 何らかの理由で処理を継続できない。
+ # @exception InvalidName 引数 name の名前が不正。
+ # @exception AlreadyBound name <n> の Object がすでにバインドされている。
#
# @else
# @brief Resolve from name of string representation and get object
@@ -900,19 +938,19 @@
##
# @if jp
#
- # @brief åâªåãÌ夺åâ§åâ¯åã°å¢°éðºç±íåâÄå¥ðåâ¤åã³åã²å¢ÀåáÞ墱ð©£ì³ºåáÒå£ë
+ # @brief オブジェクトの名前をバインドまたは解決する
#
- # ëì®ç®Ôå¡õåâ¸å¢¡åâ³åã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨åâªåãÌ夺åâ§åâ¯åã°å£ò NameComponent åá§ëì®ç®Ôå¡õåâ¸å¢¡
- # 迺齮åá«åãÀ夦åã³åã²å¡ùåâ¶å
- # éð¸æ¸î°®è±àåá«ë÷¢åá«è½Ì墰ð¨¢é´ åá¸å¥ðåâ¤åã³åã²è¸°å¢Áåá®ê¢´éð°å¢±åà¢èΤê¯Ð墰åãÀ夦åã³åã²è¸°å¢Áð¨¢é´ åâ
- # éïÌç¾Îå¡ùåâ¶å
+ # 指定されたコンテキストに対してオブジェクトを NameComponent で指定された
+ # 位置にバインドする。
+ # 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を
+ # 取得する。
#
# @param self
- # @param context bind åâ¤å¡÷åá¾å¢± resole ê±¾ð³¡åâ³åã³åã¬å¤¯åâ¹åã
- # @param name_list åâªåãÌ夺åâ§åâ¯åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param obj ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ Object
+ # @param context bind もしくは resole 対象コンテキスト
+ # @param name_list オブジェクトに付ける名前の NameComponent
+ # @param obj 関連付けられる Object
#
- # @return NameComponent åá§ëì®ç®Ôå¡õåâ¸å¢¡è¿ºé½®åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëåâªåãÌ夺åâ§åâ¯åã
+ # @return NameComponent で指定された位置にバインドされているオブジェクト
#
# @else
# @brief Bind of resolve the given name component
@@ -930,20 +968,20 @@
##
# @if jp
#
- # @brief åâ³åã³åã¬å¤¯åâ¹åã°å¢°éðºç±íåâÄå¥ðåâ¤åã³åã²å¢ÀåáÞ墱ð©£ì³ºåáÒå£ë
+ # @brief コンテキストの名前をバインドまたは解決する
#
- # ëì®ç®Ôå¡õåâ¸å¢¡åâ³åã³åã¬å¤¯åâ¹åã°å¢ê±¾åáÎ墨 Contextåâ NameComponent åá§ëì®ç®Ôå¡õåâ¸å¢¡è¿ºé½®åá«
- # åãÀ夦åã³åã²å¡ùåâ¶å
- # Context åá¸é©ºåá®ê¢´éð°å¢±ëö°ð¨¾å¤µåã³åã¬å¤¯åâ¹åã°å£òíôÞè¯ðåáÎ墨åãÀ夦åã³åã²å¡ùåâ¶å
- # éð¸æ¸î°®è±àåá«ë÷¢åá«è½Ì墰ð¨¢é´ åá¸å¥ðåâ¤åã³åã²è¸°å¢Áåá®ê¢´éð°å¢±åà¢èΤê¯Ð墰åãÀ夦åã³åã²è¸°å¢Áð¨¢é´ åâ
- # éïÌç¾Îå¡ùåâ¶å
+ # 指定されたコンテキストに対して Contextを NameComponent で指定された位置に
+ # バインドする。
+ # Context が空の場合は新規コンテキストを生成してバインドする。
+ # 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を
+ # 取得する。
#
# @param self
- # @param context bind åâ¤å¡÷åá¾å¢± resole ê±¾ð³¡åâ³åã³åã¬å¤¯åâ¹åã
- # @param name_list åâ³åã³åã¬å¤¯åâ¹åã°å¢è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
- # @param new_context ñö¢ñà£è½Ðå¡ñåâ²å£ìåâ Context(åã®å¥õåâ©åã«åã°ç¤:None)
+ # @param context bind もしくは resole 対象コンテキスト
+ # @param name_list コンテキストに付ける名前の NameComponent
+ # @param new_context 関連付けられる Context(デフォルト値:None)
#
- # @return NameComponent åá§ëì®ç®Ôå¡õåâ¸å¢¡è¿ºé½®åá«åãÀ夦åã³åã²å¡õåâ¸å¢¨åá¨å£ëContext
+ # @return NameComponent で指定された位置にバインドされているContext
#
# @else
# @brief Bind of resolve the given name component
@@ -960,13 +998,13 @@
##
# @if jp
- # @brief åãºå¦¾åã åâµåã¼åãÀ墰éðºç±íåâÄç½öêÀÎå¡ùåâ
+ # @brief ネームサーバの名前を取得する
#
- # ðªê°Ôå¡÷åáÞå¥íåã¼åã åâµåã¼åãÀ墰éðºç±íåâÄç½öêÀÎå¡ùåâ¶å
+ # 設定したネームサーバの名前を取得する。
#
# @param self
#
- # @return åãºå¦¾åã åâµåã¼åãÀ墰éðºç±í
+ # @return ネームサーバの名前
#
# @else
# @brief Get the name of naming server
@@ -977,13 +1015,13 @@
##
# @if jp
- # @brief åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å£òéïÌç¾Îå¡ùåâ
+ # @brief ルートコンテキストを取得する
#
- # ðªê°Ôå¡÷åáÞå¥íåã¼åã åâµåã¼åãÀ墰åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã°å£òéïÌç¾Îå¡ùåâ¶å
+ # 設定したネームサーバのルートコンテキストを取得する。
#
# @param self
#
- # @return åãºå¦¾åã åâµåã¼åãÀ墰åã«åã¼åã°å¤µåã³åã¬å¤¯åâ¹åã
+ # @return ネームサーバのルートコンテキスト
#
# @else
# @brief Get the root context
@@ -994,14 +1032,14 @@
##
# @if jp
- # @brief åâªåãÌ夺åâ§åâ¯åã°å¡ìåãºå¦¾åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã°å¡ëéè¤éè¥åáÒå£ë
+ # @brief オブジェクトがネーミングコンテキストか判別する
#
- # ëì®ç®Ôå¡÷åáÞê¦¢é´ åá¸å¥íåã¼åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã°å¡ëéè¤éè¥åáÒå£ë
+ # 指定した要素がネーミングコンテキストか判別する
#
# @param self
- # @param obj éè¤éè¥ê±¾ð³¡ð¨¢é´
+ # @param obj 判別対象要素
#
- # @return éè¤éè¥î·ÀèÛü(åãºå¦¾åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã:trueåà¢å¡ýåâ¸æ»¥ê¦:false)
+ # @return 判別結果(ネーミングコンテキスト:true、それ以外:false)
#
# @else
# @brief Whether the object is NamingContext
@@ -1016,15 +1054,15 @@
##
# @if jp
- # @brief 躼å¡èåâ²å£ìåáÞç¿íééºå¡ìåãºå¦¾åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã°å¡ëåá©åá¬å¡ëéè¤éè¥åáÒå£ë
+ # @brief 与えられた名前がネーミングコンテキストかどうか判別する
#
- # NameComponent åâ¤å¡÷åá¾å¢±ëö®çÎç¯÷åá§ëì®ç®Ôå¡÷åáÞê¦¢é´ åá¸å¥íåã¼åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã°å¡ë
- # ò꼦ò꼧êãÒê¥ë
+ # NameComponent もしくは文字列で指定した要素がネーミングコンテキストか
+ # 判別する
#
# @param self
- # @param name_list ò꼦ò꼧ô³¼Àµ¼£
+ # @param name_list 判別対象
#
- # @return éè¤éè¥î·ÀèÛü(åãºå¦¾åãÞ妵åâ°åâ³åã³åã¬å¤¯åâ¹åã:trueåà¢å¡ýåâ¸æ»¥ê¦:false)
+ # @return 判別結果(ネーミングコンテキスト:true、それ以外:false)
#
# @else
# @brief Whether the given name component is NamingContext
@@ -1035,18 +1073,18 @@
##
# @if jp
- # @brief åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã°å¢°ñã¨éè¬å£òðÁÈå¡ù
+ # @brief ネームコンポーネントの部分を返す
#
- # ëì®ç®Ôå¡õåâ¸å¢¡î±¨çÖ´åá®åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã°å£òéïÌç¾Îå¡ùåâ¶å
- # 溬潺齮åá¸è·çê°Ôå¡õåâ¸å¢¨åá¨å¢¬åá¨ç ´éð°å¢±åà¢è×àêÀ¸å¢°ð¨¢é´ åâÄëÒ¦åá¨å¢¡åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã
- # åâÄê¿Èå¡ùåà
+ # 指定された範囲のネームコンポーネントを取得する。
+ # 終了位置が指定されていない場合は、最後の要素を除いたネームコンポーネント
+ # を返す。
#
# @param self
- # @param name_list ø¨Øñî´¼¤ô³¼Àµ¼£NameComponent
- # @param begin éïÌç¾Î鯨çÖ´ñö¶ç§¶æ½ºé½®
- # @param end éïÌç¾Î鯨çִ溬潺齮(åã®å¥õåâ©åã«åã°ç¤:None)
+ # @param name_list 検索対象NameComponent
+ # @param begin 取得範囲開始位置
+ # @param end 取得範囲終了位置(デフォルト値:None)
#
- # @return NameComponent òñÌíî¾ÎñîµÀðÝü
+ # @return NameComponent 取得結果
#
# @else
# @brief Get subset of given name component
@@ -1068,19 +1106,19 @@
##
# @if jp
- # @brief åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã°å¢°ëö®çÎç¯÷ð£¨íï¾åâÄç½öêÀÎå¡ùåâ
+ # @brief ネームコンポーネントの文字列表現を取得する
#
- # ëì®ç®Ôå¡÷åáÞ鯨çÖ´åá®åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã°å¢°ëö®çÎç¯÷ð£¨íï¾åâÄç½öêÀÎå¡ùåâ¶å
- # ëö®çÎç¯÷ð£¨íï¾åá¯å࡯ameComponentåá®ì©¶è¯ðåá·ÜNc[0],Nc[1],Nc[2]þ¿¥þ¿¥þ¿¥}åá®ê¢´éð°å
- # Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kindþ¿¥þ¿¥þ¿¥
- # åá¨åá¨å¡æ꿢꾾墩éïÌç¾Î墩åáºå£ëåà
- # éïÌç¾Îå¡÷åáÞèËçê¯Îç¯÷åá®ñõ·åáÊå¡ìëì®ç®Ôå¡÷åáÞëʹåáÊ滥躴墰ꢴéð°å¢±åà
- # ëì®ç®Ôå¡÷åáÞëʹåáÊ墩éè®å£êëí¨åá¦åâ²å£ìåâ¶å
+ # 指定した範囲のネームコンポーネントの文字列表現を取得する。
+ # 文字列表現は、NameComponentの構成が{Nc[0],Nc[1],Nc[2]・・・}の場合、
+ # Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind・・・
+ # という形式で取得できる。
+ # 取得した文字列の長さが指定した長さ以上の場合は、
+ # 指定した長さで切り捨てられる。
#
# @param self
- # @param name_list òñÌíî¾ÎíÀµ¼£NameComponent
- # @param string_name éïÌç¾ÎéµÀèÛüëö®çÎç¯÷
- # @param slen éïÌç¾Î篾ð³¡ëö®çÎç¯÷ëüꦧéà¤
+ # @param name_list 取得対象NameComponent
+ # @param string_name 取得結果文字列
+ # @param slen 取得対象文字列最大値
#
# @else
# @brief Get string representation of name component
@@ -1105,17 +1143,17 @@
##
# @if jp
- # @brief åãºå¦¾åã åâ³åã³åãÚ妾åãºå¦µåã°å¢°ëö®çÎç¯÷ð£¨íï¾ëù¤å¢°ëö®çÎëʹåâÄç½öêÀÎå¡ùåâ
+ # @brief ネームコンポーネントの文字列表現時の文字長を取得する
#
- # ëì®ç®Ôå¡÷åáÞå¥íåã¼åã åâ³åã³åãÚ妾åãºå¦µåã°å£òëö®çÎç¯÷åá§ð£¨íï¾åáÎ墡ꢴéð°å¢°ñõ·åáÊå£òéïÌç¾Îå¡ùåâ¶å
- # ëö®çÎç¯÷ð£¨íï¾åá¯å࡯ameComponentåá®ì©¶è¯ðåá·ÜNc[0],Nc[1],Nc[2]åã»åã»åã»}åá®ê¢´éð°å
- # Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind裙悉裙悉裙悉
- # åá¨åá¨å¡æ꿢꾾墩éïÌç¾Î墩åáºå£ëåà
+ # 指定したネームコンポーネントを文字列で表現した場合の長さを取得する。
+ # 文字列表現は、NameComponentの構成が{Nc[0],Nc[1],Nc[2]・・・}の場合、
+ # Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind・・・
+ # という形式で取得できる。
#
# @param self
- # @param name_list òñÌíî¾ÎíÀµ¼£NameComponent
+ # @param name_list 取得対象NameComponent
#
- # @return ëì®ç®Ôå¡÷åáÞå¥íåã¼åã åâ³åã³åãÚ妾åãºå¦µåã°å¢°ëö®çÎç¯÷ñõ·åá
+ # @return 指定したネームコンポーネントの文字列長さ
#
# @else
# @brief Get string length of the name component's string representation
@@ -1143,35 +1181,38 @@
##
# @if jp
- # @brief ëö®çÎç¯÷åá®éè¬ç²´
+ # @brief 文字列の分割
#
- # ëö®çÎç¯÷åâÄè·çê°Ôå¡÷åáÞå¥çåãªåãÞå¤Áåá§éè¬ç²´åáÒå£ëåà
+ # 文字列を指定したデリミタで分割する。
#
# @param self
- # @param input éè¬ç²´ê±¾ð³¡ëö®çÎç¯÷
- # @param delimiter éè¬ç²´íô¨åã®å¦¬åãÞå¤Á
- # @param results éè¬ç²´î·ÀèÛü
+ # @param input 分割対象文字列
+ # @param delimiter 分割用デリミタ
+ # @param results 分割結果
#
- # @return éè¬ç²´åáÎ墡ëö®çÎç¯÷åá®ð¨¢é´ ëõ°
+ # @return 分割した文字列の要素数
#
# @else
# @brief Split of string
# @endif
def split(self, input, delimiter, results):
delim_size = len(delimiter)
- found_pos = begin_pos = pre_pos = substr_size = 0
+ found_pos = 0
+ begin_pos = 0
+ pre_pos = 0
+ substr_size = 0
if input[0:delim_size] == delimiter:
- begin_pos = pre_pos = delim_size
+ begin_pos = delim_size
+ pre_pos = delim_size
while 1:
found_pos = string.find(input[begin_pos:],delimiter)
-
if found_pos == -1:
results.append(input[pre_pos:])
break
- if found_pos > 0 and input[found_pos - 1] == "\\":
+ if found_pos > 0 and input[found_pos + begin_pos - 1] == "\\":
begin_pos += found_pos + delim_size
else:
substr_size = found_pos + (begin_pos - pre_pos)
@@ -1181,3 +1222,25 @@
pre_pos = begin_pos
return len(results)
+
+
+ ##
+ # @if jp
+ #
+ # @brief 例外情報出力
+ # 例外情報を出力する。
+ #
+ # @else
+ #
+ # @brief Print exception information
+ # Print exception information
+ # @endif
+ def __print_exception(self):
+ if sys.version_info[0:3] >= (2, 4, 0):
+ print traceback.format_exc()
+ else:
+ _exc_list = traceback.format_exception(*sys.exc_info())
+ _exc_str = "".join(_exc_list)
+ print _exc_str
+
+ return
More information about the openrtm-commit
mailing list