From waterbug at step.nasa.gov Sat Feb 3 12:33:47 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Sat Feb 3 12:33:49 2007 Subject: [pangalactic-commits] Add new "Python Powered" image. Message-ID: <200702031733.l13HXlGO025812@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/node/images/maketoolkitimages.py 1.20 1.21 PanGalactic/pangalactic/node/images/toolkitimages.py 1.17 1.18 PanGalactic/pangalactic/node/images/PythonPowered.gif 1.1.1.1 None Log message: Add new "Python Powered" image. Index: PanGalactic/pangalactic/node/images/maketoolkitimages.py diff -u PanGalactic/pangalactic/node/images/maketoolkitimages.py:1.20 PanGalactic/pangalactic/node/images/maketoolkitimages.py:1.21 --- PanGalactic/pangalactic/node/images/maketoolkitimages.py:1.20 Tue Sep 26 00:40:55 2006 +++ PanGalactic/pangalactic/node/images/maketoolkitimages.py Sat Feb 3 12:33:45 2007 @@ -1,6 +1,6 @@ #!/usr/bin/env python -# $Id: maketoolkitimages.py,v 1.20 2006/09/26 04:40:55 waterbug Exp $ +# $Id: maketoolkitimages.py,v 1.21 2007/02/03 17:33:45 waterbug Exp $ """ Generate all the PanGalactic images in python code. @@ -54,7 +54,7 @@ "-a -n PLM plm.gif toolkitimages.py", "-a -n GridItem grid_item_16.gif toolkitimages.py", "-a -n wxPythonLogo wxPyButton.png toolkitimages.py", - "-a -n PythonPowered PythonPowered.gif toolkitimages.py", + "-a -n PythonPowered python-powered-w-100x40.png toolkitimages.py", "-a -n GreenDot greendot.gif toolkitimages.py", "-a -n meatball meatball_new.gif toolkitimages.py", "-a -n smalltwisted smalltwisted.png toolkitimages.py", Index: PanGalactic/pangalactic/node/images/toolkitimages.py diff -u PanGalactic/pangalactic/node/images/toolkitimages.py:1.17 PanGalactic/pangalactic/node/images/toolkitimages.py:1.18 --- PanGalactic/pangalactic/node/images/toolkitimages.py:1.17 Tue Sep 26 00:40:55 2006 +++ PanGalactic/pangalactic/node/images/toolkitimages.py Sat Feb 3 12:33:45 2007 @@ -1579,48 +1579,245 @@ #---------------------------------------------------------------------- def getPythonPoweredData(): return cPickle.loads(zlib.decompress( -'x\xda\xc5XM\x8f\x9c0\x0c\xbd\xef\xaf\x18\x89\x8f\xad\x16\r\x82\x19`\xbe\xb4\ -\x12]\xb5=\x96C/\xb9VUO\xad\xca\xfe\xffS\xf3\x9c\x84\xc4N\xd8\xa1\xeaa\x13\ -\xcd$yqx\x18\'\xb6\xe1\xc3\xef\xd7\xf6\xe1\xdbc\xdb6\xbb\xae\xdb\xb5\xc3\xae\ -}|x=<|\xff\xf6\xa8v?v/\xbf\xbf\xff\xf8\xa5\x81#\x80\x9b\x06\xb2\xe6\x8c\xaa\ -\xa1\x0eP\t\xe8\x0b\x15\r\xf5\x80f@m\x83\xaa\xa1\x01PE\xd0\x19UC\'@9\xa0\x97\ -O\xa8\x1a:\x03\xda\x03:\\P5t\x01\xf4\x0c\xe8\xd8\xa2j\xa8m\x80\xd5t\x17\xcdp\ -\xfc\xd8\x03k\x81=\x01\xfb4\xa0\x02\xa3\xdb\xbf\xd2\xda\x0b*0\xd2`\x04v\xeeP\ -\x81\x91\n\x19\xad\xfd\x8c\n\x8ct\xd8i\xec\xeb\xfc\xe7\'\x00\xd2`\x82Pw@\x05\ -F*\x14\xc0>\x9fP\x81\x9d\xcd\xc2\xcd\xa5^)\xffp\t\xd0^6\xd2\xd6\x1b\xcb6\xda\ -Cs\x9f\xb6\xfe\xe7r\x9f\xb6}\x93\xb6\xfe\x8f\xf2&\xed!I\xabd\xd1\x97Q\xa9r\ -\x0f_\xa3=\xa6h\x95\x9a\xa7\x8a\xea\xac\xd0\xd7\xff\xb5i\x1d^Q\xdf\xe3n\x85\ -\x94W+\xb4]\x92v\x1e\xb3\xbc\xd05\x1b+\xf4G\xba\x9an+\x8b\xd3L\x80\xcf\xca\ -\xccHy\xf0\xd7)\xda>\xa6\xd5\xcfg\xcaJS\x8a\xb1\xd2\xfdl\xd2\x97\xd1m1:\xbc,\ -\xb3\xb1X\xf0l\xaa\xf4(\x96\xa7623h\x07I\x8b\xdd\xa0\xaa\xbc,H\xab\xa7b|\xce\ -\xcb\xbc\xd2\xcb5\x96?C\xa7\x02s\x99\xc0\xb5dB\xbe2\xb4\x9c\x18\xb4\'Nk6\xa1\ -\x9a\n\xbao\xe8P\xe0Gw\x8f\xd6a\xb0c\x80\x8fB^?k\xe5\xe6\xa3\x8d\rZ\xe6\xa5\ -\xdc\xde\xa7;\xdd\xab\x9b\xda\xeb\xf6*\xee>\xd5^y\xbf\x00/\xd36$\x06m\xe8\ -\xa5\x16\x81H[\\e\xb1e\xa8e\xe2\x89\x90\x951\xc3\xb5\xf5\xbc\x88Z\xdeK\x05\'\ -\x9d\xd9\xb6\x82\xdd\xc6=\xfd\xcf\\K#S$\xb4\xd5\xb2W\xa9\xad#\x06\xed\xe2\ -\xa5\xc2Y\xdc\xf5\xb2\x93IO}uc1\xa6m\xb9H\t;\xe7\xf67\t\xda\xda\xd1:/\xc5&\ -\x17M2b"}\x9f,\xeb\x16m\xf3+V\x14\xb1\xb6\xc4\x0bZ\xeb\xa5\xf8\xdcb7\xf2:JU\ -\xe3\xa2\xeb&\xdb\x16\xf6\x1c\xc7\xda\x82\x17\xb4]\x92\xd6i\xe4J8\xde\xb0\ -\x93s\xb2LR[Kk\xbcT\x9d\xd0v\xf2~=\x18\xd7L\xdb\xb5s;\xd9\'\x94\xd0\xb6&\xda\ -!I\xcb\xb4\r\xc7A\xbf\xda\xe8\xa5\\Db\xb4\xe4\xa5\xeaH[\xefO\xe5XI\x9f{\xcf\ -\'\xdb\x88\xe4\x0bh\xcfIZ\x17E\x12c\x19a\xeeE \x1f\x89B\xdaK\x92\xd6\xc6P\ -\x95\x18/}\xd1\x8ax\xeb[\xf1\xe4\x88\xb6k"Zc\x8c\x9b3\xab\xcc\x1a\x969\xd9\ -\xde\x16\xa1\x1b[\x12\xf9f\xd0\xb6\x92\x96e\x16\xf5j\xd6 \xf0y9\xe3\x1ew}\ -\xb9\xa3A{\x88h\xc3\xccB\xad\xda\x8c\xe3{=\x92\xf2\xa6\x9f\xc5\xbe\x19\xb4Gy\ -\x80Xf\xa1\xd6v(\xc7\xe1\x7f#y\xdb\x8f|3\x0eP\xd7E\xb4Q\xf4If\x19\x0c/h$\xe4\ -m?\xf2\xcdD\xdbK\xe7H^\'\x9f\xc6I\xdfe\x16y\x1fk\xab\xd1\xcb\xb8\xf8\xba\x1f\ -\xad|\x80\x1b\xb4\x14Y\x06h\x87\x88v-\x8f\xba\x9a\\\x8a\xb0+\x8f>&\x9b0s"*E\ -\xbe\xd9\xd0\x9ed\xe0c\xb16\xf2\xbb\xfe\xc7b-\xed\xa0\x99\x9e\x84\x8c\xc1\ -\xc27\x9b\xc0\xd7\x9de\x98g\xb1VF\x99\xc9\xfe\x16m\x83\x0cR\x8518\xc0\xf72\ -\x83\x04\xedE&5,\xd6Rn\x1c\xd8\xd6e\r\xd6\x86\xd7\xf1\xd9\x9fK\xeb\x91<\x1e\ -\xacu\xda\xba\xa4\xa6od\n\xc7"\xc7,w\xe6\x93\xcd3\x1c\x1e<\x11&O\xe7\xd9\xf6\ -\x17\xdb\xfa\x14\xaeoe\xc2\xea#\x87\xcb+R9\x95\xc3\xb3\xe9\x16F\xa7\x00\xf7\ -\xfd\xd2\xce\x07\tk\x7f\x90\xe9\xf9\xe2\x8d\x1c/\xf3:\xf0G\xcc\x1b\xcd,Z\x85\ -\xb8\xeb\xbbQ\x98\x9e\xf7\xd1\x1b\x1f\x8f>\xd2\xc7\xceA|\x11\x11\')\xef\xdf\ -\x1b9m\xfc\xc6\xc7\x13\x02\xb5\xb9\xdc\x93g\xb4\x897>\x9e\x87\x84\x17^\xe9o\ -\x91\x17\xb4C\xe2\xfd\x96g?\xc97\xf7:\x11\x89\xdf\x92\x0f\xdf\xafA{Z\xffvQ\ -\xffwY\xfdv\xd1\x9f\xdf\xe5\x93I\x7fy\x97\x0fDC\xf3.\x9f\xc3\x86\xf6]>\xfe\r\ -\xdaK\xd5\x7f\x01\x90E\x88\n' )) +'x\xda\xdd\x9biW\x159\xdb\x85\xbf\xf7\xaf\x88\x8d\xe2P\x18O\xcdU*,kt6\n\xa8Q\ +\x97\n\xa28!\x01\x11\x15\xa7\xdf\xfe&{\xa7\xceQ@\xd1n\xbb\x9fw5Y\xab\x91}R\ +\xa9\\I\xea\xae}\'\xa7\x8f\xadm\x84\x7f,\x1c\rG#\x91\x8cD\x1aF":\xfa\xc7F\ +\xf4\xc7\xf2\xc2\xd1i!V\xc4T\xdd4}\xdbY-v\xda\x15hy\xec\x8a\xd5\x12\xa7\x19\ +\x83zq\xd3t#\xab\xa5NK\xb4\xd3\xba\xcc\x15\xabeN;\xa7\x9c\xd6V]\xd4\x15V\xcb\ +q\xadD{\x8d+V+\x9c\xb6\x8ezQ\x97\x96yk\xb5\xd2i1\xeau\xbd+V\x0bGN|,|\x83)\ +\xc5\xd0\x89-\xef\xdc\xf4a\xefHB\xa0l\xa1f\x91\xba\xe2D\xb0\xdcD\x9b}\xdfTq\ +\xe5D\xc0\\4\xbe\xe3}\x8f\x9a\xa0\xd9\xa6\xd8\xf7\x11E\xe0\x88\xc0\x89q\x95\ +\xc5l\x13<\x1aw\xef\x0bW\x9c\x08\xa0\xcb\xc3\x8d\xda\x18\xfd\x04Q\x04\xb1\ +\xe8\\q#\x0e\xa2gz\xa8\x99\x84N\x04\xd1{\xdc=)\xb3\xaep\xe3\x11\x81h4\xa9\ +\x998\x11D\xf3^lG\x89\x1b\xf5\x88D\x83\x18\'\xb5\x13A\xf4V\x8ekB\x04\xd1\xf5\ +IM7\x19\x11\x88\x9eb6\xd2:o\xcb\xd2\x89 \xba0\xd4\xccR\xf4\x13D\xe7\x82\xe1r\ +\x881\x88^\xa1\xf3YXD\xa5\xeb|\x0c\xa2\x87\x93\xcb\xdd\x1c\xc5 :\x89.U#W\x9c\ +\x08\xa2\xf3\x93\x9a\x0e3\x06\xd1\x94\x19:O\x11D\x1fpy2\xca\xf3\xca\xad\xcc\ +\x18D\xf7Q3\x1f\x15m\xe5\x06$\x06\xd1{5\xee\xa7#\x8aA\x14\xaa\xf1\x8d\xdcb\ +\x88A\xf4!\x18\x8bn\x94\x12\x10\xd5\xa8\x99geT\xb9\xcb\x13\x10=A?\xe36\xcf\ +\xaa\xdc\x89 *\xb1\xea\xd2\xa8\x18Un1$ Z\x97\xe3\xbb\xbbAN@t\x0cm\x16u\x15\ +\xd5\xae\x9f\t\x88\xa6\xd0f\xd6\x96Q\xed0\x13\x10]@\xcd2\xac\xf2\xda\xf53!\ +\xd1\xd0\xcf&w\xe3\x99\x80h\x035\xab\xb8\xce\x1a\xb7>\x13\x10=`\x9bUY5n\x94R\ +\x10\xb5\xa8YGM\xd8\xb8\xf5\x99\x82\xe8\xbe\xe6#S\xd9\xc7\xda\x89 J\xd0\xf96\ +s\xc5\x89 :\x05\xcc\xacq\xc5\x89 \xca\x87\xf1\xec\xf1t\xa4\x8c\n\x98\x8e\xa6\ +j\xd3\xd6-\x86\x14D\x91\x1e\xd7D\x9b$b\xec\xa9\xdb\x11c\n\x88"\xdff\x17\x15\ +\x8e=\x05\xd1MF\x9f\xa2\xe9;\xb7\xea2\x10\xcd\xa1\xcd\xa2K\xf1\xc8>\x1f\xb8\x1cDK\x9c\xe2\xd0\x15\'\x82\xa8C\xcd\xaevQ\ +\xc4\x89 z\xc3\xcb\xedR(\x1cf\x06\xa2\xcb\x03fZ"N\x82h\x8a5\xb3lT\xb8\xcbs\ +\x10\xcdp\x8erW\x9c\x08\xa2\x8b\xacY\xdag\xce-\x9b\x1cD\xbd\x1f\xe4\xae\xc0c\ +\x98\x83(\xa3X\xb9\xe2DF\x06F\x9b4\xab\x0b\xc7\x9e\x83h\x99A \xcc\xd3\xd2-\ +\x9b\x1cD\x171G%~\x9c\x08\xa2\xa7\xc3 \xd7\x15n\x04\xa2\x1d\xe1;\xdf\x94\xee\ +F\x05\x88\xce\xe9\xb1\xe8nT\x80\xe8\xb6\x19.\xaf\xdd\x80\x14 \x12\x8c\x0c\ +\x91+N\x04Q7\xa9\xe9\x06\xb9\x00\xd1\xe1\xf1\xddk\xd4\x04\xd1\x12:\x9f\x95E\ +\xc9\xcbA\x94\x0c]\xeaK7\x9b\x05\x88\xde\xb2fST\x88!\x05\xe7\xc8\xd7\xcc\xa3\ +\xca\x8dg\x01\xa2yv\xa9v\xc5\xbd\xa3@\xd4K_3Ed(A\xa4\xccXt\xec%\x88^2.ueY\ +\xb9eS\x82\xe8\x9e\x1f\x90\xbc\xa0\x08\xa2e>\x08\x89+N\x04\xd1!\xbfB\xfa\xb0\ +q\xec%c\x9d\x1c_\xee\x88J\x10}D\x9bIQ\x84\x18\xcf\x12D\xd3\x01\x97M\xd9\xb3M\ +\x10m3\x04\xb5UR\xe7x\xc3\x02\xe9\xc10\xca\x1d\xe2E8\x02\xd353\xae\x8b\xb7\ +\xdc\x08P+\x0cMqU\xd65TP\xddB\xb7\xea\xd6\x15\xa8\xc0\n\xf8Zh\xca\xb2\xe6\ +\xfb\x1c\\\xa5_\xa5}\xd2&P\x01\xb6\x15\x8cU\xbchG \xfb"\xc7j\x06\x15h;\x0ceI\ +\x13\xb7#\xa8`\x9bF\xdd,u\x05F\x01l\xd3\xac[5E\x0b6\xfa\x87\x10}\xa8\xc3&e\ +\xbb4\x10!\x03_\xe1\nT\xb0\x9dE\xcf\x9aQ\xd3z\x15lw\xd1n\x93\xb5Q\x8bq\xa0\ +\x87\xb84\xf47G\x9c\ni"\xa6\xd83\x18%\xa8\x8c~\x93\xba\x18\x07\xda\x88G\x8cJ\ +Q\xdbt\xec/\xd8\xce\xd0\x91\xe1\x07~\x87F\x02jS\xb6%\xfcWH\'!\xfcl\xf6U\x87\ +\xb9\xa0\x958EoU\xb9\x02\x15l3\xf4\'#W\xa0\x82\xed9\x9dPn\xfd\x15U\xb0iZ\xa1\ +(m}]\xb0\x19\xe5\xdbm\x11\x06C\xfa\t\x83\x9euaWy\x15l\xaf\x19\xb4\xd2\xb4+\ +\xa8\xd2Qp\x1cbW`\xdb\xc06\xcb\xd5?\x1a\xdc\x18=\xc5\xd5a\xccZ:/\x9a\x8a\x1d\ +\xe3[\xc8z\x8c\x0e]\xc5\t\xc6\xcd\xd2\x15\xa8`{\xc2ufk\xfa\x16\xc0v\x97\xf10\ +\xcc\n_\x17l\xd3z|\xb7\x06*\xd8n\x82\xado\\\x81\n\xb6\xd3\x13\x15\xa3Noq\x92\ +\xd13r\x05\xee\x13lGp\xb74\xce\xf3\x123Owq\x9a\xaa}\xb4K\xcc&\xed\xc5I\xf4\ +\xa1\xac]\x81\n\xb6\x861,\xb2\x86\x0b+\x8a\x06\xa3\xe1\xf3\xd6\x15M\x851\xa3\ +\xc3\xa8\x18\xda\x8a<\xa9\xd8.\xd8z\x06\xa7\xdc\x1a\x1c\xfab\xb0\xbd\xa4\xbf\ +J\xac\xef\xc0\xe8\xd0d\xbc\x98\xa8\x18\x1d\xba\x8c\xb7\x18\xc9\xbc*3\xbc\x04\ +B\xda\x8c\xc7C\xdd\xce\xab`\xdbd0\x8a\xcb\x06q<\xa4\xd1\xd8\x9a\xd4\x05\x05\ +\x9d\xc6\xf2DE\xd4\xa0\xd5x\xc0\x10\x99\xb9\x02\x15l\x87\x19\xcf\xca*\xaci\ +\xe4\xc1\xb6A\xff\x93\x16}\x8d\x15E\xb7\xf1|\xa2b\xd4i7\xae\xb3\x85\xbe\xcaj\ +\xb0\xd1o\xbc\xf1u\xad+\xc38\xd0p\xdc\x95\x9c\xb7\xa2d]:\x8eC\x8c%\xbd+P\xc9\ +\xc68\xd9\xd9\x18\x83\x99\xa7\xe7\xa8\xd1BS\xb8\x02\x15l\xe7\xe9nF6\xc6`\x1c\ +\xe8:\xe6\xe9\xb8rW\xa0\x82\xed\xa5\xf2\xf9Z\xc5\xc8E\xdf\xf1\x86\x9e+\xb2\ +\x8b\x8f=\x03\x9ba\xe4J\xdbQ\x8b9\x86\xf3\xf8\xf3(\xeb\x16m\xd26\x7f\xba\x94\ +f\x04\x95\x11f\xe4\nT\xb0\xbdc\x94\xab\xad\x97C\xcfh>\nF\xfb\xb2i\xe0\xf0B\ +\xba\x8f\x87\x8c0\xb1+P\xc1\xb6 |\x1f2F9\xfa\x8f\xab\xcc\x12s\xeb\xbe@A\x03\ +\xf2\xc1\xf8T/\xee@A\x07r\x9c\xb1\xa4q\x05*\xd8F\xc6\xdf\xadd\x94\xa3\x07\ +\xb9\xca\xa70u\x05\x99\x19\xe6\xed\xe2\x90\x9a\xd9\xf4\x15*\xd8>1\x1aY\xdb\ +\x0fK\x1a\xd2\x86\xe4>\x07\xb5\xd1\x04\xa3N\x1fr}\xd2\x02\xeeF#\xd2L\xea2\ +\x0f\xe4\x9adL\xad\x0bz\xab\x90V\xe4$\xee\x96\xc4Y\x05[\x1b\xd2\x8b\xdc\xa1\ +\x9aeC]\xb05C\xda\xd7%X;t#\xb7\x18\xa3\x9a|T"\xfe\xd2\x8e\\b\x84I\\\x81\n\ +\xb6\xc5\xc1n\xdb\xe7\x1a*\xd8\x9e\x9aq\xbbT\xc1vgR\x17\x14\xb4$+r\xacb\xcc\ +\xe8I\xae\x0cu\x93\x04\xe3@S\xb2\xc2\xc8U\xd8X\xc0v\xc1v\x99j\x97\xf7\xf0\ +\x83!m\xc9\xcb!\x8bI\x90?\x86\xf4%\xc7\x87v\xf34F\x9e\x0c6\xc1(\x97\x14\t\ +\xec[D_\xf2E\x8d[@RL_\xf2i\xd2\x02\xb2b\xfa\x92\x0e\xa3Se\xae@\xe5\xf3\x065\ +\xe9\xf3\xb6b\x0b`\xbb\xc7\xa7;\xb2q\x87u\xc1v\x89q\xb2)\xe9\xd7"\xfa\x92U\ +\xfa\xbd\xdc\xda0$\xd1\xf4%\x1b\x03[\x95a\x7fe\xc4\xe7\x8d\x11&\xb5\xb1 \xfe\ +\xd3\xa5\xfb`[\xa0g+\xbdg\x8b\xe8K6\xa4W\x13X\xdb\x88\xbe\xe4\x1ec\x1f\x96\ +\x14T\xb0\xbd\x98\xdc-\x87\n\xb65\xc6\x9d\xc4\xfa3\xf4\x8c\xbed\x8b\tPoSOP\ +\xd0\x97\xdc\x19\xe68\xcf\xa8\x82m\xd90E\xb7\x0f\x0bF\x87\xbedy|7\xec\tE\xde\ +\x97\x18\x9f~\xe6\r\xfa@_\x92\xa2ne\xc3F\x83}\x07\xfa\x92\xcfr\xdc\x02\xeb\ +\x82maHK#\xa4\xa5\x11}\xc9\x9c_\xd5u\x8a\x88\x18\xd1\x97<\xa6#\xb53\xe1U\xb0\ +\x05tm\xb1+P\xb9\x0f%5\xa2/y\ +\xa0\xc6}`\x0b`[\x9d\xb4\x80Q\xa7/9\xac\xc7u\xd9\x02\xd8V\xb9\x19X{\xa7\x1b\ +\xd1\x97\xb4C*\x9e\xc1AG\xf4%_|f\xe9\nT\xb0-L\xeab$\xe9K>1\x9e%\xa5\x1f\x1d\ +\xfa\x92e\xed\xc7\xb7\xf7*\xd8^C\xb5OE\x03\xf7\x1a\xd1\x97\x08\xde\r[\x14P\ +\xc1\xd63\xcae\xde\xbdF\xf4%+T\xad{\xf0*\xb7\xb1\x06\xe2\x9e\x11\x9c\xbe\xe4\ +\xd5\x90\xf9D\r\xeb\x82\xad\xf0\xdbh.\xaaB\x05\xdbs\xe9\xdb\x8d\xa9\xd2\x97\ +\xacOZ@\xcf\xe8K\x1eMT\x8c\x03}\xc91\x8c\x83\x1d\x85Q\xc3\x8df\xb0]`\xe4\x8a\ +]\x81\xca\xfc\x8d\x14}Y\xc3mG\xf4%\xb7\xa5\'.\xe0\xb6#\xfa\x92\xd7t\xdb\xf8\ +\x81\xca\xfd\x9f\xa1\x0f)v\x1a"\xfa\x92\xab|\x93\xd9 \xd5`\x8e\xe9KF\xc1\xb8\ +.6\x8c\xe9KZ\xfa\xf5\xdc\xbaZ\xecl\xd3\x97\xdc\xe7AE\xda\xb2\xdd\x98\xbed$\ +\xfcNC\xd6\xe6P\xc1v\x88\x14Hg\xa0\x82\xed\x0e\xfbP\xd87\x0e\xef\x06\xb6\x9b\ +\xcag\xf9\t\xde"1}\x89\xe6\xdd:W\xa0\x82-\x18\xfa[t\xec\x03\xf7\x14&*6\xc8\ +\xb9_r\x8d\xa72\x89+\xd8\xb4\xe7\xc6\xb7\xf0\xb9\x7f\x8ew@L_rJs.\xda\x94\xed\ +\xd2\x97\x9c\xe0\x0c\xf5m\xe3\xeb\x82\xed4\xdbm]\x81\n\xb6\xcf\xc3\xa8\xd7\ +\xd8X\x8d\xe9K\xdep\xbb5\xf1.>\xa6/95\xec`\xd4\xd8\x7f\x88\xfd\xa9\x0bO\x8cz\ +\x1b\x13AL_\xa2\xb4\xdf\'\x18\xf9\xba`[\xd1>\x1b\xaf\xf0f\x88\xe9K\xd6\xe8\ +\xdaj\xeb(\xa92\xc71~G\xa0\xc0\x06iL_"\x19\xd7\x13\xef\xd7c\xfa\x92\xd9!\xcb\ +o\x91\xe5\xc7\xf4%\x92o\x86\xca6\x81\x9e\xd1\x97\x9ceL\xc5\x06\x04T\x1e\xbf\ +\xd0\x157n[\x10*\xd8J\xe5sS:\xdd\x98\xbe\xe4>\xd5\xda\xe6\xb78\xed\xa0/Y\r|\ +\xe6\x1e#\x96\xc4\xf4%\xcfy\x0c\xd1X\x13N\x15l\xcf\x86\\\xbaA\x8c\x8a\xe9K\ +\x8eqM\xc6\xae@\xe5\xce$\xa3Q\xe6|*T\xb0\x1d\xa1{m\x9c\xc7\x83\xca\xb3\xb2!?\ +\x1e!\xef\x8e\xe9Kf\xe8=\xa3\xaa\xa8\xd9\x07\xee)p\xad\x17\xd6\xcd\x81\x98\ +\xbe\xa4b<\x1b\xf9\\:\xa6/Y`$(\xaa\x16>5\xa6/\xf9\xe0wQ\xac\xefC\x1f\xe8K\ +\x16\xd9n\xe2\nTze\xe5s\xd3\x1cn0\xe6~\xc9q\xaa\xbd\xcdX\xd9\x02\xd8\xce\x1a\ +\x9f\xddf|\x86\xe8Kf\x99\xd5\x8d:\x9eJ\xc4\xf4%\x8f\xf8\x14v-w\xf6b\xfa\x92\ +\x80ylh\xbb\xcb\xbb\xf1(\x90\xb94Rw\xa8\xcc\xdf\xf8d\x95\xae\xe0@\x0bl\xd9p\ +\x14\xe9\xd7:}\xc9\':\x90\xc8\x15\xa8`\x8b\x87\xbc\xb0\x8c\xb1\xa2\xe8K^\x07\ +\xfe,t\x84\xfd\xb3\x98\xbe\xe4\x90\x1c\xd7\xe5\xdd\xc0\xb6Io\x84\x1f\xa8`;2i\ +\x17\xf3F_\xf2\xc4\xf8>\xa4\xc8\x84c\xfa\x92\xd2\xf8\x0c;\xeb\xd9\x02\xd8\ +\xae\x0cwkb\x8c$}\xc9+>-\xb5\xf7\\1}Ij\xfc\xe9i\xe5Uz\xae`\\\xb7\x81\n\xb6\r\ +1\xaeK\x95\xfb\x93C\xd6\xdc\x14T\xf9\x0e\x18(\xfa\x84g\x83`\xeb&*V\t}\xc9\ +\xad\x89\x8a\xf5K_rs\xc8!\xad\x93\x84\xca=\xbc\xc0\xe7\x85\x192\xec\x98\xbed\ +-\x18\xd7\x05\x05}\xc9y\xba\xb6\xd4>\x9dh\x97\xbe\xa4d$\xa8\\\x81\n\xb6Gr\ +\xdc\x07\xb6\x00\xb6\xcbC\x1f\xd2\x04#I_ri\xa2">\xd0\x97\x9c\xe5\xdd\xbabT\ +\xb2\x05\xb0}P\xfe06\xe4a,}\xc9\xcc\x90\xfb\xf7)\xd6\x19}\xc9\x95!\x97\x8exF\ +K_r\x83-\xe4E\xc6CZ\xfa\x92s\xc3\x81l\x91\x82\x8d\xbe\xe4\x0e\xb3\x99\xd8\ +\x15\xa8\xccM\xe9\x11m\xec\xac\xd8.\xd8\x9e\x8e\xc7\xd7\xb7\x006\x15\xf0\x04\ +\xb4\xa8\xe1\x95c\xfa\x92\x13\xf4}\x8d+P\xc1\xf6\x99N\xac,S\xaf\xf2\xfd&\x13.q\xe6\x93\ +\xd0\x97\x04\xdc\xdb\x0e\xeb\xb4e\xcf\xc0V\x0f\xab\xa4\xc39CB_r$\x18\xab\xb8\ +\x1b}\xc9\x19\xe5\xb3\xf1\xae\xe51=\xbd2\xe3zb_\xd38>\xa7/y\xa2|v\x1b#\xefN\ +\xe8K$\x9dc\xef\nT\xb0\xa5C\xce\x10"\x1bO\xe8K\x92\x89\x8a\xa3~\xfa\x929\xe3\ +s\xff\xa6e\x0b\xccq&u\xd93\xb0\x95\xc1XE\xcf"\xee\xbdj?\xbee\x17\xfd\xe9T\ +\xb0\xdd\x9d\x8c\x03\xeb2\xc71\xfep\xbe\x83\x13K\xe8KN\xd3\x99\xe3\x90\x18*\ +\xd8\xd6\x85?\x8d\xaeq\xc2\x9d\xd0\x97<\xe0; t\x05*\xd86\x8d\xcf\xb0y\x8e\ +\x93\xd0\x97l\xfa\x03\xe9\xb4\xf7u\xc1\xf6J\xf9\xbc;\x86\xbbJ\xe8K\x8e\r\x99\ +D\x8eh\x94\xd0\x97d\xf4FQ\xc6S\x98\x84\xbed&\xf0\x196=WB_\x12O\xeaR\x05\x9b\ +\xe4;\xa0\xf5\x9e+\xa1/y1\xdc\x8d\x8e)\xa1/\xd9\x9c\xd4\xa5\n6\xc9u\x16\xbb\ +\x02\x95~\xd2\xf8l<\xc1\xd9LB_2\xcbho\x038\xf62\x13\xfa\x92\x87t \x8d+\xf8>\ +\x07\xdf\x01C\xce[\xc3\xe1%\xf4%\x87\x86\x0c\x9b\xd1(\xa1/\xd9\x9e\xd4\xc58\ +\xd0\x97\xcc1\xf6\xd9\xa8\x89s\x9c\x84\xbe\xe4\xc6\xa4\x05P\xd0\x97dC\x0b]\ +\xc9v\xc1\xf6\xd9\xf8s\xef\x02YsB_\x92N\xea\xb2]\xb0\x1dgLM]\x81\n6\xc5h\xdf\ +\x17-U\xfa\x92p\xc8\x8fCD\xf0\x84\xbe\xe4\xecD\xc5H\xd2\x97<\xa5Z\xe6i\xc5/\ +\xb60\x96\x0c9o\xc2o\xcb\xd0\x97\x9c\x9f\xa8\x183\xfa\x12\xa3\x99}U<\tJ\xe8K\ +f\x87<\x80\xf9fB_R\r\xd9x\xee\xeb\xd2O\x0e\xed\xe6\x15\xeb\x82mM\x8fU\x8c\ +\x19}\xc9\xe6\xb0v\xe82\x13\xfa\x92z\xc8\xc6[\xc4\xdf\x84\xbe\xe4\xc6\xa4]\ +\xd6\x05\xdb\x1b\x9e\x80\xe4\xae@\x05\xdbG\xb6P\r_\xf0\xa1/\xb9:d>#\xe4\xd2\ +\t}I\x14\xf0{\x15\xd6\xe9b\x8e\xe9KV\x87\xbaqC\x15l\x8f\xf9%\x1f\xdbj\xc3v\ +\xc1\xf6\xd1\x9f\xfe\xba\x82/\t\x81M2\x82\xdbP\x8b\x0c;\xa1/\x99\xe2\xfa\x8d\ +m\x1eJ\x15l\x87\xfd\xaa\xb6\x99,\xeeF_\xf2Y\xf8\x13\xe8\x08\xd9mB_2\xcf\x08\ +\xde\xba\xb3 \xa8`\xbb\xee\xbd\xbd+P\xc1\xf6q8\xa5\xcd\x18\x11\xe9K\xce\xf0-\ +\x82/\t@\xe5;`\xc8\x8fs\xaf\x82\xad\x11>/Lpj\x94\xd0\x97T\x8c}\x85u\xe6\x18\ +\x07\xfa\x92/t\xdb\x95+P\xc1\xf6\x90\xce\xbcs_\xe5\x81\n\xb6\x94\xdf\x1bD\ +\xda\x0c\x15lK\xc6\x9fl79\xfaK_\xf2\x8eq2v\x05*\xcf\xf2\x87\\\xba\xc1\tSB_\ +\xd2\x0eYs\xd7\xb3\xbf`\xbb&|f\x991N\xd2\x97\x9cP>\x0b\x8d\n~e\x0blW\xd8\x87\ +\xce\xed\xabA\xe5w0\xd4X\xc5:\xa3/y\xc7\x9dS\x1c#B\x05\xdb\xf6\xd0\xb3\xbe\ +\xa7\n6!\xc6*\xd8\xe8K\xd6y\x96T\xe5\xa3\x82*\xbf\x83\xc1\x88X\xbag\x0b*\xd8\ +\x16\x95?U\xa6?K\xe8K\xde\xd1]\xd9\xde\xf39\xa6/Y\x1b\xf2\xcd\n\xcf|J_\xf2tP\ +[\xe4\xa6)}\xc9\x13>C#W\xa0\x82muR\x17\xdf3\xa3/Q\xfe\xc4\xb1f\xb6\x98\xd2\ +\x97\xec\x0cYh\x88\xe7-\xa5/9\xc3\'+\xad\xaa\x9a-0\xc7\x91\xfe\x844\xc2\x0eQ\ +J_\x923\x0b-m\x1e\x8b\xef\xaa\xd1\x97\xf4|\xde\x92\xbahH\x01\xb6\xb3|\xc7&UD\ +\x95\xbe\xe40\x9f7;dx\nS\xfa\x92\x94w\xab]\x81\xca\xbd >\x01I\xcbo\xbe\xa4\ +\xf4%\xdb\xcc\x0e\xea\xba\xe6\xd7\xed\xc2a\xde\xfe\x13? J\xffsD\xd9\xff\'")\ +\xf4\xdf\'\xca\x7f\x8e\xc8\x08%\x02qNL\x89\xc3\xe2\x88\x98\x16\'\xc4\xec?@tR\ +\x9c\xf9\xfbD\xc5AD\xa7\xc5\x9c\x98\x11gE("\x11\x8bD\xa4"\x13\xb9(D)Fb\xf37\ +\x13\xbd\xfb\x1dD\xe5ADO\xc4k\xf1f\x1f\xa2\x1d\xb1-\x9e\x8b\x8d\xdf\xc0\xb1,\ +\xb6~#\x11\xf7e\xbf_\xe7\xb1X\x15O\xc53\xf1B\xbc\xdc\x87hM|\xf8\xad3\xf3[\ +\x88\xc2\x1f\x13\xbd\xb7D+\xf8\xd7\xdb}\x89\x1e\xfd\xc4}\xd6\xc5\xab\xaf\xfe\ +\xba\xfa\x17\x88\xae\x89zO\x0c\xb9%\x1a\xfb\xdf}\x88\xdc\xbb\xeb\xcf\xef\xf7\ +\xe6\xae%\xaa\xc4\x82hE\xbf/\xd1\xf9\x1f\xb2\\\x10\x97\xc4eqE\\\x17\x17\xc5M\ +(\x97\xc5\x9d\xf1\xa7W\xac\xea(\x16m\x99\x17\x9d\'\xba-n\x88C\xe2\x8bx\xe0k\ +\xd5\xf6\xefyq\xca\x96c^9.\x1e\x8a%q\xd4^\xf5E\xdc\xff\xe6~\x7f:\xa2\xf8\xc7\ +s\xe4\x88\xbe\xff\x1c\xfd\x98\xe8\x9e\xbd\xe7G\x90|\x16\x9f\x04\x07t\xf1+")\ +\xb5\xdc=G\x8b\xc2H%k\xa1\xe5\xa2\x08\xec\xa7\xe7\xe4\x94<,\xaf\xda\x8b\x8f\ +\xc8iy\xc2*\xb3r^\x9c\x946\x9f\x17g\xe4)qZ\xee\x99\xa3\xe4\x9f#\x9a\xb3\xbd\ +\x1a~f\xe4\x92\xed\xdd\xc1D\x97\xc7\xebl^\x9c\xb5\x9fv\xf6\x8a\xd0\xf7:\x92\ +\xd7E,\x13\xdbj\xea\x95\x87\xf6\xd3X\xee":\xc03d2\xff\xa6\x14\xf2\xaf\x11\ +\x95\xf6\xdf\xa3\x9f \x9a\x96\xab\xf2\xa9|&_\xc8\x97r\xcd\x96\x0f{\x88\xde\xcb\x15\xf9V>\x92\xeb\xf2\ +\x95\xbc*\xbfG\xb4lY.\x88_!2\xd2\x11]\x93f\xdcfm\xdb\xbbu0\xd1\x1e\xcf\xd0\ +\xc8\xbb\xb2\x92\x0b\xb2\x95\xbd\xb4\x91m\xce*?"r\xd1;\xde\xe5\x19\x02\xfdsD\xe74\x89\xa6\ +\xf4a\xfd5\xd1\x11=\xad\xbf&:)\xa6\xe4\x15\xbb\xd6N\xe8k\xd0f\xe5\x8cU\xaf\ +\x88Y\xbde\xdf0\'QwI\x9e\xd1\xa7\xf5\x85}\x89,\xbb\xad;\xa7g\xf4!\xbb^\x9dp\ +\xd0\x1c\xc5\xbb<\xc3\xd9_$\nu\xf4\rQ\xac?\xcaoW\xddM\xfb\x16\xfc\xf6\x8d\ +\x9f\xe8Y7o\xb6\xa7O\xc6u\x8f[U\xd8H\xbc\xfe\x95\xd3H\xf5\xe0\x0ff\xe5g\xc4~\ +D_m\xdfVz\xf0\x1f\xf58\x12\x8e\x89\xa2o\x89\xf2_"*t\xa9G\xbb\x886\xf5~\xcf\ +\xd1>\xef\x05\xbdh\xa3\xd7\xef\xcf\xf8\xe2]\x9e\xe1\xdd\xbeDO\xf4k\xfdF\xef\ +\xe8m[\x9e\xeb\r[\x96\xf5\x96~\xacW\xf5S\xfdl\x17\xd1\x8b\x9f$r+\xa6\xf9\x07\ +r\xd8\xf8\x1b\xcf\xb0)^Z\xa25\xfd5\xd1\x07\xfd^\xaf\xe8\xb7\xfa\x91-\xeb(\ +\xaf\xf4U[\xae\xe9Z\xdf\xd2\xcd\x1e\xa2\xbb\x07\x12\xad\xdb7\xd3I\xfb\x14\ +\xa5\xbfy\x86<\xd1.\xcfP\xed"Z\xd0\xad\xee\xf5y}A_\xd2\x97\xf5\x15}]_\xd47\ +\xf5\x1d\xbd\xa8\xe7u\xa7o\xefCtcL\x14\xcaw\xfb\xde\xf7\x90\x96\xfa\x8b\xae\ +\xff\xa1}\x06\x9c_|\x15\xbd\x1f\xec":\xa5\x8f\xe9\xe3\xfa\xe1/\x10-i\xf1\xaf\ +\xfd\xcc\x8a\xa3z\xb7\xf7\x8ewy\x86\xfb\xfa\x9e\x9e\x10}\xd4\x9f\xf5\xa7_$\ +\x12\xe6_\xdci1\xda\xec\x99\xa3]\x9e\xc1\x98\x81H\x99^\x06\xe6\x95>g~\x85h\ +\xea_\xe4\x11\xe2\xb09\xb2\x97h\xd7>\xc3\xac\x986\x13\xa2\x13f\xd6\xfc\x1a\ +\xd1\xc9\x7f\x95\xe8\x8c9\xbd\x87\x08\xe7u\xdf\xe4\xb0s\x7f\x83h\xc6L\xefz\ +\x8an\x8a\xb3&4\xc3NXdb\x93\x98\x14\xbd\xc8Ln\xa8\x15\xf8]\x9a\x11~o\x9a\xa3\ +\xfa\xdd\xb8\x9fO\xcck\xf3\x06\x7f\xed\xd8k\xb7\xc7\xfas\xb3a\xffZ6[f\xf7s\ +\x94\xec\xd9g\xd8\x14\x8f\xcd\xaa\xf9+DO\xcd\xb7Q!3\xcf\xcc\x0b\xf3\xd2\xac\ +\xd9\xdf\xee\xcd\xfe\xc1\xbc7+Vyk\x1e\xd9~\xac\x9b3\xe8\xcd+\xab\xe1\xfdo\ +\xae\xd9\xdf\xb5\xb9e\x1as\xd7T\xc6\xad\x97\x05\\+\xed\xbf[\xab\xf5\xf6\xaf\ +\xf3\xa8{\xc1\xfe\xeb\x92\xb9l\xae\x98\xeb{\xe7h\xdf}\x86\x8b\xe6\xa6\xb9c\ +\xcb\xe2\x1e\xa2y\xd3\x99\xdb(7l9d\xcb\x17[\xae\xe9/\xe6\x819\xb5k\xc5\x1d3\ +\xc7\xa1<4K\xc6\xfd\xcf\x89\xf7\xcd=\xfc\xfd\xd1|\xb6\xbf?\xb9MM;\xf2Rie\xec\ +\xbf\x94\n\xd495\xa5\xdc\x0c\x1eVG\xac2\xadN\xa8Y\xe5\xf7&\xd5k\xab\x9fQ\xa7\ +\x95\x9b\xd5)5\x07}F\x9dU{\xe6(\xfe\xf1\xce\xc9n\xa2PE*V\x89JU\xa6"\x9d\xabB\ +}\xff\xda\x05S\xfaOGjF\x95fS\xbd\xc3\xdfO\xd4k\xf5\xce2\xbeQ;fGm\xab\xe7jC\ +\xcd\x8ae\xfb\xd9\x96Z\xb7+\xe9\xb1ZUO\xed_\xcf\xd4]?F\xe7\xd4\x92\xd9R\x8f\ +\xd5\x96za\x89_Zn\xba\xb95\xf5a/Q\xf2kD\xbbW\xdd\xfb\x1f\x10\xad\xa8\xcf\xbe\ +G\xaf\xcc[\xf5H\xad\xabW\xa8]\x98uuUIqM\x9d7\xb5:\xaao\xa9F\xddU\x95r\xb3\ +\xb8e\x16\x94+n\x0eZ%}\xeb\xbd\x9d\xad\x05_v\xcc\xb6:\xef\xf5\x0bJ\xec%:`\ +\x9f\xe1{D\x97\xd4euE\xfd\x98\xe8\xbaz\xeb?\xbdk\x16\xec\x93tQ\xddT|b\xee\ +\xe0wo\x16\x95\x8b\xbew\xd5\x1b\xcb3\xaf\xdcJ\x1c}\xd5\xdeU\xf3\xdc\xff5mG\ +\xa3\x1b\x7f2\xa7\xd6\xfcH\xddV7\xd4\x9e\xe7(\xfb\xf1\x1c\x1dR\xfb\x11}QnG\ +\xe1\x81%:\xf5\x03\xa2c\xea\xb8\xd9\xb1\xf7>n\xfb\xf3\xd0\xd6[RG\xf1\x14\xdc\ +W5ztO}T\x9f\x95\x8b\x00\x9f\x94\x08"\xe3\xd6\xe3G\xf5D1\x96\xb9\xf7\xa7\x0c\ +\xfc\xb8\xaakjE\xcdz\xbd4:0\x81\xcb2V\xed\xc3\xb7g\x8e\x0e8\x9b\x08\x82\xfd\ +\x88\xce\x05S\xb6\xa5\xc3\xc1m}$\xf8\xfe\xb5\xd3\xc1\x89`68\x19\xe8\xe0\x0cj\ +\x9d\x0eV\xcc\\ \x03\x15\xec\x80h&8\xa1\xce\xe2\x93Z\x85\xbe\x9d(\x88\x83-K\ +\xe2b\xc8a\x1b\xf7\xc6N\xdd$\xf6\xca\x93\xc1\\\xe0Vn\x1ad\xb6\x95#f:\xc8\xf7\ +\xc6\xba\x03\xcf&\xf2`\xbfUW\x04e\xf0V\xbe\x95\xa3\x1f\x10m\x06\xef\x027\xaa\ +O\xbe\xaa\xf3:\xf8\xfa\xaf\xd4|\xfb\xdb\xf7>\xd8\xd9\xb7Uc\xa3\xcb\xe4=\xb7m\ +\xf6w\xaa\xc9\x81g\x13\xdb\xc1\xf3`#\xd8/2,\x07[\xc1\x8f\xae|\x1c\xac\x06\ +\xff\xfe\x19_:\xfa\x99\x13\xb1\xab\xf2i\xf0,x\x11\xbc\x0c\xae\xeb\xb5\xe0C\ +\xf0>X\t\xca\x03=\xf6\xaaz\xfb\xbf \n\x7f\xe5\xd4rZ?\n\xae\xfet\x9e\xb6a\x0e\ +\x9b\xff\x01Q\xf4_;YN\xe3\xff\x1c\x91\xf5\x0c\xf2\xff\x00\x16I\xb2\xa7' )) def getPythonPoweredBitmap(): return wxBitmapFromXPMData(getPythonPoweredData()) From waterbug at step.nasa.gov Sat Feb 3 12:37:52 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Sat Feb 3 12:37:53 2007 Subject: [pangalactic-commits] ... and actually add the image file. :P Message-ID: <200702031737.l13Hbqwu025857@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/node/images/python-powered-w-100x40.png None 1.1 Log message: .. and actually add the image file. :P From waterbug at step.nasa.gov Mon Feb 5 16:04:34 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Mon Feb 5 16:04:36 2007 Subject: [pangalactic-commits] Mods to add uri's and url's. Message-ID: <200702052104.l15L4YFI023564@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/meta/metaobjects/classes.py 1.6 1.7 PanGalactic/pangalactic/meta/metaobjects/properties.py 1.7 1.8 PanGalactic/pangalactic/node/defaults.py 1.2 1.3 PanGalactic/src/owl/pgef.owl 1.3 1.4 Log message: Mods to add uri's and url's. Index: PanGalactic/pangalactic/meta/metaobjects/classes.py diff -u PanGalactic/pangalactic/meta/metaobjects/classes.py:1.6 PanGalactic/pangalactic/meta/metaobjects/classes.py:1.7 --- PanGalactic/pangalactic/meta/metaobjects/classes.py:1.6 Sat Jan 6 23:39:14 2007 +++ PanGalactic/pangalactic/meta/metaobjects/classes.py Mon Feb 5 16:04:30 2007 @@ -58,9 +58,19 @@ 'id_ns': 'pgef', 'name': 'Versionable'} +NetLocatable = {'_schema_name': 'PmofClass', + 'abbreviation': '', + 'bases': ['PanGalacticFu'], + 'comment': '', + 'definition': '', + 'description': 'Able to be found on a network.\n', + 'id': 'NetLocatable', + 'id_ns': 'pgef', + 'name': 'NetLocatable'} + PanGalacticObject = {'_schema_name': 'PmofClass', 'abbreviation': '', - 'bases': ['Identifiable', 'Manageable', 'Securable'], + 'bases': ['Identifiable', 'Manageable', 'NetLocatable', 'Securable'], 'comment': '', 'definition': '', 'description': 'PanGalacticObject is the base class of the Pan Galactic Engineering Framework ontology. PanGalacticObjects have some administrative Properties that allow them to be identified, persisted, and managed in a PanGalactic environment.', @@ -81,6 +91,7 @@ PmofMetaObject = {'_schema_name': 'PmofClass', 'abbreviation': '', 'bases': ['Identifiable', + 'NetLocatable', 'Manageable', 'Securable', 'Representable', Index: PanGalactic/pangalactic/meta/metaobjects/properties.py diff -u PanGalactic/pangalactic/meta/metaobjects/properties.py:1.7 PanGalactic/pangalactic/meta/metaobjects/properties.py:1.8 --- PanGalactic/pangalactic/meta/metaobjects/properties.py:1.7 Sat Jan 6 23:39:15 2007 +++ PanGalactic/pangalactic/meta/metaobjects/properties.py Mon Feb 5 16:04:30 2007 @@ -1,3 +1,17 @@ +url = {'_schema_name': 'PmofProperty', + 'base_id': 'url', + 'description': "The Universal Resource Locator for an object.", + 'domain': 'NetLocatable', + 'functional': 'True', + 'id': 'url v. 0', + 'id_ns': 'pgef', + 'inverse_functional': 'True', + 'iteration': '0', + 'name': 'URL', + 'property_type': 'datatype', + 'range': 'str', + 'version': '0'} + user_file_name = {'_schema_name': 'PmofProperty', 'base_id': 'user_file_name', 'description': "The user's local name for the file.", @@ -1652,8 +1666,8 @@ uri = {'_schema_name': 'PmofProperty', 'base_id': 'uri', - 'description': 'Unique name of the object. This may be a real URI or it may be a faux URI (such as those permitted in RDF/OWL), but it must at least have the scheme://authority/path structure specified in IETF RFC 2396.', - 'domain': 'PmofMetaObject', + 'description': 'A unique name of an object. It may or may not be resolvable to a network address, but it must have at least the scheme://authority/path structure specified in IETF RFC 2396.', + 'domain': 'Identifiable', 'functional': 'True', 'id': 'uri v. 0', 'id_ns': 'pgef', Index: PanGalactic/src/owl/pgef.owl diff -u PanGalactic/src/owl/pgef.owl:1.3 PanGalactic/src/owl/pgef.owl:1.4 --- PanGalactic/src/owl/pgef.owl:1.3 Mon Nov 20 16:28:00 2006 +++ PanGalactic/src/owl/pgef.owl Mon Feb 5 16:04:32 2007 @@ -1,7 +1,6 @@ - PanGalacticObject is the base class of the Pan Galactic Engineering Framework ontology. PanGalacticObjects have some administrative Properties that allow them to be identified, persisted, and managed in a PanGalactic environment. - - + + + + - + + + PanGalacticObject is the base class of the Pan Galactic Engineering Framework ontology. PanGalacticObjects have some administrative Properties that allow them to be identified, persisted, and managed in a PanGalactic environment. - A documented collection of parts and related information. Parts Lists occur in various contexts in the product life cycle, e.g.: to document component technology research, to document candidate parts for assemblies, to document Parts used in Model development, to track Parts procurement information, to document Part stocks and inventory, etc. + A documented collection of parts and related information. Parts Lists occur in various contexts in the product life cycle, e.g.: to document component technology research, to document candidate parts for assemblies, to document Parts used in Model development, to track Parts procurement information, to document Part stocks and inventory, etc. - Multi-purpose Internet Mail Extension (MIME) types. + - A piece of work with an input, an output, resources, and controls, that forms one logical unit. An activity's definition may or may not be configuration managed. If its definition is under configuration management, its definition is contained in a Process (which see). An activity may be a manual activity, which does not involve computer automation, or a workflow (automated) activity. A workflow activity requires human and/or machine resources(s) to support process execution; where human resource is required an activity is allocated to a workflow participant. [Based on WfMC definition] Synonyms: step, node, task, work element, process element, operation, instruction. + + A well-defined and identifiable connection between PanGalacticObjects. - @@ -52,23 +54,23 @@ >A model of a structured Activity. A ProcessDefinition may itself be composed of one or more ProcessDefinitions. [Based on the WfMC definition of "Business Process"] Synonyms: Business Process. - A well-defined, persistent, and identifiable collection of Person instances. - - - - + - + - + - + + + + + A well-defined, persistent, and identifiable collection of Person instances. @@ -76,19 +78,26 @@ >A file-like object (FileLink) or a set of file-like objects that are used in publishing, displaying, importing, exporting, or exchanging a PanGalacticObject. The concept is general and can apply to serialization, presentation, or data exchange use-cases, among others. A Representation can be thought of as a reified relationship between a PanGalacticObject (which has the Representation as one of the items in its representations property) and one or more FileLink instances (its 'files' property). As defined in the PGEF ontology, a Representation represents a single domain object (such as a Document or Model). In serialization and data exchange use-cases it is common for a file or a collection of files to represent many objects -- in PGEF, the latter is defined to be a DataSet or DataPackage. + Quantified Assembly Component Usage represents some number of instances or some measured quantity of a PanGalacticObject used in the assembly of another PanGalacticObject. - Quantified Assembly Component Usage represents some number of instances or some measured quantity of a PanGalacticObject used in the assembly of another PanGalacticObject. - + Able to be found on a network. + + + Having a name or identifier (a.k.a., ID, OID, etc.). + + + + The common ancestor of all Versionable objects. - + - + - The common ancestor of all Versionable objects. - + The class of file-like PanGalacticObjects. - + + - - + - The class of file-like PanGalacticObjects. + - Able to be encoded in some digital form. - + Able to be encoded in some digital form. + @@ -146,12 +155,12 @@ >A Document whose function is to serve as a wrapper for a serialized population of objects in a file-like object, governed by a single schema (a.k.a. an "ontology"). The file can be a STEP (ISO 10303) file (in a number of possible encoding options), a CAD file, or in general any data exchange or serialization file. - Evolvable in a set of discrete, identifiable incarnations. - + Evolvable in a set of discrete, identifiable incarnations. + @@ -161,9 +170,9 @@ >A PartsListItem is a Document that is a component of a PartsList, and represents a single line or item on its parent PartsList. The PartsListItem references an Acu (a usage of one or more PanGalacticObject instances in the assembly of another PanGalacticObject). + An entity that can take on Roles and create, modify, and own PanGalacticObjects - @@ -178,29 +187,29 @@ - - A constructed realization of the properties and/or behaviors of a concept or a real-world thing. A pgef:Model instance can be used for analysis, simulation, description, specification, or presentation of some aspect(s) of a domain object. pgef:Model generally maps to step:product_definition, but there may be other mappings for particular STEP Application Protocols and other types of models. (Note that the characteristics of any pgef:Model instance can be the subject of a pgef:Model at a higher level of abstraction. The higher-level pgef:Model instance in this context is sometimes referred to as a "meta-model" relative to the pgef:Model instance whose characteristics it models.) + + + The relationship between a Part and a Model that represents it. - + A Relationship that assigns a Role (the "parent") to an Actor (the "child"). - + The output of a process or activity. - @@ -208,40 +217,40 @@ >A Relationship between a PanGalacticObject and a Document. - The relationship between a PanGalacticObject (the component) and an assembled PanGalacticObject (the assembly) of which it is a constituent part. + - A human being. - - - + - + + + A human being. + + A collection of one or more DataSet instances. A DataPackage instance may include one or more file-like objects and may be governed by more than one schema (ontology). The primary purpose of the DataPackage Class is to enable the tracking and management of arbitrary collections of exchanged data. - A collection of one or more DataSet instances. A DataPackage instance may include one or more file-like objects and may be governed by more than one schema (ontology). The primary purpose of the DataPackage Class is to enable the tracking and management of arbitrary collections of exchanged data. - - The name (type) of a Relationship that can be assigned to an Actor within a context. The context will typically be an Organization or a Project. A Role will typically have an associated set of privileges. - - - + + + + The name (type) of a Relationship that can be assigned to an Actor within a context. The context will typically be an Organization or a Project. A Role will typically have an associated set of privileges. + + A concept that has some functionality that can be realized in a product or thing that is physically sensible and measurable (the PhysicalPart). pgef:Part maps to the combination of STEP (ISO 10303) 'product' and 'product_definition_formation'. STEP 'frame_of_reference' (-> product_context.id) is not represented within the PGEF ontology. STEP 'description' maps to description. - + + A readable thing. - - - A Relationship between a Role with an Organization context and a Person. + - An activity that has the purpose of producing and/or maintaining something, and which involves contributions from Persons and Organizations. - - - + + + + - The PartsListItem instances contained by a PartsList. + + The DataSets contained in a DataPackage. - - - Alternate email addresses of the Actor. + + - + The local identifiers assigned to the objects in a DataSet. @@ -318,120 +327,120 @@ >The number of instances or measured quantity of the component object(s) used. - + Other equivalent identifiers for a Part. - Second of a possible 4 Standard Industrial Classification (SIC) codes for an Organization. See: http://www.census.gov/epcd/www/sic.html (From the CAGE data structure.) + - + The CAGE type code. (From the CAGE data structure.) - - + A Person's middle initial or name. - + + - + The Organization from which a PhysicalPart was procured. - + - - - An integer that can be used to specify the ordering of this file within an ordered set of files -- attachments, for example. NOTE: Sequence is intepreted as applying within Sequence Context (which see). + + + - + The Identifiable entity that last modified an object. - + Third of a possible 4 Standard Industrial Classification (SIC) codes for an Organization. See: http://www.census.gov/epcd/www/sic.html (From the CAGE data structure.) - - - The identifier for a screening specification that applies to a Part. + + + A Person's last name (surname). - + + + An integer indicating the sequence of versions (since the version attribute itself may not have a well-defined sort order). - - - The purpose or meaning of this Representation -- e.g. "publication", "presentation", "exchange", etc. The semantics of this Property are heavily context-dependent. - + + The purpose or meaning of this Representation -- e.g. "publication", "presentation", "exchange", etc. The semantics of this Property are heavily context-dependent. - The Identifiable entity that created an object. - + + - + The Acu instance referenced by a PartsListItem. - + The size of a file in bytes. - + - Fourth of a possible 4 Standard Industrial Classification (SIC) codes for an Organization. See: http://www.census.gov/epcd/www/sic.html (From the CAGE data structure.) + - - + + The system from which the data in a DataSet originated. @@ -439,102 +448,102 @@ The MIME Media Type per <http://www.iana.org/assignments/media-types/> (or a custom type). - + - - Location == URL to get the file (from the repository if it is a 'secured' file; from elsewhere if not). + Location == URL to get the file (from the repository if it is a 'secured' file; from elsewhere if not). + An Organization's zip code (if in the U.S.) or postal zone. (From the CAGE data structure.) - - + + - - The name of the schema that governs the DataSet. + + - + The namespace within which an id is unique. - + - - An Actor's primary phone number. + + The identifier for a Part's 'Model', a somewhat arbitrary identifier usually specified by the manufacturer. - + - + The Part of which a PhysicalPart is a realization. - + - - The MIME type/subtype of a file's content. + + - - An identifier for incremental snapshots of working copies of a specific version of a Versionable. Iterations are a zero-based sequence of integers in which the unmodified version is itself the 0th iteration. Working copies of iterations can be used as parallel evolution threads toward the next version. Iterations are analogous to experimental branches in CVS: they are used to identify and manage experimental configurations of the Versionable that may never become a version but which need to be documented as part of the design and analysis process. Since Versionables cannot be changed once checked in, their iteration also cannot be changed once checked in to the repository, and must be regarded as "frozen." The policy for saving iterations in the repository can be set by the project or user: all iterations, all iterations since the last version, etc. In early prototyping exercises, iterations may be used exclusively for CM (on, say, the 0th version of everything). + + A Person's first name (given name). + - + The MIME type of the value of the 'content' attribute. (This does not imply that a Document has an intrinsic MIME type. In general, each representation of the Document will have a MIME type, and they may all be different.) - + - The Identifiable entity that first added an object's record to the repository. - + + The first of a possible 5 segments of an Organization's name. (From the CAGE data structure.) - @@ -544,39 +553,39 @@ >A flag, for which a True value indicates that a Representation is able to be used (e.g., by an editor or a parser/importer) to (re)create or edit itself and/or some other Representation. - + Date-time of last modification of an object's record in the repository. - - + An integer code: 1=U.S., 2=Foreign, 3=Canada (From the CAGE data structure.) + - The identifier of the military specification that applies to a Part. + + + The id for a Versionable object will often be derived by combining its base_id and version. Since this is not always the case, the specifics of the relationship between an object's id, base_id, version, and iteration are left to the internal rules of an application. Versionable objects cannot be changed once they are checked in to the repository, so applications should treat versions that have been (or are about to be) checked in as "frozen." - - - The Federal Supply Classification code for a Part (this is also the first four digits of the NSN). + @@ -588,181 +597,188 @@ - - A symbolic name that serves as an identifier for a component usage within the context of an assembly. + + + The Identifiable entity that has primary responsibility for configuration management of the object. Often, this will be a Project, but it sometimes may be an Organization, a Person, or some other entity. - - + - An Actor's primary Organizational affiliation. - + + - The National Stock Number for a Part. - + + - - The second of a possible 2 segments of an Organization's Street Address. (From the CAGE data structure.) + + + + + + The Universal Resource Locator for an object. + + + The Identifiable entity that owns an object. - - - + The Organization that was primarily responsible for producing a PhysicalPart. + + + + The purpose of a Document in the context of an Object. - - - + + The context within which a Role is defined. - - - - The status of an Organization's record (active or inactive). (From the CAGE data structure.) + + + + + The user's local name for the file. - - - - - An alphanumeric string used by a manufacturer to identify the collection (lot) of PhysicalParts of which a specific PhysicalPart was a member. + An alphanumeric string used by a manufacturer to identify the collection (lot) of PhysicalParts of which a specific PhysicalPart was a member. + - - + + The Identifiable entity that last modified an object's record in the repository. + + Indicates whether this Representation is the original source from which its parent Object was instantiated in the repository (PGER) or in the current application context. - - - - + An abbreviation for an Organization's name. Maps to a Part's Manufacturer Name Code. Corresponds to the parent Organization identifier (Association CAGE) but is a "mnemonic" string. Therefore, it is not unique among known Organizations, since several locations of the same Organization will have the same Organization Name Code. - + + + + The state of a PartsList relative to some possibly extensible set of standard states, e.g. 'in-process', 'reviewed', etc. The set of standard states should be agreed upon by the Project(s) or Organization(s) using the PartsList. - - + A capsule summary of the Document's content. - + + The content of the Document in a text-based format (usually text/plain, but may be any format with a MIME type of "text", such as text/html, text/xml, or text/tab-separated-values). - - - + An identifier for a PartsListItem within the context of its PartsList. + - The context within which a Model is defined. From the STEP PDM Schema Usage Guide: "[Definition context] distinguishes the type of the associated product_definition ...". Examples given in the STEP PDM Schema Usage Guide all use name == "part definition" ... a set of values meaningful within the context of a Project or Organization should be defined for this attribute to be useful. Maps to STEP "product_definition_context.name". + - - - - A user-modifiable alphanumeric string used to identify a baseline, release, or version. Similar to a CVS release tag. + + + Date-time of addition of an object's record to the repository. - + + The primary email address of the Actor. - The second of a possible 5 segments of an Organization's name. (From the CAGE data structure.) - + - - - A flag indicating whether a Versionable object is the most recent version. + + + @@ -772,53 +788,53 @@ - - + + The date and time of an object's creation. + + The third of a possible 5 segments of an Organization's name. (From the CAGE data structure.) - - - - The fourth of a possible 5 segments of an Organization's name. (From the CAGE data structure.) + + - An identifier that is unique within a specified namespace. - + + An identifier that is unique within a specified namespace. + + A boolean indicating whether an Actor has the capability to assign any Role to itself in a PanGalactic application. - - - An indicator of whether the document is intended to be (1) stand-alone, (2) the parent in an assembly of documents, or (3) a component in another document. + - The CAGE code that a CAGE code replaces. (From the CAGE data structure.) + - + The CAGE code that a CAGE code replaces. (From the CAGE data structure.) @@ -829,36 +845,36 @@ - The date and time of last modification of an object. + - - + + Information about an object that may be incidental, temporal, or contextual. The meaning is determined by the application context. - - + + An Actor's access permissions to an Object will be determined by testing whether the security_mask of the Object contains the Actor's oid or the oids of any Role assignments the Actor has. - - A narrative about the characteristics and identifying features of an object. + A narrative about the characteristics and identifying features of an object. + - + The generic identifier for a Part, which in some cases is specified by a standard (e.g., JEDEC for electronic parts). @@ -870,23 +886,23 @@ - - + The identifier of the specification document that applies to a Part. - + + The identifier for a Part given by its specification. - + + An identifier assigned by a manufacturer to a specific PhysicalPart. - @@ -900,177 +916,177 @@ - An activity or context within which a Model is intended to be used. pgef:frame_of_reference maps directly to STEP "product_definition.frame_of_reference.application". In STEP, f_o_r points to an application_context, which refers to the general application domain that defined the data ... the values recommended in the STEP PDM Schema Usage Guide are: "digital mock up" "assembly study" "process planning" "electrical design" "mechanical design", but a set of values meaningful within the context of a specific Project or Organization should be defined for this attribute to be useful. + + + The purpose of a Model of a Part. - - - The name of the attribute within the context of which the Sequence attribute is meaningful. If the value of the Sequence Context attribute is 'role', and the value of Role is 'attachment', then Sequence is the position of this file within the set of files that have a Role of 'attachment'. + - A flag which, if True, indicates that a Representation that can be generated -- e.g., from a Model. + + The type of a PartsList, selected from a set of standard parts list types, such as 'as-designed' (ADPL), 'as-built' (ABPL), 'preliminary' (PRPL), etc., which should be agreed upon by the Project(s) or Organization(s) using the PartsList. - - + A flag assigned to a FileLink object which, if True, indicates that the file is stored in the repository's file vault; if False, the file is not stored in the repository but is referenced elsewhere. + - - + A Person's email address at an Organization. - + + + A Person's telephone number at an Organization. - - + An Organization's state (if in the U.S.) or country. (From the CAGE data structure.) - An Organization's state (if in the U.S.) or country. (From the CAGE data structure.) - - - A human-readable identifier for an object -- usually the one by which the object is known to the end-user, but it may be used for any type of identification, including aliases and local nomenclatures. Its meaning is dependent on the application context. This concept is analogous to a person's given name. + + + + The version of the software application that was used to produce a DataSet. - + + If a Part has a 'drawing' (a type of specification), this is its identifier. - - - + The purpose of a File relative to a Representation to which it is related. Possible values are: "attachment", "content", "stylesheet", "DTD", etc. - The Identifiable entity that owns an object's record in the repository. pgef:record_owner and pgef:record_creator may be different. The default is for them to be the same. The pgef:record_owner always has the privilege of modifying the record of the object in the repository (or deleting it, if deletion is allowed for members of the object's Class). - - The MIME Media Subtype per <http://www.iana.org/assignments/media-types/> (or a custom subtype). - - - + >The Identifiable entity that owns an object's record in the repository. pgef:record_owner and pgef:record_creator may be different. The default is for them to be the same. The pgef:record_owner always has the privilege of modifying the record of the object in the repository (or deleting it, if deletion is allowed for members of the object's Class). First of a possible 4 Standard Industrial Classification (SIC) codes for an Organization. See: http://www.census.gov/epcd/www/sic.html (From the CAGE data structure.) + + + + + + The MIME Media Subtype per <http://www.iana.org/assignments/media-types/> (or a custom subtype). - + + The fifth of a possible 5 segments of an Organization's name. (From the CAGE data structure.) - + An Organization's parent Organization. (In the CAGE data structure, this is called the 'association_cage'.) - - - Date (and time, if relevant) a Document was published. + + + The child Object in a Relationship. - - - The file-like Objects (e.g., FileLinks) that constitute a Representation. + + - - A digital representation of an object (e.g., a CAD model, a spreadsheet, an HTML document). Representations include both "presentations", such as PDF or HTML for a document, and more general representations such as exchange data sets (e.g., for an engineering model: STEP, VRML, etc.). + + - + + A globally unique identifier. The canonical form for oids is a URL, but other forms are acceptable. - - - The parent Object in a Relationship. + - + The parent Object in a Relationship. + - + Index: PanGalactic/pangalactic/node/defaults.py diff -u PanGalactic/pangalactic/node/defaults.py:1.2 PanGalactic/pangalactic/node/defaults.py:1.3 --- PanGalactic/pangalactic/node/defaults.py:1.2 Thu Jan 4 05:04:11 2007 +++ PanGalactic/pangalactic/node/defaults.py Mon Feb 5 16:04:31 2007 @@ -1,4 +1,4 @@ -# $Id: defaults.py,v 1.2 2007/01/04 10:04:11 waterbug Exp $ +# $Id: defaults.py,v 1.3 2007/02/05 21:04:31 waterbug Exp $ """ Functions and settings that determine the default display characteristics (display names, sets of displayed Properties, ordering and grouping of @@ -8,7 +8,7 @@ This is automated as much as possible, based on the attributes of the registered C{PgefInterfaces} (i.e., the contents of C{orb.interfaces}). """ -__version__ = "$Revision: 1.2 $"[11:-2] +__version__ = "$Revision: 1.3 $"[11:-2] # special attributes of Versionable, not editable directly VERSION_PROPERTIES = ['base_id', @@ -19,6 +19,8 @@ # default administrative group Properties ADMIN_PROPERTIES = ['oid', + 'uri', + 'url', 'security_mask', 'owner', 'creator', @@ -58,6 +60,8 @@ 'create_datetime': 'Create Date-Time', 'id': 'ID', 'id_ns': 'ID Namespace', + 'uri': 'URI', + 'url': 'URL', 'mod_datetime': 'Last Mod Date-Time', 'oid': 'OID', 'record_create_datetime': 'Record Create Date-Time', @@ -133,6 +137,8 @@ 'id', 'id_ns', 'name', + 'uri', + 'url', 'description', 'comment', 'security_mask', @@ -247,10 +253,9 @@ } -# Everything from here on is legacy, and has been superceded by the new method -# for defining default display maps (see uberorb) WITH THE EXCEPTION OF -# 'columns', which are used in defining the default grid columns to be displayed -# for any objects whose _schema Interface name appears as a key here. +# Everything from here on is legacy, but is currently still used. If a default +# interface map doesn't exist for a given interface, the new method +# for defining default display maps (see uberorb) will be used. DEFAULT_INTERFACE_MAPS = { 'Actor': { @@ -272,6 +277,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -302,6 +309,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -328,6 +337,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -362,6 +373,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -397,6 +410,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -430,6 +445,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -457,6 +474,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -478,6 +497,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -506,6 +527,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -532,6 +555,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -553,6 +578,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -581,6 +608,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'org_name_code', 'name', @@ -628,6 +657,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -663,6 +694,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -690,6 +723,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -721,6 +756,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -747,6 +784,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -774,6 +813,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -793,6 +834,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -815,6 +858,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -839,6 +884,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -861,6 +908,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -874,6 +923,8 @@ 'domain', 'range'], 'groups': {'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -919,6 +970,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -944,6 +997,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -968,6 +1023,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -994,6 +1051,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', @@ -1018,6 +1077,8 @@ 'modifier', 'mod_datetime'], 'main': ['id', + 'uri', + 'url', 'id_ns', 'name', 'description', From waterbug at step.nasa.gov Mon Feb 5 16:33:24 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Mon Feb 5 16:33:26 2007 Subject: [pangalactic-commits] Correct some OWL typo/thinko's. Message-ID: <200702052133.l15LXOLe023916@ned.gsfc.nasa.gov> Modified files: PanGalactic/src/owl/pgef.owl 1.4 1.5 PanGalactic/src/owl/pgef_meta.owl 1.8 1.9 Log message: Correct some OWL typo/thinko's. Index: PanGalactic/src/owl/pgef.owl diff -u PanGalactic/src/owl/pgef.owl:1.4 PanGalactic/src/owl/pgef.owl:1.5 --- PanGalactic/src/owl/pgef.owl:1.4 Mon Feb 5 16:04:32 2007 +++ PanGalactic/src/owl/pgef.owl Mon Feb 5 16:33:22 2007 @@ -815,6 +815,14 @@ An identifier that is unique within a specified namespace. + + + + + + A unique name of an object. It may or may not be resolvable to a network address, but it must have at least the scheme://authority/path structure specified in IETF RFC 2396. + Index: PanGalactic/src/owl/pgef_meta.owl diff -u PanGalactic/src/owl/pgef_meta.owl:1.8 PanGalactic/src/owl/pgef_meta.owl:1.9 --- PanGalactic/src/owl/pgef_meta.owl:1.8 Sat Jan 6 23:39:16 2007 +++ PanGalactic/src/owl/pgef_meta.owl Mon Feb 5 16:33:22 2007 @@ -174,14 +174,6 @@ A shorter version of the name (could be considered a special-purpose alias). - - - Unique name of the object. This may be a real URI or it may be a faux URI (such as those permitted in RDF/OWL), but it must at least have the scheme://authority/path structure specified in IETF RFC 2396. - - - - From waterbug at step.nasa.gov Wed Feb 7 12:26:35 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Wed Feb 7 12:26:37 2007 Subject: [pangalactic-commits] Decided 'uri' property shouldn't be universal. ; ) Message-ID: <200702071726.l17HQZHO021976@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/meta/metaobjects/properties.py 1.8 1.9 PanGalactic/pangalactic/node/defaults.py 1.3 1.4 PanGalactic/src/owl/pgef.owl 1.5 1.6 Log message: Decided 'uri' property shouldn't be universal. ;) Index: PanGalactic/pangalactic/meta/metaobjects/properties.py diff -u PanGalactic/pangalactic/meta/metaobjects/properties.py:1.8 PanGalactic/pangalactic/meta/metaobjects/properties.py:1.9 --- PanGalactic/pangalactic/meta/metaobjects/properties.py:1.8 Mon Feb 5 16:04:30 2007 +++ PanGalactic/pangalactic/meta/metaobjects/properties.py Wed Feb 7 12:26:32 2007 @@ -1664,20 +1664,6 @@ 'range': 'bool', 'version': '0'} -uri = {'_schema_name': 'PmofProperty', - 'base_id': 'uri', - 'description': 'A unique name of an object. It may or may not be resolvable to a network address, but it must have at least the scheme://authority/path structure specified in IETF RFC 2396.', - 'domain': 'Identifiable', - 'functional': 'True', - 'id': 'uri v. 0', - 'id_ns': 'pgef', - 'inverse_functional': 'True', - 'iteration': '0', - 'name': 'uri', - 'property_type': 'datatype', - 'range': 'str', - 'version': '0'} - record_modifier = {'_schema_name': 'PmofProperty', 'base_id': 'record_modifier', 'description': "The Identifiable entity that last modified an object's record in the repository.", Index: PanGalactic/pangalactic/node/defaults.py diff -u PanGalactic/pangalactic/node/defaults.py:1.3 PanGalactic/pangalactic/node/defaults.py:1.4 --- PanGalactic/pangalactic/node/defaults.py:1.3 Mon Feb 5 16:04:31 2007 +++ PanGalactic/pangalactic/node/defaults.py Wed Feb 7 12:26:33 2007 @@ -1,4 +1,4 @@ -# $Id: defaults.py,v 1.3 2007/02/05 21:04:31 waterbug Exp $ +# $Id: defaults.py,v 1.4 2007/02/07 17:26:33 waterbug Exp $ """ Functions and settings that determine the default display characteristics (display names, sets of displayed Properties, ordering and grouping of @@ -8,7 +8,7 @@ This is automated as much as possible, based on the attributes of the registered C{PgefInterfaces} (i.e., the contents of C{orb.interfaces}). """ -__version__ = "$Revision: 1.3 $"[11:-2] +__version__ = "$Revision: 1.4 $"[11:-2] # special attributes of Versionable, not editable directly VERSION_PROPERTIES = ['base_id', @@ -19,7 +19,6 @@ # default administrative group Properties ADMIN_PROPERTIES = ['oid', - 'uri', 'url', 'security_mask', 'owner', @@ -60,7 +59,6 @@ 'create_datetime': 'Create Date-Time', 'id': 'ID', 'id_ns': 'ID Namespace', - 'uri': 'URI', 'url': 'URL', 'mod_datetime': 'Last Mod Date-Time', 'oid': 'OID', @@ -137,7 +135,6 @@ 'id', 'id_ns', 'name', - 'uri', 'url', 'description', 'comment', @@ -277,7 +274,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -309,7 +305,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -337,7 +332,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -373,7 +367,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -410,7 +403,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -445,7 +437,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -474,7 +465,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -497,7 +487,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -527,7 +516,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -555,7 +543,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -578,7 +565,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -608,7 +594,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'org_name_code', @@ -657,7 +642,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -694,7 +678,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -723,7 +706,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -756,7 +738,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -784,7 +765,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -813,7 +793,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -834,7 +813,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -858,7 +836,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -884,7 +861,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -908,7 +884,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -923,7 +898,6 @@ 'domain', 'range'], 'groups': {'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -970,7 +944,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -997,7 +970,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -1023,7 +995,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -1051,7 +1022,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', @@ -1077,7 +1047,6 @@ 'modifier', 'mod_datetime'], 'main': ['id', - 'uri', 'url', 'id_ns', 'name', Index: PanGalactic/src/owl/pgef.owl diff -u PanGalactic/src/owl/pgef.owl:1.5 PanGalactic/src/owl/pgef.owl:1.6 --- PanGalactic/src/owl/pgef.owl:1.5 Mon Feb 5 16:33:22 2007 +++ PanGalactic/src/owl/pgef.owl Wed Feb 7 12:26:33 2007 @@ -815,14 +815,6 @@ An identifier that is unique within a specified namespace. - - - - - - A unique name of an object. It may or may not be resolvable to a network address, but it must have at least the scheme://authority/path structure specified in IETF RFC 2396. - From waterbug at step.nasa.gov Fri Feb 9 17:33:11 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Fri Feb 9 17:33:13 2007 Subject: [pangalactic-commits] Refactoring services; some web2 work ... Message-ID: <200702092233.l19MXBS3022865@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/pger.py 1.140 1.141 PanGalactic/pangalactic/repo/pgercred.py 1.17 1.18 PanGalactic/pangalactic/repo/pgerupload.py 1.5 1.6 PanGalactic/pangalactic/repo/pgerwebupload.py 1.9 1.10 PanGalactic/pangalactic/repo/pgerxmlrpc.py 1.42 1.43 PanGalactic/pangalactic/test/test_pger_addObjectsE.py 1.14 1.15 PanGalactic/pangalactic/test/test_pger_addObjectsO.py 1.14 1.15 PanGalactic/pangalactic/test/test_pger_addVersions.py 1.15 1.16 PanGalactic/pangalactic/test/test_pger_updateObjects.py 1.1 1.2 PanGalactic/pangalactic/test/test_registry.py 1.26 1.27 PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py 1.12 1.13 PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py 1.1 1.2 PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py 1.17 1.18 PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py 1.13 1.14 PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py 1.1 1.2 PanGalactic/pangalactic/vger/vgerd.py 1.7 1.8 Log message: Refactoring services; some web2 work ... * the web2 basic auth stuff isn't working yet * the old basic auth stuff appears to be working * relationship between pger and pgercred was refactored * tests fixed to work with refactored stuff * next - more work on web2 basic auth - make services more configurable, eventually at runtime Index: PanGalactic/pangalactic/vger/vgerd.py diff -u PanGalactic/pangalactic/vger/vgerd.py:1.7 PanGalactic/pangalactic/vger/vgerd.py:1.8 --- PanGalactic/pangalactic/vger/vgerd.py:1.7 Thu Jan 18 16:31:33 2007 +++ PanGalactic/pangalactic/vger/vgerd.py Fri Feb 9 17:33:08 2007 @@ -3,10 +3,10 @@ Galactic Services. The first service is the repository service, PGER (the Pan Galactic Entropy Reverser). -@version: $Revision: 1.7 $ +@version: $Revision: 1.8 $ """ -__version__ = "$Revision: 1.7 $"[11:-2] +__version__ = "$Revision: 1.8 $"[11:-2] # $Source: /repo/step_testbed/PanGalactic/pangalactic/vger/vgerd.py,v $ import os @@ -16,7 +16,9 @@ from twisted.application.service import Application from twisted.cred import portal from twisted.internet import ssl +from twisted.web2.auth import basic, wrapper from twisted.web2.channel import HTTPFactory +from twisted.web2.iweb import IResource from twisted.web2.resource import Resource from twisted.web2.server import Site @@ -25,7 +27,7 @@ # PanGalactic from pangalactic.repo.pger import Pger -from pangalactic.repo import pgercred +from pangalactic.repo import pgercred2 # Uncomment this when there *is* a soap service ... # for now, we don't need any unnecessary dependencies! @@ -51,7 +53,7 @@ # TODO: make this more elegantly configured pgerhub = Pger(home=home) pgerhub.setServiceParent(application) -pgerchkr = pgerhub.credchkr +pgerchkr = pgercred2.UserDbCredChecker(userdb=pgerhub.db) ### PGER Perspective Broker Interface ### # PgerPB is temporarily disabled (until we look at what needs @@ -70,11 +72,16 @@ mux = Resource() ### PGER XML-RPC interface ### -xr = pgercred.XmlrpcRealm('PGER XML-RPC', - engine=pgerhub) +# TODO: make a general VGER xml-rpc service, of which the PGER xml-rpc +# interface is an instance ... +xr = pgercred2.XmlrpcRealm('PGER XML-RPC') xp = portal.Portal(xr) xp.registerChecker(pgerchkr) -mux.putChild('RPC2', pgercred.BasicAuthResource(xp)) +mux.putChild('RPC2', + wrapper.HTTPAuthResource( + pgercred2.XmlrpcAvatar, + (basic.BasicCredentialFactory(xr),), + xp, (IResource,))) ### PGER SOAP interface ### # TODO: not implemented yet (just copied from XML-RPC ;) @@ -82,25 +89,34 @@ ### PGER HTTP file-upload interface ### # non-browser upload interface (for direct http uploads) -ur = pgercred.FileUploadRealm('PGER HTTP File Upload', - engine=pgerhub) +ur = pgercred2.PgerFileUploadRealm('PGER HTTP File Upload') up = portal.Portal(ur) up.registerChecker(pgerchkr) -mux.putChild('upload', pgercred.BasicAuthResource(up)) +mux.putChild('upload', + wrapper.HTTPAuthResource( + pgercred2.PgerFileUploadAvatar, + (basic.BasicCredentialFactory(ur),), + up, (IResource,))) -### PGER HTTP file-upload interface ### +### VGER web browser file-upload interface ### # web browser upload interface -wur = pgercred.WebUploadRealm('PGER HTTP File Upload', - engine=pgerhub) +wur = pgercred2.WebUploadRealm('Web File Upload Service') wup = portal.Portal(wur) wup.registerChecker(pgerchkr) -mux.putChild('webupload', pgercred.BasicAuthResource(wup)) +mux.putChild('webupload', + wrapper.HTTPAuthResource( + pgercred2.WebUploadAvatar, + (basic.BasicCredentialFactory(ur),), + up, (IResource,))) -### PGER Static web server ### -sr = pgercred.StaticHttpRealm('PGER Web', 'web') +### VGER Static web server ### +sr = pgercred2.StaticHttpRealm('PGER Web', 'web') sp = portal.Portal(sr) sp.registerChecker(pgerchkr) -res = pgercred.BasicAuthResource(sp) +res = wrapper.HTTPAuthResource( + pgercred2.StaticResourceAvatar, + (basic.BasicCredentialFactory(sr),), + sp, (IResource,)) mux.putChild('', res) xmlrpc_port = 8888 Index: PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.1 PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.2 --- PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.1 Thu Oct 26 13:49:48 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py Fri Feb 9 17:33:08 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_changePassword.py,v 1.1 2006/10/26 17:49:48 waterbug Exp $ +# $Id: test_xmlrpc_changePassword.py,v 1.2 2007/02/09 22:33:08 waterbug Exp $ """ Functional test for pangalactic.repo.pgerxmlrpc.changePassword @@ -9,7 +9,7 @@ from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService pgr = Pger(home='_trial_temp') -xrs = PgerXmlrpcService(pgr, userid='admin') +xrs = PgerXmlrpcService(userid='admin') def success(res): print res Index: PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.13 PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.14 --- PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.13 Wed Oct 11 07:28:26 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py Fri Feb 9 17:33:08 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_getObjectsByOids.py,v 1.13 2006/10/11 11:28:26 waterbug Exp $ +# $Id: test_xmlrpc_getObjectsByOids.py,v 1.14 2007/02/09 22:33:08 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_getObjects @@ -26,7 +26,7 @@ ORB.initCache(home='_trial_temp') pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(engine=pgr, userid='Fester.Bestertester@earth.milkyway.univ') +xmlsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') oids = ['banzai@banzai.earth', 'bigboote@yoyodyne.planet10', Index: PanGalactic/pangalactic/repo/pgercred.py diff -u PanGalactic/pangalactic/repo/pgercred.py:1.17 PanGalactic/pangalactic/repo/pgercred.py:1.18 --- PanGalactic/pangalactic/repo/pgercred.py:1.17 Sat Jan 27 17:56:44 2007 +++ PanGalactic/pangalactic/repo/pgercred.py Fri Feb 9 17:33:07 2007 @@ -1,9 +1,9 @@ -# $Id: pgercred.py,v 1.17 2007/01/27 22:56:44 waterbug Exp $ +# $Id: pgercred.py,v 1.18 2007/02/09 22:33:07 waterbug Exp $ """ Authentication and credential management for PGER. -@version: $Revision: 1.17 $ +@version: $Revision: 1.18 $ """ -__version__ = "$Revision: 1.17 $"[11:-2] +__version__ = "$Revision: 1.18 $"[11:-2] import sha @@ -20,8 +20,8 @@ from zope.interface import implements from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService -from pangalactic.repo.pgerupload import FileUploadService -from pangalactic.repo.pgerwebupload import WebUploadResource +from pangalactic.repo.pgerupload import PgerFileUploadService +from pangalactic.repo.pgerwebupload import WebUploadService class AvatarResource(resource.Resource): @@ -53,9 +53,8 @@ implements(resource.IResource) - def __init__(self, userid, realm='', engine=None): - PgerXmlrpcService.__init__(self, engine=engine, - userid=userid) + def __init__(self, userid, realm=''): + PgerXmlrpcService.__init__(self, userid=userid) self.userid = userid self.realm = realm @@ -67,25 +66,21 @@ implements(portal.IRealm) - def __init__(self, name='', engine=None): + def __init__(self, name=''): self.name = name - self.engine = engine def requestAvatar(self, avatarId, mind, *interfaces): av = XmlrpcAvatar(userid=avatarId, - realm=self.name, - engine=self.engine) + realm=self.name) return resource.IResource, av, av.logout -class FileUploadAvatar(FileUploadService): +class FileUploadAvatar(PgerFileUploadService): implements(resource.IResource) - def __init__(self, userid, realm='HTTP File Upload', engine=None): - FileUploadService.__init__(self, - engine=engine, - userid=userid) + def __init__(self, userid, realm='HTTP File Upload'): + PgerFileUploadService.__init__(self, userid=userid) self.userid = userid self.realm = realm @@ -97,25 +92,21 @@ implements(portal.IRealm) - def __init__(self, name='HTTP File Upload', engine=None): + def __init__(self, name='HTTP File Upload'): self.name = name - self.engine = engine def requestAvatar(self, avatarId, mind, *interfaces): av = FileUploadAvatar(userid=avatarId, - realm=self.name, - engine=self.engine) + realm=self.name) return resource.IResource, av, av.logout -class WebUploadAvatar(WebUploadResource): +class WebUploadAvatar(WebUploadService): implements(resource.IResource) - def __init__(self, userid, realm='Web File Upload', engine=None): - WebUploadResource.__init__(self, - engine=engine, - userid=userid) + def __init__(self, userid, realm='Web File Upload'): + WebUploadService.__init__(self, userid=userid) self.userid = userid self.realm = realm @@ -127,14 +118,12 @@ implements(portal.IRealm) - def __init__(self, name='Web File Upload', engine=None): + def __init__(self, name='Web File Upload'): self.name = name - self.engine = engine def requestAvatar(self, avatarId, mind, *interfaces): av = WebUploadAvatar(userid=avatarId, - realm=self.name, - engine=self.engine) + realm=self.name) return resource.IResource, av, av.logout Index: PanGalactic/pangalactic/test/test_registry.py diff -u PanGalactic/pangalactic/test/test_registry.py:1.26 PanGalactic/pangalactic/test/test_registry.py:1.27 --- PanGalactic/pangalactic/test/test_registry.py:1.26 Tue Jan 9 02:53:18 2007 +++ PanGalactic/pangalactic/test/test_registry.py Fri Feb 9 17:33:08 2007 @@ -70,7 +70,6 @@ property_type='datatype', range='str', security_mask=0, - uri='http://pangalactic.us/pgef/version', version='0') klas_extract = {'_schema_name': 'PmofClass', 'abbreviation': '', @@ -100,10 +99,9 @@ iteration=0, name='PmofMetaObject', security_mask=0, - uri='http://pangalactic.us/pgef/PmofMetaObject', version='0') - value = [pv._schema, pv.abbreviation, pv.base_id, pv.description, pv.domain, pv.functional, pv.id, pv.id_ns, pv.inverse_functional, pv.iteration, pv.name, pv.property_type, pv.range, pv.security_mask, pv.uri, pv.version, kv._schema, kv.abbreviation, kv.base_id, kv.bases, kv.description, kv.id, kv.id_ns, kv.iteration, kv.name, kv.security_mask, kv.uri, kv.version] - expected = [pe._schema, pe.abbreviation, pe.base_id, pe.description, pe.domain, pe.functional, pe.id, pe.id_ns, pe.inverse_functional, pe.iteration, pe.name, pe.property_type, pe.range, pe.security_mask, pe.uri, pe.version, ke._schema, ke.abbreviation, ke.base_id, ke.bases, ke.description, ke.id, ke.id_ns, ke.iteration, ke.name, ke.security_mask, ke.uri, ke.version] + value = [pv._schema, pv.abbreviation, pv.base_id, pv.description, pv.domain, pv.functional, pv.id, pv.id_ns, pv.inverse_functional, pv.iteration, pv.name, pv.property_type, pv.range, pv.security_mask, pv.version, kv._schema, kv.abbreviation, kv.base_id, kv.bases, kv.description, kv.id, kv.id_ns, kv.iteration, kv.name, kv.security_mask, kv.version] + expected = [pe._schema, pe.abbreviation, pe.base_id, pe.description, pe.domain, pe.functional, pe.id, pe.id_ns, pe.inverse_functional, pe.iteration, pe.name, pe.property_type, pe.range, pe.security_mask, pe.version, ke._schema, ke.abbreviation, ke.base_id, ke.bases, ke.description, ke.id, ke.id_ns, ke.iteration, ke.name, ke.security_mask, ke.version] self.assertEquals(expected, value) # def test_02_createPmofObjectFromExtract(self): Index: PanGalactic/pangalactic/test/test_pger_addVersions.py diff -u PanGalactic/pangalactic/test/test_pger_addVersions.py:1.15 PanGalactic/pangalactic/test/test_pger_addVersions.py:1.16 --- PanGalactic/pangalactic/test/test_pger_addVersions.py:1.15 Tue Jan 9 11:39:40 2007 +++ PanGalactic/pangalactic/test/test_pger_addVersions.py Fri Feb 9 17:33:08 2007 @@ -18,7 +18,7 @@ PGER = Pger(home='_trial_temp') -test_objects = genLinkedTestObjects('TPaV', PGER.infum.registry, addable=True, +test_objects = genLinkedTestObjects('TPaV', PGER.db.registry, addable=True, versionable=True) extracts = [o.extract() for o in test_objects] print '------------------------------------------------------' Index: PanGalactic/pangalactic/repo/pgerxmlrpc.py diff -u PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.42 PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.43 --- PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.42 Fri Jan 19 17:39:21 2007 +++ PanGalactic/pangalactic/repo/pgerxmlrpc.py Fri Feb 9 17:33:07 2007 @@ -1,14 +1,15 @@ """ PGER XML-RPC Interfaces module -@version: $Revision: 1.42 $ +@version: $Revision: 1.43 $ """ -__version__ = "$Revision: 1.42 $"[11:-2] -# $Id: pgerxmlrpc.py,v 1.42 2007/01/19 22:39:21 waterbug Exp $ +__version__ = "$Revision: 1.43 $"[11:-2] +# $Id: pgerxmlrpc.py,v 1.43 2007/02/09 22:33:07 waterbug Exp $ -from twisted.python import log -from twisted.web.xmlrpc import XMLRPC -from twisted.web import resource +from twisted.python import log +from twisted.web.xmlrpc import XMLRPC +from twisted.web import resource +from pangalactic.repo.pger import Pger class PgerXmlrpcService(XMLRPC): @@ -20,10 +21,10 @@ __implements__ = resource.IResource - def __init__(self, engine=None, userid=None): + def __init__(self, userid=None): XMLRPC.__init__(self) - self.engine = engine self.userid = userid + self.engine = Pger() def _getFunction(self, functionPath): """ Index: PanGalactic/pangalactic/repo/pgerwebupload.py diff -u PanGalactic/pangalactic/repo/pgerwebupload.py:1.9 PanGalactic/pangalactic/repo/pgerwebupload.py:1.10 --- PanGalactic/pangalactic/repo/pgerwebupload.py:1.9 Sat Dec 2 15:45:09 2006 +++ PanGalactic/pangalactic/repo/pgerwebupload.py Fri Feb 9 17:33:07 2007 @@ -1,33 +1,37 @@ -# $Id: pgerwebupload.py,v 1.9 2006/12/02 20:45:09 waterbug Exp $ +# $Id: pgerwebupload.py,v 1.10 2007/02/09 22:33:07 waterbug Exp $ """ -PGER Web File Upload Resource +A simple browser-based file upload service -@version: $Revision: 1.9 $ +@version: $Revision: 1.10 $ """ -__version__ = "$Revision: 1.9 $"[11:-2] +__version__ = "$Revision: 1.10 $"[11:-2] from pprint import pprint from twisted.python import log from twisted.web import server -from pangalactic.repo.pgerupload import FileUploadService +from pangalactic.repo.pger import Pger +from pangalactic.repo.pgerupload import PgerFileUploadService -class WebUploadResource(FileUploadService): +class WebUploadService(PgerFileUploadService): + """ + A simple browser-based file upload service. - def __init__(self, engine, userid): - """ - Initialize a FileUploadService resource + @type engine: L{pangalactic.repo.pger.Pger} + @ivar engine: back-end processor; PGER in this case + """ - @type engine: L{pangalactic.repo.pger.Pger} - @param engine: back-end processor; PGER in this case + def __init__(self, userid): + """ + Initialize a WebUploadService instance. - @type userid: string - @param userid: userid of the requestor + @type userid: string + @param userid: userid of the requestor """ - FileUploadService.__init__(self, engine, userid) - self.engine = engine + FileUploadService.__init__(self, userid) + self.engine = Pger() self.userid = userid def getChild(self, name, request): Index: PanGalactic/pangalactic/repo/pgerupload.py diff -u PanGalactic/pangalactic/repo/pgerupload.py:1.5 PanGalactic/pangalactic/repo/pgerupload.py:1.6 --- PanGalactic/pangalactic/repo/pgerupload.py:1.5 Sat Dec 2 15:45:09 2006 +++ PanGalactic/pangalactic/repo/pgerupload.py Fri Feb 9 17:33:07 2007 @@ -1,30 +1,30 @@ -# $Id: pgerupload.py,v 1.5 2006/12/02 20:45:09 waterbug Exp $ +# $Id: pgerupload.py,v 1.6 2007/02/09 22:33:07 waterbug Exp $ """ PGER HTTP File Upload Service -@version: $Revision: 1.5 $ +@version: $Revision: 1.6 $ """ -__version__ = "$Revision: 1.5 $"[11:-2] +__version__ = "$Revision: 1.6 $"[11:-2] -from twisted.python import log -from twisted.web import resource -from twisted.web import server +from twisted.python import log +from twisted.web import resource +from twisted.web import server -class FileUploadService(resource.Resource): +from pangalactic.repo.pger import Pger - def __init__(self, engine, userid): + +class PgerFileUploadService(resource.Resource): + + def __init__(self, userid): """ Initialize a FileUploadService resource - @type engine: L{pangalactic.repo.pger.Pger} - @param engine: back-end processor; PGER in this case - @type userid: string @param userid: userid of the requestor """ resource.Resource.__init__(self) - self.engine = engine + self.engine = Pger() self.userid = userid def getChild(self, name, request): Index: PanGalactic/pangalactic/test/test_pger_addObjectsE.py diff -u PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.14 PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.15 --- PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.14 Mon Sep 25 17:22:04 2006 +++ PanGalactic/pangalactic/test/test_pger_addObjectsE.py Fri Feb 9 17:33:07 2007 @@ -16,7 +16,7 @@ # create test objects test_objects = genLinkedTestObjects('TPaOE', addable=True, versionable=False, - registry=PGER.infum.registry) + registry=PGER.db.registry) extracts = [o.extract() for o in test_objects] def success(result): Index: PanGalactic/pangalactic/test/test_pger_updateObjects.py diff -u PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.1 PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.2 --- PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.1 Tue Sep 26 00:45:15 2006 +++ PanGalactic/pangalactic/test/test_pger_updateObjects.py Fri Feb 9 17:33:08 2007 @@ -13,7 +13,7 @@ from pangalactic.test.utils4test import genLinkedTestObjects PGER = Pger(home='_trial_temp') -r = PGER.infum.registry +r = PGER.db.registry # create test objects test_objects = genLinkedTestObjects('TPaOE', r, updateable=True) Index: PanGalactic/pangalactic/test/test_pger_addObjectsO.py diff -u PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.14 PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.15 --- PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.14 Mon Sep 25 17:22:04 2006 +++ PanGalactic/pangalactic/test/test_pger_addObjectsO.py Fri Feb 9 17:33:08 2007 @@ -1,4 +1,4 @@ -# $Id: test_pger_addObjectsO.py,v 1.14 2006/09/25 21:22:04 waterbug Exp $ +# $Id: test_pger_addObjectsO.py,v 1.15 2007/02/09 22:33:08 waterbug Exp $ """ Functional test for pangalactic.repo.Pger.addObjects() @@ -18,7 +18,7 @@ # create test objects test_objects = genLinkedTestObjects('TPaOO', addable=True, versionable=False, - registry=PGER.infum.registry) + registry=PGER.db.registry) def success(results): print "\nAdded %s objects:\n" % len(results) Index: PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.12 PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.13 --- PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.12 Mon Sep 25 19:10:22 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py Fri Feb 9 17:33:08 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_addObjects.py,v 1.12 2006/09/25 23:10:22 waterbug Exp $ +# $Id: test_xmlrpc_addObjects.py,v 1.13 2007/02/09 22:33:08 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_addObjects @@ -16,7 +16,7 @@ PGER = Pger(home='_trial_temp') xmlrpcsrv = PgerXmlrpcService(PGER, userid='Fester.Bestertester@earth.milkyway.univ') -test_objects = genLinkedTestObjects('TXaO', PGER.infum.registry, addable=True) +test_objects = genLinkedTestObjects('TXaO', PGER.db.registry, addable=True) extracts = [o.extract() for o in test_objects] def success(res): Index: PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.1 PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.2 --- PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.1 Tue Sep 26 00:45:15 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py Fri Feb 9 17:33:08 2007 @@ -15,7 +15,7 @@ PGER = Pger(home='_trial_temp') xmlrpcsrv = PgerXmlrpcService(PGER, userid='Fester.Bestertester@earth.milkyway.univ') -r = PGER.infum.registry +r = PGER.db.registry # create test objects test_objects = genLinkedTestObjects('TPaOE', r, updateable=True) Index: PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.17 PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.18 --- PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.17 Tue Oct 10 07:04:11 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py Fri Feb 9 17:33:08 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_getObjects.py,v 1.17 2006/10/10 11:04:11 waterbug Exp $ +# $Id: test_xmlrpc_getObjects.py,v 1.18 2007/02/09 22:33:08 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_getObjects @@ -24,7 +24,7 @@ os.mkdir('_trial_temp') pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(engine=pgr, userid='Fester.Bestertester@earth.milkyway.univ') +xmlsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') U.initCache() Index: PanGalactic/pangalactic/repo/pger.py diff -u PanGalactic/pangalactic/repo/pger.py:1.140 PanGalactic/pangalactic/repo/pger.py:1.141 --- PanGalactic/pangalactic/repo/pger.py:1.140 Tue Jan 9 11:39:39 2007 +++ PanGalactic/pangalactic/repo/pger.py Fri Feb 9 17:33:07 2007 @@ -1,10 +1,10 @@ -# $Id: pger.py,v 1.140 2007/01/09 16:39:39 waterbug Exp $ +# $Id: pger.py,v 1.141 2007/02/09 22:33:07 waterbug Exp $ """ Pan Galactic Entropy Reverser module -@version: $Revision: 1.140 $ +@version: $Revision: 1.141 $ """ -__version__ = "$Revision: 1.140 $"[11:-2] +__version__ = "$Revision: 1.141 $"[11:-2] import base64 import sys @@ -20,7 +20,6 @@ # PanGalactic imports ... from pangalactic.repo.chronosynclastic import Infundibulum -from pangalactic.repo.pgercred import UserDbCredChecker from pangalactic.utils import pgefexceptions from pangalactic.utils.datetimes import dt2str, dtstamp from pangalactic.utils.identity import generateOid @@ -52,8 +51,7 @@ MultiService.__init__(self) self.setName('PGER') self.vault = os.path.join(home, 'vault') - self.infum = Infundibulum(home=home) - self.credchkr = UserDbCredChecker(self.infum) + self.db = Infundibulum(home=home) log.msg('PGER started.', system='PGER') def changePassword(self, requestor, userid, password): @@ -79,7 +77,7 @@ userid = requestor # TODO: vet new passwords try: - d = self.infum.changePassword( + d = self.db.changePassword( requestor, userid=userid, newpasswd=sha.sha(password).hexdigest()) @@ -157,8 +155,8 @@ """ logmsg = 'getObjects, %s, %s' % (schema_name, str(kw)) log.msg(logmsg, system='%s:PGER' % requestor) - return self.infum.getObjects(requestor, schema_name, refs, subtypes, - **kw) + return self.db.getObjects(requestor, schema_name, refs, subtypes, + **kw) def getObjectsByOids(self, requestor, oids, ret='extracts'): """ @@ -184,7 +182,7 @@ """ logmsg = 'getObjectsByOids' log.msg(logmsg, system='%s:PGER' % requestor) - return self.infum.getObjectsByOids(requestor, oids) + return self.db.getObjectsByOids(requestor, oids) def search(self, requestor, schema_name, refs=True, subtypes=False, args=None, spec=None, distinct=False, count=False): @@ -261,14 +259,14 @@ logmsg = 'search, %s, %s' % (schema_name, str(args[0])) log.msg(logmsg, system='%s:PGER' % requestor) if args: - return self.infum.search(requestor=requestor, - schema_name=schema_name, - refs=refs, - subtypes=subtypes, - args=args, - spec=spec, - distinct=distinct, - count=count) + return self.db.search(requestor=requestor, + schema_name=schema_name, + refs=refs, + subtypes=subtypes, + args=args, + spec=spec, + distinct=distinct, + count=count) else: raise ValueError('Need some arguments!') @@ -324,12 +322,12 @@ logmsg = 'getCount(), %s, %s' % (schema_name, str(args[0])) log.msg(logmsg, system='%s:PGER' % requestor) if args: - return self.infum.search(requestor=requestor, - schema_name=schema_name, - refs=refs, - subtypes=subtypes, - count=True, - args=args) + return self.db.search(requestor=requestor, + schema_name=schema_name, + refs=refs, + subtypes=subtypes, + count=True, + args=args) else: raise ValueError('Need some arguments!') @@ -388,10 +386,10 @@ # @type extr: C{dict} # """ # if res: # it's in the repo -> update -# return self.infum.updateObjects(requestor, extr['_schema_name'], -# [extr['oid']], extr) +# return self.db.updateObjects(requestor, extr['_schema_name'], +# [extr['oid']], extr) # else: # not here -> add -# return self.infum.addObjects(requestor, [extr]) +# return self.db.addObjects(requestor, [extr]) # # def _addOrUpdateError(self, error): # """ @@ -433,7 +431,7 @@ extracts = [o.extract() for o in objects] else: extracts = objects - return self.infum.addObjects(requestor, extracts) + return self.db.addObjects(requestor, extracts) def updateObjects(self, requestor, objects=None, input='extracts', ret='extracts'): @@ -443,7 +441,7 @@ - usage: updateObjects(list of PGER objects) - procedure: - create a list of extracts of the objects - - call infum.updateObjects + - call db.updateObjects @param requestor: the userid associated with the request @type requestor: C{str} @@ -473,12 +471,11 @@ e['record_modifier'] = requestor updates = dict([(a, e[a]) for a in - self.infum.registry.interfaces[e['_schema_name']]]) - d = self.infum.updateObjects( - requestor, - e['_schema_name'], - [e['oid']], - updates) + self.db.registry.interfaces[e['_schema_name']]]) + d = self.db.updateObjects(requestor, + e['_schema_name'], + [e['oid']], + updates) dlist.append(d) dres = defer.gatherResults(dlist) dres.addCallback(lambda x: [rsl[0] for rsl in x]) @@ -550,9 +547,9 @@ # too much information! logmsg = '_addVersionExtract for a %s' % schema_name log.msg(logmsg, system='%s:PGER' % requestor) - res = self.infum.getObjects(requestor, schema_name, - base_id=extr['base_id'], - is_head=True) + res = self.db.getObjects(requestor, schema_name, + base_id=extr['base_id'], + is_head=True) res.addCallbacks(lambda x: self._processIterationInfo( requestor, schema_name, x), self._addVersionsError) @@ -603,10 +600,10 @@ @rtype: C{(str, str, str)} """ if oid_tuple[2]: - self.infum.updateObjects(oid_tuple[0], # requestor - oid_tuple[1], # schema_name - [oid_tuple[2]], # oids - {'is_head' : False}) # updates + self.db.updateObjects(oid_tuple[0], # requestor + oid_tuple[1], # schema_name + [oid_tuple[2]], # oids + {'is_head' : False}) # updates return oid_tuple[0], oid_tuple[1], oid_tuple[3] def _actuallyAddVersion(self, requestor, extr, prev_iteration): @@ -635,7 +632,7 @@ extr['version'] = 'v.' + extr['iteration'] extr['id'] = ' '.join([extr['base_id'], extr['version']]) extr['is_head'] = 'True' # don't forget this! - return self.infum.addObjects(requestor, [extr]) + return self.db.addObjects(requestor, [extr]) def _addVersionsError(self, error): """ @@ -713,21 +710,20 @@ # pprint(r) if len(r): # print 'updating row ...' - d = self.infum.updateObjects(requestor, - 'FileLink', - oids=[updates['oid']], - updates=updates) + d = self.db.updateObjects(requestor, + 'FileLink', + oids=[updates['oid']], + updates=updates) else: # print 'adding row ...' updates['_schema_name'] = 'FileLink' # print 'updates:' # pprint(updates) - d = self.infum.addObjects(requestor, - [updates]) + d = self.db.addObjects(requestor, [updates]) d.addErrback(self._addFileError) return d # deferred chain begins here ... - res = self.infum.getObjects(requestor, 'FileLink', oid=roid) + res = self.db.getObjects(requestor, 'FileLink', oid=roid) res.addCallback(addOrUpdate) logmsg = 'addFile adding file %s%s as %s' % ( updates['user_file_name'], From waterbug at step.nasa.gov Fri Feb 9 17:35:28 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Fri Feb 9 17:35:29 2007 Subject: [pangalactic-commits] New pgercred to go with web2 auth ... Message-ID: <200702092235.l19MZS32023034@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/pgercred2.py None 1.1 Log message: New pgercred to go with web2 auth ... probably will refactor this a bit, too -- needs to be more general than just "pger", so probably will go into utils as "realms" or something. From waterbug at step.nasa.gov Fri Feb 9 20:34:45 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Fri Feb 9 20:34:46 2007 Subject: [pangalactic-commits] Fix the last broken test. Message-ID: <200702100134.l1A1YjvM025993@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py 1.13 1.14 Log message: Fix the last broken test. Index: PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.13 PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.14 --- PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.13 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py Fri Feb 9 20:34:43 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_addObjects.py,v 1.13 2007/02/09 22:33:08 waterbug Exp $ +# $Id: test_xmlrpc_addObjects.py,v 1.14 2007/02/10 01:34:43 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_addObjects @@ -15,7 +15,7 @@ from pangalactic.test.utils4test import genLinkedTestObjects PGER = Pger(home='_trial_temp') -xmlrpcsrv = PgerXmlrpcService(PGER, userid='Fester.Bestertester@earth.milkyway.univ') +xmlrpcsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') test_objects = genLinkedTestObjects('TXaO', PGER.db.registry, addable=True) extracts = [o.extract() for o in test_objects] From waterbug at step.nasa.gov Mon Feb 12 19:02:53 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Mon Feb 12 19:02:54 2007 Subject: [pangalactic-commits] PGER is now a singleton (module-level obj). Message-ID: <200702130002.l1D02rUN030723@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/pger.py 1.141 1.142 PanGalactic/pangalactic/repo/pgerupload.py 1.6 1.7 PanGalactic/pangalactic/repo/pgerwebupload.py 1.10 1.11 PanGalactic/pangalactic/repo/pgerxmlrpc.py 1.43 1.44 PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py 1.16 1.17 PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py 1.16 1.17 PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py 1.1 1.2 PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py 1.18 1.19 PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py 1.3 1.4 PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py 1.4 1.5 PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py 1.8 1.9 PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py 1.5 1.6 PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py 1.13 1.14 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py 1.3 1.4 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py 1.3 1.4 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py 1.5 1.6 PanGalactic/pangalactic/test/test_chronosynclastic_search.py 1.3 1.4 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py 1.3 1.4 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py 1.4 1.5 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py 1.5 1.6 PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py 1.19 1.20 PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py 1.11 1.12 PanGalactic/pangalactic/test/test_pger_addFile.py 1.11 1.12 PanGalactic/pangalactic/test/test_pger_addObjectsE.py 1.15 1.16 PanGalactic/pangalactic/test/test_pger_addObjectsO.py 1.15 1.16 PanGalactic/pangalactic/test/test_pger_addVersions.py 1.16 1.17 PanGalactic/pangalactic/test/test_pger_changePassword.py 1.1 1.2 PanGalactic/pangalactic/test/test_pger_getBaseIds.py 1.3 1.4 PanGalactic/pangalactic/test/test_pger_getCount.py 1.3 1.4 PanGalactic/pangalactic/test/test_pger_getNames.py 1.4 1.5 PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py 1.4 1.5 PanGalactic/pangalactic/test/test_pger_getObjectsE.py 1.10 1.11 PanGalactic/pangalactic/test/test_pger_getObjectsO.py 1.13 1.14 PanGalactic/pangalactic/test/test_pger_gettuplers.py 1.14 1.15 PanGalactic/pangalactic/test/test_pger_search.py 1.13 1.14 PanGalactic/pangalactic/test/test_pger_searchWithSpec.py 1.4 1.5 PanGalactic/pangalactic/test/test_pger_updateObjects.py 1.2 1.3 PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py 1.14 1.15 PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py 1.2 1.3 PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py 1.3 1.4 PanGalactic/pangalactic/test/test_xmlrpc_getCount.py 1.4 1.5 PanGalactic/pangalactic/test/test_xmlrpc_getNames.py 1.3 1.4 PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py 1.18 1.19 PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py 1.14 1.15 PanGalactic/pangalactic/test/test_xmlrpc_search.py 1.13 1.14 PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py 1.4 1.5 PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py 1.2 1.3 PanGalactic/pangalactic/vger/vgerd.py 1.8 1.9 Log message: PGER is now a singleton (module-level obj). Index: PanGalactic/pangalactic/test/test_xmlrpc_search.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_search.py:1.13 PanGalactic/pangalactic/test/test_xmlrpc_search.py:1.14 --- PanGalactic/pangalactic/test/test_xmlrpc_search.py:1.13 Sat Sep 23 17:19:04 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_search.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_search.py,v 1.13 2006/09/23 21:19:04 waterbug Exp $ +# $Id: test_xmlrpc_search.py,v 1.14 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.search() @@ -6,7 +6,6 @@ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService schema_name = 'Part' @@ -22,9 +21,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(pgr) - +xmlsrv = PgerXmlrpcService() res = xmlsrv.xmlrpc_search(schema_name, 0, 0, [('owner', 'like', 'lizardo')], None) res.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_pger_getCount.py diff -u PanGalactic/pangalactic/test/test_pger_getCount.py:1.3 PanGalactic/pangalactic/test/test_pger_getCount.py:1.4 --- PanGalactic/pangalactic/test/test_pger_getCount.py:1.3 Mon Sep 25 19:10:22 2006 +++ PanGalactic/pangalactic/test/test_pger_getCount.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,15 @@ -# $Id: test_pger_getCount.py,v 1.3 2006/09/25 23:10:22 waterbug Exp $ +# $Id: test_pger_getCount.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): + - executes PGER interface call(s): - getResultSets() - outputs results of callback(s) """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(result): print @@ -23,11 +22,9 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -out = pgr.getCount('test', 'Model', refs=0, subtypes=0, - args=[('name', 'like', 'twang')] - ) +out = PGER.getCount('test', 'Model', refs=0, subtypes=0, + args=[('name', 'like', 'twang')] + ) out.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_pger_updateObjects.py diff -u PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.2 PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.3 --- PanGalactic/pangalactic/test/test_pger_updateObjects.py:1.2 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_pger_updateObjects.py Mon Feb 12 19:02:47 2007 @@ -1,18 +1,14 @@ # $Source: /repo/step_testbed/PanGalactic/pangalactic/test/test_pger_updateObjects.py,v $ """ -Functional test for pangalactic.repo.Pger.addOrUpdateObjects() - - initializes Pger - - executes Pger interface call: - addOrUpdateObjects() +Functional test for PGER.addOrUpdateObjects() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.test.utils4test import genLinkedTestObjects -PGER = Pger(home='_trial_temp') r = PGER.db.registry # create test objects Index: PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py:1.3 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py:1.4 --- PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py:1.3 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped-sequence.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_runQueryMapped-sequence.py,v 1.3 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_runQueryMapped-sequence.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerDb running a query on a sequence value @@ -25,7 +25,7 @@ print error reactor.stop() -inf = Infundibulum(home='_trial_temp') +inf = Infundibulum() q = sql.buildSelect('_organization', 0, ('_id', 'in', Index: PanGalactic/pangalactic/test/test_chronosynclastic_search.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_search.py:1.3 PanGalactic/pangalactic/test/test_chronosynclastic_search.py:1.4 --- PanGalactic/pangalactic/test/test_chronosynclastic_search.py:1.3 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_search.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_search.py,v 1.3 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_search.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -20,7 +20,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() res = fum.search(requestor='test', schema_name='Actor', Index: PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py:1.16 PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py:1.17 --- PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py:1.16 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_addObjects.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_addObjects.py,v 1.16 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_chronosynclastic_addObjects.py,v 1.17 2007/02/13 00:02:47 waterbug Exp $ """ Test for pangalactic.repo.chronosynclastic addObjects method @@ -12,7 +12,7 @@ from pangalactic.repo.chronosynclastic import Infundibulum from pangalactic.test.utils4test import genLinkedTestObjects -inf = Infundibulum(home='_trial_temp') +inf = Infundibulum() def success(stuff): pprint(stuff) Index: PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py:1.5 PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py:1.6 --- PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py:1.5 Sat Dec 2 15:45:10 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_getResultByRowKey.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_getResultByRowKey.py,v 1.5 2006/12/02 20:45:10 waterbug Exp $ +# $Id: test_chronosynclastic_getResultByRowKey.py,v 1.6 2007/02/13 00:02:47 waterbug Exp $ """ Test for getResultByRowKey @@ -12,7 +12,7 @@ from twisted.internet import defer from pangalactic.repo.chronosynclastic import Infundibulum as I -inf = I(home='_trial_temp') +inf = I() rk1 = ['_project', 'H2G2'] Index: PanGalactic/pangalactic/test/test_pger_getObjectsE.py diff -u PanGalactic/pangalactic/test/test_pger_getObjectsE.py:1.10 PanGalactic/pangalactic/test/test_pger_getObjectsE.py:1.11 --- PanGalactic/pangalactic/test/test_pger_getObjectsE.py:1.10 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_pger_getObjectsE.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_getObjectsE.py,v 1.10 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_pger_getObjectsE.py,v 1.11 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getObjects() - - outputs results of callback(s) +Functional test for PGER.getObjects() with extracts returned """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(objectlist): pprint(objectlist) @@ -21,11 +17,9 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -res = pgr.getObjects(requestor='test', - schema_name='Representation', - id_ns='http://pangalactic.us/test/lib/') +res = PGER.getObjects(requestor='test', + schema_name='Representation', + id_ns='http://pangalactic.us/test/lib/') res.addCallbacks(success, failure) reactor.run() # start the main loop Index: PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py:1.1 PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py:1.2 --- PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py:1.1 Thu Oct 26 13:49:48 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_changePassword.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_changePassword.py,v 1.1 2006/10/26 17:49:48 waterbug Exp $ +# $Id: test_chronosynclastic_changePassword.py,v 1.2 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.pger.changePassword @@ -8,7 +8,7 @@ from twisted.internet import reactor from pangalactic.repo.chronosynclastic import Infundibulum as Fum -fum = Fum(home='_trial_temp') +fum = Fum() def success(res): print res Index: PanGalactic/pangalactic/test/test_pger_getNames.py diff -u PanGalactic/pangalactic/test/test_pger_getNames.py:1.4 PanGalactic/pangalactic/test/test_pger_getNames.py:1.5 --- PanGalactic/pangalactic/test/test_pger_getNames.py:1.4 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_pger_getNames.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_getNames.py,v 1.4 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_pger_getNames.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getResultSets() - - outputs results of callback(s) +Functional test for PGER.getNames() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(resultsets): pprint(resultsets) @@ -23,9 +19,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -out = pgr.getNames('test', 'http://pangalactic.us/test/lib/') +out = PGER.getNames('test', 'http://pangalactic.us/test/lib/') out.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_pger_addFile.py diff -u PanGalactic/pangalactic/test/test_pger_addFile.py:1.11 PanGalactic/pangalactic/test/test_pger_addFile.py:1.12 --- PanGalactic/pangalactic/test/test_pger_addFile.py:1.11 Sat Dec 2 15:45:10 2006 +++ PanGalactic/pangalactic/test/test_pger_addFile.py Mon Feb 12 19:02:47 2007 @@ -1,18 +1,14 @@ -# $Id: test_pger_addFile.py,v 1.11 2006/12/02 20:45:10 waterbug Exp $ +# $Id: test_pger_addFile.py,v 1.12 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger.Pger.addFile() - - executes Pger interface call: - - addFile() +Functional test for PGER.addFile() """ import base64 from pprint import pprint from twisted.internet import reactor from pangalactic.utils.identity import generateOid -from pangalactic.repo.pger import Pger - -PGER = Pger(home='_trial_temp') +from pangalactic.repo.pger import PGER fileoid = generateOid('TEST.TPaF') headers = {} Index: PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py:1.4 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py:1.5 --- PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py:1.4 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_searchWithDistinct.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_searchWithDistinct.py,v 1.4 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_searchWithDistinct.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -22,7 +22,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() res = fum.search(requestor='test', schema_name='VersionableProduct', Index: PanGalactic/pangalactic/test/test_xmlrpc_getNames.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getNames.py:1.3 PanGalactic/pangalactic/test/test_xmlrpc_getNames.py:1.4 --- PanGalactic/pangalactic/test/test_xmlrpc_getNames.py:1.3 Sat Sep 23 17:19:04 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_getNames.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_getNames.py,v 1.3 2006/09/23 21:19:04 waterbug Exp $ +# $Id: test_xmlrpc_getNames.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.getNames() @@ -6,7 +6,6 @@ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService @@ -21,8 +20,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(pgr) +xmlsrv = PgerXmlrpcService() res = xmlsrv.xmlrpc_getNames('http://pangalactic.us/test/lib/') res.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py:1.3 PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py:1.4 --- PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py:1.3 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsByOids.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_getObjectsByOids.py,v 1.3 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_getObjectsByOids.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -22,7 +22,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() oids = ['banzai@banzai.earth', 'bigboote@yoyodyne.planet10', 'smallberries@yoyodyne.planet10', Index: PanGalactic/pangalactic/test/test_pger_addObjectsE.py diff -u PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.15 PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.16 --- PanGalactic/pangalactic/test/test_pger_addObjectsE.py:1.15 Fri Feb 9 17:33:07 2007 +++ PanGalactic/pangalactic/test/test_pger_addObjectsE.py Mon Feb 12 19:02:47 2007 @@ -1,19 +1,14 @@ # $Source: /repo/step_testbed/PanGalactic/pangalactic/test/test_pger_addObjectsE.py,v $ """ -Functional test for pangalactic.repo.Pger.addExtracts() - - initializes Pger - - executes Pger interface call: - - addExtracts() +Functional test for PGER.addExtracts() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.test.utils4test import genLinkedTestObjects -PGER = Pger(home='_trial_temp') - # create test objects test_objects = genLinkedTestObjects('TPaOE', addable=True, versionable=False, registry=PGER.db.registry) Index: PanGalactic/pangalactic/test/test_pger_getObjectsO.py diff -u PanGalactic/pangalactic/test/test_pger_getObjectsO.py:1.13 PanGalactic/pangalactic/test/test_pger_getObjectsO.py:1.14 --- PanGalactic/pangalactic/test/test_pger_getObjectsO.py:1.13 Tue Oct 10 07:04:11 2006 +++ PanGalactic/pangalactic/test/test_pger_getObjectsO.py Mon Feb 12 19:02:47 2007 @@ -1,7 +1,7 @@ -# $Id: test_pger_getObjectsO.py,v 1.13 2006/10/10 11:04:11 waterbug Exp $ +# $Id: test_pger_getObjectsO.py,v 1.14 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module +Functional test for PGER.getObjects() - initializes Pger - executes Pger interface call(s): - getObjects() @@ -11,7 +11,7 @@ import os from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.node.uberorb import UberORB if not os.path.exists('_trial_temp'): @@ -32,13 +32,9 @@ print error reactor.stop() -if not os.path.exists('_trial_pger'): - os.mkdir('_trial_pger') -pgr = Pger(home='_trial_pger') - -out = pgr.getObjects(requestor='test', - schema_name='Part', - id_ns='http://pangalactic.us/test/lib/') +out = PGER.getObjects(requestor='test', + schema_name='Part', + id_ns='http://pangalactic.us/test/lib/') out.addCallbacks(success, failure) reactor.run() Index: PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py:1.5 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py:1.6 --- PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py:1.5 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapped.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_runQueryMapped.py,v 1.5 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_runQueryMapped.py,v 1.6 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.pgerdb module @@ -26,7 +26,7 @@ print error reactor.stop() -inf = Infundibulum(home='_trial_temp') +inf = Infundibulum() q = sql.buildSelect('_representation', 0, ('_id_ns', 'LIKE', 'test')) Index: PanGalactic/pangalactic/test/test_pger_changePassword.py diff -u PanGalactic/pangalactic/test/test_pger_changePassword.py:1.1 PanGalactic/pangalactic/test/test_pger_changePassword.py:1.2 --- PanGalactic/pangalactic/test/test_pger_changePassword.py:1.1 Thu Oct 26 13:49:48 2006 +++ PanGalactic/pangalactic/test/test_pger_changePassword.py Mon Feb 12 19:02:47 2007 @@ -1,14 +1,12 @@ -# $Id: test_pger_changePassword.py,v 1.1 2006/10/26 17:49:48 waterbug Exp $ +# $Id: test_pger_changePassword.py,v 1.2 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger.changePassword +Functional test for PGER.changePassword() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger - -pgr = Pger(home='_trial_temp') +from pangalactic.repo.pger import PGER def success(res): print res @@ -18,7 +16,7 @@ print f reactor.stop() -d = pgr.changePassword('admin', 'zaphod@hog.univ', 'sekret') +d = PGER.changePassword('admin', 'zaphod@hog.univ', 'sekret') d.addCallbacks(success, failure) reactor.run() Index: PanGalactic/pangalactic/test/test_pger_gettuplers.py diff -u PanGalactic/pangalactic/test/test_pger_gettuplers.py:1.14 PanGalactic/pangalactic/test/test_pger_gettuplers.py:1.15 --- PanGalactic/pangalactic/test/test_pger_gettuplers.py:1.14 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_pger_gettuplers.py Mon Feb 12 19:02:47 2007 @@ -1,7 +1,7 @@ -# $Id: test_pger_gettuplers.py,v 1.14 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_pger_gettuplers.py,v 1.15 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test of Pger getting a result set for a list of docs +Functional for PGER getting a result set for a list of docs obtained from a full text search - executes interface call: - [PyLucene].search(string) @@ -11,7 +11,7 @@ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(result): print '\n Expected 4 result sets; got %s:\n' % len(result) @@ -24,9 +24,6 @@ print error reactor.stop() -PGER = Pger(home='_trial_temp') - - # result = [pylucene].search('vacuum') # result.addCallback(lambda x: PGER.search('Alert', # 'test', 0, 0, 0, Index: PanGalactic/pangalactic/repo/pgerupload.py diff -u PanGalactic/pangalactic/repo/pgerupload.py:1.6 PanGalactic/pangalactic/repo/pgerupload.py:1.7 --- PanGalactic/pangalactic/repo/pgerupload.py:1.6 Fri Feb 9 17:33:07 2007 +++ PanGalactic/pangalactic/repo/pgerupload.py Mon Feb 12 19:02:46 2007 @@ -1,17 +1,17 @@ -# $Id: pgerupload.py,v 1.6 2007/02/09 22:33:07 waterbug Exp $ +# $Id: pgerupload.py,v 1.7 2007/02/13 00:02:46 waterbug Exp $ """ PGER HTTP File Upload Service -@version: $Revision: 1.6 $ +@version: $Revision: 1.7 $ """ -__version__ = "$Revision: 1.6 $"[11:-2] +__version__ = "$Revision: 1.7 $"[11:-2] from twisted.python import log from twisted.web import resource from twisted.web import server -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER class PgerFileUploadService(resource.Resource): @@ -24,7 +24,6 @@ @param userid: userid of the requestor """ resource.Resource.__init__(self) - self.engine = Pger() self.userid = userid def getChild(self, name, request): @@ -55,7 +54,7 @@ raise ValueError, 'No file submitted.' else: rheaders = request.getAllHeaders() - self.engine.addFile(self.userid, rheaders, content + PGER.addFile(self.userid, rheaders, content ).addErrback(self._ebRender ).addCallback(self._cbRender, request) return server.NOT_DONE_YET Index: PanGalactic/pangalactic/test/test_pger_search.py diff -u PanGalactic/pangalactic/test/test_pger_search.py:1.13 PanGalactic/pangalactic/test/test_pger_search.py:1.14 --- PanGalactic/pangalactic/test/test_pger_search.py:1.13 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_pger_search.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_search.py,v 1.13 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_pger_search.py,v 1.14 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getResultSets() - - outputs results of callback(s) +Functional test for PGER.search() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(resultsets): pprint(resultsets) @@ -23,11 +19,9 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -out = pgr.search('test', 'Model', refs=0, subtypes=0, - args=[('name', 'like', 'twang')] - ) +out = PGER.search('test', 'Model', refs=0, subtypes=0, + args=[('name', 'like', 'twang')] + ) out.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py:1.3 PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py:1.4 --- PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py:1.3 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_runQueryMapToRowKeys.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_runQueryMapToRowKeys.py,v 1.3 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_runQueryMapToRowKeys.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -21,7 +21,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() sqlargs = sql.buildSelect('_actor', 1, # subtypes! ['_id_ns', '=', 'http://pangalactic.us/test/lib/']) Index: PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.2 PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.3 --- PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py:1.2 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_changePassword.py Mon Feb 12 19:02:47 2007 @@ -1,14 +1,12 @@ -# $Id: test_xmlrpc_changePassword.py,v 1.2 2007/02/09 22:33:08 waterbug Exp $ +# $Id: test_xmlrpc_changePassword.py,v 1.3 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.pgerxmlrpc.changePassword """ from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService -pgr = Pger(home='_trial_temp') xrs = PgerXmlrpcService(userid='admin') def success(res): Index: PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py:1.3 PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py:1.4 --- PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py:1.3 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_getBaseIds.py Mon Feb 12 19:02:47 2007 @@ -1,12 +1,11 @@ -# $Id: test_xmlrpc_getBaseIds.py,v 1.3 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_xmlrpc_getBaseIds.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for PgerXmlrpcService.getNames() +Functional test for PgerXmlrpcService.getBaseIds() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService @@ -21,8 +20,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(pgr) +xmlsrv = PgerXmlrpcService() res = xmlsrv.xmlrpc_getBaseIds('http://pangalactic.us/test/lib/') res.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.14 PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.15 --- PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py:1.14 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_getObjectsByOids.py Mon Feb 12 19:02:47 2007 @@ -1,31 +1,25 @@ -# $Id: test_xmlrpc_getObjectsByOids.py,v 1.14 2007/02/09 22:33:08 waterbug Exp $ +# $Id: test_xmlrpc_getObjectsByOids.py,v 1.15 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_getObjects -"getObjects" API call - - imports the UberORB and inits cache (needed for 'remember' function) - - initializes PgerDb, Pger, and PgerXmlrpcService - - executes PgerXmlrpcService interface call(s): - - xmlrpc_getObjects() - - pretty prints result of callback - - prints result of reconstitute() on extracts """ +import os from pprint import pprint from twisted.internet import reactor -from pangalactic.node import prefs -from pangalactic.repo.pger import Pger +# from pangalactic.node import prefs from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService from pangalactic.node.uberorb import UberORB -prefs['home'] = '_trial_temp' +if not os.path.exists('_trial_temp'): + os.mkdir('_trial_temp') +# prefs['home'] = '_trial_temp' ORB = UberORB() # if trouble with ORB, use: # ORB = UberORB(debug=True) ORB.initCache(home='_trial_temp') -pgr = Pger(home='_trial_temp') xmlsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') oids = ['banzai@banzai.earth', Index: PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py:1.16 PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py:1.17 --- PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py:1.16 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_addRecords.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_addRecords.py,v 1.16 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_chronosynclastic_addRecords.py,v 1.17 2007/02/13 00:02:47 waterbug Exp $ """ Test for inserting a row using pangalactic.repo.pgerdb module @@ -15,7 +15,7 @@ from pangalactic.repo.chronosynclastic import Infundibulum from pangalactic.test.utils4test import initTestObject, genRunId -inf = Infundibulum(home='_trial_temp') +inf = Infundibulum() tmpid = genRunId() Index: PanGalactic/pangalactic/test/test_pger_addVersions.py diff -u PanGalactic/pangalactic/test/test_pger_addVersions.py:1.16 PanGalactic/pangalactic/test/test_pger_addVersions.py:1.17 --- PanGalactic/pangalactic/test/test_pger_addVersions.py:1.16 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_pger_addVersions.py Mon Feb 12 19:02:47 2007 @@ -1,12 +1,12 @@ # $Source: /repo/step_testbed/PanGalactic/pangalactic/test/test_pger_addVersions.py,v $ """ -Functional test for pangalactic.repo.Pger.addVersions() +Functional test for PGER.addVersions() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.test.utils4test import genLinkedTestObjects # Need to add something like this database command at the end of success to @@ -16,8 +16,6 @@ # select _oid, _base_id, _id, _name, _iteration, _version, _is_head from _part # where _name = 'Flux Capacitor'; -PGER = Pger(home='_trial_temp') - test_objects = genLinkedTestObjects('TPaV', PGER.db.registry, addable=True, versionable=True) extracts = [o.extract() for o in test_objects] Index: PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py:1.8 PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py:1.9 --- PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py:1.8 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_getRefdRowKeys.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_getRefdRowKeys.py,v 1.8 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_getRefdRowKeys.py,v 1.9 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -33,7 +33,7 @@ print error reactor.stop() -inf = I(home='_trial_temp') +inf = I() out = inf._selectByObjectSchema(schema_name, 0, ('id_ns', 'like', 'test')) Index: PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py:1.11 PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py:1.12 --- PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py:1.11 Tue Jan 9 11:39:40 2007 +++ PanGalactic/pangalactic/test/test_chronosynclastic_updateObjects.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_updateObjects.py,v 1.11 2007/01/09 16:39:40 waterbug Exp $ +# $Id: test_chronosynclastic_updateObjects.py,v 1.12 2007/02/13 00:02:47 waterbug Exp $ """ Test for inserting a row using pangalactic.repo.pgerdb module @@ -13,7 +13,7 @@ from pangalactic.repo.chronosynclastic import Infundibulum from pangalactic.test.utils4test import genRunId -inf = Infundibulum(home='_trial_temp') +inf = Infundibulum() tmpid = genRunId() Index: PanGalactic/pangalactic/test/test_pger_searchWithSpec.py diff -u PanGalactic/pangalactic/test/test_pger_searchWithSpec.py:1.4 PanGalactic/pangalactic/test/test_pger_searchWithSpec.py:1.5 --- PanGalactic/pangalactic/test/test_pger_searchWithSpec.py:1.4 Wed Oct 25 17:09:52 2006 +++ PanGalactic/pangalactic/test/test_pger_searchWithSpec.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_searchWithSpec.py,v 1.4 2006/10/25 21:09:52 waterbug Exp $ +# $Id: test_pger_searchWithSpec.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getResultSets() - - outputs results of callback(s) +Functional test for PGER.search(..., spec=(...)) """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(resultsets): pprint(resultsets) @@ -23,17 +19,15 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -out = pgr.search('test', 'Model', refs=0, subtypes=0, - args=[('name', 'like', 'twang')], - spec=('id', 'name') - ) - -# out = pgr.search('test', 'PmofNamespace', refs=0, subtypes=0, -# args=[('_schema_name', '=', 'PmofNamespace')], -# spec=('oid', 'id') -# ) +out = PGER.search('test', 'Model', refs=0, subtypes=0, + args=[('name', 'like', 'twang')], + spec=('id', 'name') + ) + +# out = PGER.search('test', 'PmofNamespace', refs=0, subtypes=0, +# args=[('_schema_name', '=', 'PmofNamespace')], +# spec=('oid', 'id') +# ) out.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py:1.19 PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py:1.20 --- PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py:1.19 Sat Dec 2 15:45:10 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_transactionalInsert.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_transactionalInsert.py,v 1.19 2006/12/02 20:45:10 waterbug Exp $ +# $Id: test_chronosynclastic_transactionalInsert.py,v 1.20 2007/02/13 00:02:47 waterbug Exp $ """ Test for inserting rows using transactionalInsert() @@ -16,7 +16,7 @@ from pangalactic.test.utils4test import genLinkedTestObjects from pangalactic.utils import sql -infum = I(home='_trial_temp') +infum = I() objs = genLinkedTestObjects('TCTI', registry=infum.registry, addable=True, versionable=False) Index: PanGalactic/pangalactic/repo/pgerxmlrpc.py diff -u PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.43 PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.44 --- PanGalactic/pangalactic/repo/pgerxmlrpc.py:1.43 Fri Feb 9 17:33:07 2007 +++ PanGalactic/pangalactic/repo/pgerxmlrpc.py Mon Feb 12 19:02:46 2007 @@ -1,15 +1,15 @@ """ PGER XML-RPC Interfaces module -@version: $Revision: 1.43 $ +@version: $Revision: 1.44 $ """ -__version__ = "$Revision: 1.43 $"[11:-2] -# $Id: pgerxmlrpc.py,v 1.43 2007/02/09 22:33:07 waterbug Exp $ +__version__ = "$Revision: 1.44 $"[11:-2] +# $Id: pgerxmlrpc.py,v 1.44 2007/02/13 00:02:46 waterbug Exp $ from twisted.python import log from twisted.web.xmlrpc import XMLRPC from twisted.web import resource -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER class PgerXmlrpcService(XMLRPC): @@ -24,7 +24,6 @@ def __init__(self, userid=None): XMLRPC.__init__(self) self.userid = userid - self.engine = Pger() def _getFunction(self, functionPath): """ @@ -84,9 +83,7 @@ changed @type userid: C{str} """ - return self.engine.changePassword(self.userid, - userid, - password) + return PGER.changePassword(self.userid, userid, password) def xmlrpc_getObjects(self, schema_name, refs, subtypes, criteria): """ @@ -123,11 +120,11 @@ kw = dict(criteria) else: kw = criteria - res = self.engine.getObjects(requestor=self.userid, - schema_name=schema_name, - refs=refs, - subtypes=subtypes, - **kw) + res = PGER.getObjects(requestor=self.userid, + schema_name=schema_name, + refs=refs, + subtypes=subtypes, + **kw) return res else: return """I'm sorry, Dave, I'm afraid I can't do that.""" @@ -142,8 +139,7 @@ @return: a C{list} of extracts of the objects that were found """ if oids: - res = self.engine.getObjectsByOids(requestor=self.userid, - oids=oids) + res = PGER.getObjectsByOids(requestor=self.userid, oids=oids) return res else: return [] @@ -192,8 +188,8 @@ """ if not spec: spec = None - result = self.engine.search(self.userid, schema_name, refs, subtypes, - args=params, spec=spec) + result = PGER.search(self.userid, schema_name, refs, subtypes, + args=params, spec=spec) return result def xmlrpc_getCount(self, schema_name, refs, subtypes, params): @@ -232,8 +228,8 @@ @return: C{int} indicating the number of objects that match. """ - return self.engine.getCount(self.userid, schema_name, refs, subtypes, - args=params) + return PGER.getCount(self.userid, schema_name, refs, subtypes, + args=params) def xmlrpc_updateObjects(self, extracts): """ @@ -245,7 +241,7 @@ any relevant updates (e.g., timedate stamps) """ if extracts: - return self.engine.updateObjects(self.userid, extracts) + return PGER.updateObjects(self.userid, extracts) else: return """I'm sorry, Dave, I'm afraid you didn't give me any objects.""" @@ -259,7 +255,7 @@ any relevant updates (e.g., timedate stamps) """ if extracts: - return self.engine.addObjects(self.userid, extracts) + return PGER.addObjects(self.userid, extracts) else: return """I'm sorry, Dave, I'm afraid you didn't give me any objects.""" @@ -274,7 +270,7 @@ any relevant updates (e.g., timedate stamps) """ if extracts: - return self.engine.addVersions(self.userid, extracts) + return PGER.addVersions(self.userid, extracts) else: return """I'm sorry, Dave, I'm afraid you didn't give me any objects.""" @@ -296,8 +292,7 @@ """ if extracts and blobs: try: - res = self.engine.addExtracts(self.userid, - extracts) + res = PGER.addExtracts(self.userid, extracts) except: text = """I'm sorry, Dave, there was a problem""" text += """with your objects.""" @@ -305,7 +300,7 @@ # TODO: if the extracts have been added successfully, write the # blobs to files ... elif extracts: - return self.engine.addExtracts(self.userid, extracts) + return PGER.addExtracts(self.userid, extracts) else: return """I'm sorry, Dave, I'm afraid I can't do that.""" @@ -313,11 +308,11 @@ """ Get all names currently registered for the specified namespace. """ - return self.engine.getNames(self.userid, ns) + return PGER.getNames(self.userid, ns) def xmlrpc_getBaseIds(self, ns): """ Get all base_ids currently registered for the specified namespace. """ - return self.engine.getBaseIds(self.userid, ns) + return PGER.getBaseIds(self.userid, ns) Index: PanGalactic/pangalactic/test/test_pger_getBaseIds.py diff -u PanGalactic/pangalactic/test/test_pger_getBaseIds.py:1.3 PanGalactic/pangalactic/test/test_pger_getBaseIds.py:1.4 --- PanGalactic/pangalactic/test/test_pger_getBaseIds.py:1.3 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_pger_getBaseIds.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_getBaseIds.py,v 1.3 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_pger_getBaseIds.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getResultSets() - - outputs results of callback(s) +Functional test for PGER.getBaseIds """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(resultsets): pprint(resultsets) @@ -23,9 +19,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -out = pgr.getBaseIds('test', 'http://pangalactic.us/test/lib/') +out = PGER.getBaseIds('test', 'http://pangalactic.us/test/lib/') out.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_xmlrpc_getCount.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getCount.py:1.4 PanGalactic/pangalactic/test/test_xmlrpc_getCount.py:1.5 --- PanGalactic/pangalactic/test/test_xmlrpc_getCount.py:1.4 Mon Oct 2 05:47:04 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_getCount.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_getCount.py,v 1.4 2006/10/02 09:47:04 waterbug Exp $ +# $Id: test_xmlrpc_getCount.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.getCount() @@ -6,7 +6,6 @@ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService schema_name = 'Identifiable' @@ -21,9 +20,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(pgr) - +xmlsrv = PgerXmlrpcService() res = xmlsrv.xmlrpc_getCount(schema_name, 0, 1, [('id_ns', '=', 'http://pangalactic.us/test/lib/')]) res.addCallbacks(success, failure) Index: PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.18 PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.19 --- PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py:1.18 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_getObjects.py Mon Feb 12 19:02:47 2007 @@ -1,32 +1,21 @@ -# $Id: test_xmlrpc_getObjects.py,v 1.18 2007/02/09 22:33:08 waterbug Exp $ +# $Id: test_xmlrpc_getObjects.py,v 1.19 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_getObjects -"getObjects" API call - - initializes PgerDb, Pger, and PgerXmlrpcService - - executes PgerXmlrpcService interface call(s): - - xmlrpc_getObjects() - - pretty prints result of callback - - prints result of reconstitute() on extracts """ + import os from pprint import pprint from twisted.internet import reactor from pangalactic.node.uberorb import UberORB -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService schema_name = 'PanGalacticObject' - -U = UberORB(debug=True) - -if not os.path.exists('_trial_temp'): - os.mkdir('_trial_temp') -pgr = Pger(home='_trial_temp') - xmlsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') - -U.initCache() +# need UberORB's cache because getObjects checks it +U = UberORB(debug=True) +if os.path.exists('_trial_temp'): + U.initCache(home='_trial_temp') parms = {'id_ns': 'http://pangalactic.us/test/lib/'} Index: PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py:1.13 PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py:1.14 --- PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py:1.13 Thu Nov 2 14:58:12 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_record2RowKey.py Mon Feb 12 19:02:47 2007 @@ -3,7 +3,7 @@ from pangalactic.repo.chronosynclastic import Infundibulum as I from pangalactic.test.utils4test import popTestData -infum = I(home='_trial_temp') +infum = I() p = PgefObject(infum.registry.interfaces['Project'], id='THINGY', Index: PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py:1.18 PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py:1.19 --- PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py:1.18 Tue Sep 26 00:40:57 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_extracts2Records.py Mon Feb 12 19:02:47 2007 @@ -1,10 +1,10 @@ -# $Id: test_chronosynclastic_extracts2Records.py,v 1.18 2006/09/26 04:40:57 waterbug Exp $ +# $Id: test_chronosynclastic_extracts2Records.py,v 1.19 2007/02/13 00:02:47 waterbug Exp $ from pangalactic.repo.chronosynclastic import Infundibulum as I from pangalactic.test.utils4test import genLinkedTestObjects from pprint import pprint -infum = I(home='_trial_temp') +infum = I() test_objects = genLinkedTestObjects(test_id='TCe2R', registry=infum.registry) extracts = [o.extract() for o in test_objects] Index: PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py:1.3 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py:1.4 --- PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py:1.3 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_searchWithCount.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_searchWithCount.py,v 1.3 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_searchWithCount.py,v 1.4 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -20,7 +20,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() res = fum.search(requestor='test', schema_name='Identifiable', Index: PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py:1.4 PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py:1.5 --- PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py:1.4 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_getObjectsE.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_getObjectsE.py,v 1.4 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_getObjectsE.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -20,7 +20,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() res = fum.getObjects(requestor='test', schema_name='Representation', Index: PanGalactic/pangalactic/repo/pger.py diff -u PanGalactic/pangalactic/repo/pger.py:1.141 PanGalactic/pangalactic/repo/pger.py:1.142 --- PanGalactic/pangalactic/repo/pger.py:1.141 Fri Feb 9 17:33:07 2007 +++ PanGalactic/pangalactic/repo/pger.py Mon Feb 12 19:02:46 2007 @@ -1,10 +1,10 @@ -# $Id: pger.py,v 1.141 2007/02/09 22:33:07 waterbug Exp $ +# $Id: pger.py,v 1.142 2007/02/13 00:02:46 waterbug Exp $ """ Pan Galactic Entropy Reverser module -@version: $Revision: 1.141 $ +@version: $Revision: 1.142 $ """ -__version__ = "$Revision: 1.141 $"[11:-2] +__version__ = "$Revision: 1.142 $"[11:-2] import base64 import sys @@ -44,14 +44,18 @@ # TODO: role-based authorization checks for Pger operations # TODO: if any operation fails, back out the transaction - def __init__(self, home=os.environ.get('VGER', '')): + def __init__(self): """ Initializes the Pger C{MultiService} (a local singleton). """ MultiService.__init__(self) self.setName('PGER') - self.vault = os.path.join(home, 'vault') - self.db = Infundibulum(home=home) + vgerpath = os.environ.get('VGER') + if vgerpath is None: + self.vault = 'vault' + else: + self.vault = os.path.join(vgerpath, 'vault') + self.db = Infundibulum() log.msg('PGER started.', system='PGER') def changePassword(self, requestor, userid, password): @@ -780,3 +784,6 @@ res.addCallback(lambda x: [r[0] for r in x]) return res +# Pger is a singleton, so import this instead of creating one +PGER = Pger() + Index: PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.14 PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.15 --- PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py:1.14 Fri Feb 9 20:34:43 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_addObjects.py Mon Feb 12 19:02:47 2007 @@ -1,20 +1,15 @@ -# $Id: test_xmlrpc_addObjects.py,v 1.14 2007/02/10 01:34:43 waterbug Exp $ +# $Id: test_xmlrpc_addObjects.py,v 1.15 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.xmlrpc_addObjects - - initializes Pger - - executes PgerXmlrpcService interface call: - - addObjects - - reports all added objects """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService from pangalactic.test.utils4test import genLinkedTestObjects -PGER = Pger(home='_trial_temp') xmlrpcsrv = PgerXmlrpcService(userid='Fester.Bestertester@earth.milkyway.univ') test_objects = genLinkedTestObjects('TXaO', PGER.db.registry, addable=True) extracts = [o.extract() for o in test_objects] Index: PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py diff -u PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py:1.5 PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py:1.6 --- PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py:1.5 Sat Sep 23 17:19:03 2006 +++ PanGalactic/pangalactic/test/test_chronosynclastic_searchWithSpec.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_chronosynclastic_searchWithSpec.py,v 1.5 2006/09/23 21:19:03 waterbug Exp $ +# $Id: test_chronosynclastic_searchWithSpec.py,v 1.6 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for pangalactic.repo.chronosynclastic module @@ -22,7 +22,7 @@ print error reactor.stop() -fum = Fum(home='_trial_temp') +fum = Fum() res = fum.search(requestor='test', schema_name='Identifiable', Index: PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py diff -u PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py:1.4 PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py:1.5 --- PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py:1.4 Wed Sep 27 16:08:11 2006 +++ PanGalactic/pangalactic/test/test_pger_getObjectsByOids.py Mon Feb 12 19:02:47 2007 @@ -1,16 +1,12 @@ -# $Id: test_pger_getObjectsByOids.py,v 1.4 2006/09/27 20:08:11 waterbug Exp $ +# $Id: test_pger_getObjectsByOids.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.pger module - - initializes Pger - - executes Pger interface call(s): - - getObjectsByOids() - - outputs results of callback(s) +Functional test for PGER.getObjects(..., oids=...) """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER def success(objectlist): pprint(objectlist) @@ -22,34 +18,32 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') - -res = pgr.getObjectsByOids(requestor='test', - oids=['zaphod@hog.univ', - 'banzai@banzai.earth', - 'bigboote@yoyodyne.planet10', - 'smallberries@yoyodyne.planet10', - 'lizardo@yoyodyne.planet10', - 'H2G2', - 'OTHER', - 'OTHEROTHER', - 'TEST.DOC-01.1', - 'TEST.DOC-01.2', - 'TEST.BTA-20.1', - 'TEST.HM.200.1', - 'TEST.FX-CAP.1', - 'TEST.HOG.1', - 'TEST.BTA-20.1-CAD.1', - 'TEST.HM.200.1-CAD.1', - 'TEST.FX-CAP.1-CAD.1', - 'TEST.HOG.1-CAD.1', - 'TEST.Representation.1', - 'TEST.Representation.2', - 'TEST.FileLink.1', - 'TEST.FileLink.2', - 'TEST.FileLink.3', - 'TEST.FileLink.4' - ]) +res = PGER.getObjectsByOids(requestor='test', + oids=['zaphod@hog.univ', + 'banzai@banzai.earth', + 'bigboote@yoyodyne.planet10', + 'smallberries@yoyodyne.planet10', + 'lizardo@yoyodyne.planet10', + 'H2G2', + 'OTHER', + 'OTHEROTHER', + 'TEST.DOC-01.1', + 'TEST.DOC-01.2', + 'TEST.BTA-20.1', + 'TEST.HM.200.1', + 'TEST.FX-CAP.1', + 'TEST.HOG.1', + 'TEST.BTA-20.1-CAD.1', + 'TEST.HM.200.1-CAD.1', + 'TEST.FX-CAP.1-CAD.1', + 'TEST.HOG.1-CAD.1', + 'TEST.Representation.1', + 'TEST.Representation.2', + 'TEST.FileLink.1', + 'TEST.FileLink.2', + 'TEST.FileLink.3', + 'TEST.FileLink.4' + ]) res.addCallbacks(success, failure) reactor.run() # start the main loop Index: PanGalactic/pangalactic/repo/pgerwebupload.py diff -u PanGalactic/pangalactic/repo/pgerwebupload.py:1.10 PanGalactic/pangalactic/repo/pgerwebupload.py:1.11 --- PanGalactic/pangalactic/repo/pgerwebupload.py:1.10 Fri Feb 9 17:33:07 2007 +++ PanGalactic/pangalactic/repo/pgerwebupload.py Mon Feb 12 19:02:46 2007 @@ -1,17 +1,17 @@ -# $Id: pgerwebupload.py,v 1.10 2007/02/09 22:33:07 waterbug Exp $ +# $Id: pgerwebupload.py,v 1.11 2007/02/13 00:02:46 waterbug Exp $ """ A simple browser-based file upload service -@version: $Revision: 1.10 $ +@version: $Revision: 1.11 $ """ -__version__ = "$Revision: 1.10 $"[11:-2] +__version__ = "$Revision: 1.11 $"[11:-2] from pprint import pprint from twisted.python import log from twisted.web import server -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.repo.pgerupload import PgerFileUploadService @@ -31,7 +31,6 @@ @param userid: userid of the requestor """ FileUploadService.__init__(self, userid) - self.engine = Pger() self.userid = userid def getChild(self, name, request): @@ -49,7 +48,7 @@ if args.has_key('file'): rheaders = request.getAllHeaders() content = args['file'][0] - self.engine.addFile(self.userid, rheaders, content + PGER.addFile(self.userid, rheaders, content ).addErrback(self._ebRender ).addCallback(self._cbRender, request) else: Index: PanGalactic/pangalactic/test/test_pger_addObjectsO.py diff -u PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.15 PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.16 --- PanGalactic/pangalactic/test/test_pger_addObjectsO.py:1.15 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_pger_addObjectsO.py Mon Feb 12 19:02:47 2007 @@ -1,21 +1,14 @@ -# $Id: test_pger_addObjectsO.py,v 1.15 2007/02/09 22:33:08 waterbug Exp $ +# $Id: test_pger_addObjectsO.py,v 1.16 2007/02/13 00:02:47 waterbug Exp $ """ -Functional test for pangalactic.repo.Pger.addObjects() - - initializes Pger - - executes Pger interface call: - - addObjects() - - returns a datetime stamp (the record_create_datetime and - record_mod_datetime for all committed objects) +Functional test for PGER.addObjects() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.test.utils4test import genLinkedTestObjects -PGER = Pger(home='_trial_temp') - # create test objects test_objects = genLinkedTestObjects('TPaOO', addable=True, versionable=False, registry=PGER.db.registry) Index: PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.2 PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.3 --- PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py:1.2 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/test/test_xmlrpc_updateObjects.py Mon Feb 12 19:02:47 2007 @@ -2,18 +2,14 @@ """ Functional test for pangalactic.repo.Pger.addOrUpdateObjects() - - initializes Pger - - executes Pger interface call: - addOrUpdateObjects() """ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService from pangalactic.test.utils4test import genLinkedTestObjects -PGER = Pger(home='_trial_temp') xmlrpcsrv = PgerXmlrpcService(PGER, userid='Fester.Bestertester@earth.milkyway.univ') r = PGER.db.registry Index: PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py diff -u PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py:1.4 PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py:1.5 --- PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py:1.4 Sat Sep 23 17:19:04 2006 +++ PanGalactic/pangalactic/test/test_xmlrpc_searchWithSpec.py Mon Feb 12 19:02:47 2007 @@ -1,4 +1,4 @@ -# $Id: test_xmlrpc_searchWithSpec.py,v 1.4 2006/09/23 21:19:04 waterbug Exp $ +# $Id: test_xmlrpc_searchWithSpec.py,v 1.5 2007/02/13 00:02:47 waterbug Exp $ """ Functional test for PgerXmlrpcService.search() @@ -6,7 +6,6 @@ from pprint import pprint from twisted.internet import reactor -from pangalactic.repo.pger import Pger from pangalactic.repo.pgerxmlrpc import PgerXmlrpcService schema_name = 'Part' @@ -22,8 +21,7 @@ print error reactor.stop() -pgr = Pger(home='_trial_temp') -xmlsrv = PgerXmlrpcService(pgr) +xmlsrv = PgerXmlrpcService() res = xmlsrv.xmlrpc_search(schema_name, 0, 0, [('owner', 'like', 'bigboote')], Index: PanGalactic/pangalactic/vger/vgerd.py diff -u PanGalactic/pangalactic/vger/vgerd.py:1.8 PanGalactic/pangalactic/vger/vgerd.py:1.9 --- PanGalactic/pangalactic/vger/vgerd.py:1.8 Fri Feb 9 17:33:08 2007 +++ PanGalactic/pangalactic/vger/vgerd.py Mon Feb 12 19:02:48 2007 @@ -3,10 +3,10 @@ Galactic Services. The first service is the repository service, PGER (the Pan Galactic Entropy Reverser). -@version: $Revision: 1.8 $ +@version: $Revision: 1.9 $ """ -__version__ = "$Revision: 1.8 $"[11:-2] +__version__ = "$Revision: 1.9 $"[11:-2] # $Source: /repo/step_testbed/PanGalactic/pangalactic/vger/vgerd.py,v $ import os @@ -26,7 +26,7 @@ # from nevow.appserver import NevowSite # PanGalactic -from pangalactic.repo.pger import Pger +from pangalactic.repo.pger import PGER from pangalactic.repo import pgercred2 # Uncomment this when there *is* a soap service ... @@ -51,15 +51,14 @@ application = Application('VGER') # TODO: make this more elegantly configured -pgerhub = Pger(home=home) -pgerhub.setServiceParent(application) -pgerchkr = pgercred2.UserDbCredChecker(userdb=pgerhub.db) +PGER.setServiceParent(application) +pgerchkr = pgercred2.UserDbCredChecker(userdb=PGER.db) ### PGER Perspective Broker Interface ### # PgerPB is temporarily disabled (until we look at what needs # to be changed to make it work with the new PB architecture) # bkr = pb.PBServerFactory(PGER) - # pgerhub.addService(bkr) + # PGER.addService(bkr) # application.listenTCP(pbport, bkr) ### HTTP Multiplexer resource ### @@ -85,7 +84,7 @@ ### PGER SOAP interface ### # TODO: not implemented yet (just copied from XML-RPC ;) -# mux.putChild('SOAP', PgerSoapService(pgerhub)) +# mux.putChild('SOAP', PgerSoapService(PGER)) ### PGER HTTP file-upload interface ### # non-browser upload interface (for direct http uploads) @@ -135,5 +134,5 @@ xmlrpc_service = SSLServer(xmlrpc_port, xmlrpc_site, ctx) else: xmlrpc_service = TCPServer(xmlrpc_port, xmlrpc_site) -xmlrpc_service.setServiceParent(pgerhub) +xmlrpc_service.setServiceParent(PGER) From waterbug at step.nasa.gov Tue Feb 13 04:08:36 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Tue Feb 13 04:08:39 2007 Subject: [pangalactic-commits] Begin to make orb usable in VGER. Message-ID: <200702130908.l1D98aGv032705@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/node/uberorb.py 1.125 1.126 PanGalactic/pangalactic/vger/vgerd.py 1.9 1.10 Log message: Begin to make orb usable in VGER. Index: PanGalactic/pangalactic/node/uberorb.py diff -u PanGalactic/pangalactic/node/uberorb.py:1.125 PanGalactic/pangalactic/node/uberorb.py:1.126 --- PanGalactic/pangalactic/node/uberorb.py:1.125 Mon Jan 8 01:46:50 2007 +++ PanGalactic/pangalactic/node/uberorb.py Tue Feb 13 04:08:34 2007 @@ -1,11 +1,11 @@ -# $Id: uberorb.py,v 1.125 2007/01/08 06:46:50 waterbug Exp $ +# $Id: uberorb.py,v 1.126 2007/02/13 09:08:34 waterbug Exp $ # -*- test-case-name: pangalactic.test.test_uberorb -*- """ A PanGalaxian node's UberORB -@version: $Revision: 1.125 $ +@version: $Revision: 1.126 $ """ -__version__ = "$Revision: 1.125 $"[11:-2] +__version__ = "$Revision: 1.126 $"[11:-2] import logging import mimetypes @@ -75,13 +75,17 @@ dispatcher.connect(receiver, signal, **kw) - def startLogging(self, console=False): + def startLogging(self, console=False, server=False): """ Create a logger and begin writing to the log. This function assumes that PanGalaxian has called logging.basicConfig. @param console: flag to indicate logging should go to stdout @type console: C{bool} + + @param server: flag to indicate that this orb's node is running VGER + and will write its log messages to VGER's log (twisted.python.log) + @type server: C{bool} """ self.templog = None if hasattr(self, 'log') and hasattr(self.log, 'temp'): Index: PanGalactic/pangalactic/vger/vgerd.py diff -u PanGalactic/pangalactic/vger/vgerd.py:1.9 PanGalactic/pangalactic/vger/vgerd.py:1.10 --- PanGalactic/pangalactic/vger/vgerd.py:1.9 Mon Feb 12 19:02:48 2007 +++ PanGalactic/pangalactic/vger/vgerd.py Tue Feb 13 04:08:34 2007 @@ -3,10 +3,10 @@ Galactic Services. The first service is the repository service, PGER (the Pan Galactic Entropy Reverser). -@version: $Revision: 1.9 $ +@version: $Revision: 1.10 $ """ -__version__ = "$Revision: 1.9 $"[11:-2] +__version__ = "$Revision: 1.10 $"[11:-2] # $Source: /repo/step_testbed/PanGalactic/pangalactic/vger/vgerd.py,v $ import os @@ -84,7 +84,7 @@ ### PGER SOAP interface ### # TODO: not implemented yet (just copied from XML-RPC ;) -# mux.putChild('SOAP', PgerSoapService(PGER)) +# mux.putChild('SOAP', PgerSoapService()) ### PGER HTTP file-upload interface ### # non-browser upload interface (for direct http uploads) From waterbug at step.nasa.gov Tue Feb 13 04:16:08 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Tue Feb 13 04:16:09 2007 Subject: [pangalactic-commits] Registry is a singleton, too ('registry'). Message-ID: <200702130916.l1D9G8fS032767@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/meta/registry.py 1.167 1.168 Log message: Registry is a singleton, too ('registry'). Index: PanGalactic/pangalactic/meta/registry.py diff -u PanGalactic/pangalactic/meta/registry.py:1.167 PanGalactic/pangalactic/meta/registry.py:1.168 --- PanGalactic/pangalactic/meta/registry.py:1.167 Thu Jan 18 01:45:49 2007 +++ PanGalactic/pangalactic/meta/registry.py Tue Feb 13 04:16:06 2007 @@ -1,9 +1,9 @@ -# $Id: registry.py,v 1.167 2007/01/18 06:45:49 waterbug Exp $ +# $Id: registry.py,v 1.168 2007/02/13 09:16:06 waterbug Exp $ """ Pan Galactic Meta Object Registry -@version: $Revision: 1.167 $ +@version: $Revision: 1.168 $ The C{PanGalacticRegistry} maintains an in-memory cache of the PanGalactic ('pgef') core ontology (the C{Interface} instances that are the C{_schema}s of @@ -12,7 +12,7 @@ objects and in marshalling/unmarshalling existing objects in a PanGalactic application. """ -__version__ = "$Revision: 1.167 $"[11:-2] +__version__ = "$Revision: 1.168 $"[11:-2] # Python import glob @@ -1254,4 +1254,4 @@ complete=True) return d - +registry = PanGalacticRegistry() From waterbug at step.nasa.gov Tue Feb 13 04:19:00 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Tue Feb 13 04:19:02 2007 Subject: [pangalactic-commits] Better import orb if using it. Message-ID: <200702130919.l1D9J02k000334@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/chronosynclastic.py 1.109 1.110 Log message: Better import orb if using it. Index: PanGalactic/pangalactic/repo/chronosynclastic.py diff -u PanGalactic/pangalactic/repo/chronosynclastic.py:1.109 PanGalactic/pangalactic/repo/chronosynclastic.py:1.110 --- PanGalactic/pangalactic/repo/chronosynclastic.py:1.109 Sat Jan 6 23:39:15 2007 +++ PanGalactic/pangalactic/repo/chronosynclastic.py Tue Feb 13 04:18:58 2007 @@ -1,12 +1,12 @@ -# $Id: chronosynclastic.py,v 1.109 2007/01/07 04:39:15 waterbug Exp $ +# $Id: chronosynclastic.py,v 1.110 2007/02/13 09:18:58 waterbug Exp $ """ The Chronosynclastic Infundibulum: an asynchronous, ontology-driven object-relational mapping and database interface. -@version: $Revision: 1.109 $ +@version: $Revision: 1.110 $ """ -__version__ = "$Revision: 1.109 $"[11:-2] +__version__ = "$Revision: 1.110 $"[11:-2] import os import re @@ -23,6 +23,7 @@ # PanGalactic imports from pangalactic.meta.registry import PanGalacticRegistry +from pangalactic.node.uberorb import orb from pangalactic.utils import sql from pangalactic.utils.datetimes import dt2str, str2dt, dtstamp from pangalactic.utils.toolbox import unique @@ -41,7 +42,6 @@ # PanGalaticObject-rooted inheritance tree for pgerdb tables). def __init__(self, - home=os.environ.get('VGER', ''), dbapiname='psycopg2', database='pgerdb', initialize=True): @@ -55,7 +55,8 @@ # server=True tells the registry that it's attached to a VGER node, # rather than to a PanGalaxian node, which it needs to know for various # reasons. - self.registry = PanGalacticRegistry(server=True) + # self.registry = PanGalacticRegistry(server=True) + self.registry = orb # TODO: check if db exists; if not, create one self.database = database adbapi.ConnectionPool.__init__(self, From waterbug at step.nasa.gov Sat Feb 17 16:11:48 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Sat Feb 17 16:11:50 2007 Subject: [pangalactic-commits] Correct refs to Louie; add pyparsing to deps. Message-ID: <200702172111.l1HLBmQW001874@ned.gsfc.nasa.gov> Modified files: PanGalactic/INSTALL 1.41 1.42 PanGalactic/pangalactic/node/pangalaxian.py 1.158 1.159 PanGalactic/pangalactic/node/uberorb.py 1.126 1.127 PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py 1.140 1.141 PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py 1.63 1.64 PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py 1.33 1.34 Log message: Correct refs to Louie; add pyparsing to deps. Index: PanGalactic/INSTALL diff -u PanGalactic/INSTALL:1.41 PanGalactic/INSTALL:1.42 --- PanGalactic/INSTALL:1.41 Thu Jan 4 15:53:02 2007 +++ PanGalactic/INSTALL Sat Feb 17 16:11:44 2007 @@ -76,6 +76,12 @@ Configuration: 'python setup.py install' + - pyparsing + (version >= 1.4.3) + + Configuration: 'python setup.py install' or + 'easy_install pyparsing' + (2) Required for PanGalaxian (the PGEF Client): @@ -277,4 +283,4 @@ net). --------------------------------------------------------------------------- -$Id: INSTALL,v 1.41 2007/01/04 20:53:02 waterbug Exp $ +$Id: INSTALL,v 1.42 2007/02/17 21:11:44 waterbug Exp $ Index: PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py diff -u PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py:1.33 PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py:1.34 --- PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py:1.33 Sat Dec 2 15:45:09 2006 +++ PanGalactic/pangalactic/node/gui/widgets/pgxnstatusbar.py Sat Feb 17 16:11:45 2007 @@ -1,11 +1,11 @@ -# $Id: pgxnstatusbar.py,v 1.33 2006/12/02 20:45:09 waterbug Exp $ +# $Id: pgxnstatusbar.py,v 1.34 2007/02/17 21:11:45 waterbug Exp $ """ Custom status bar for PanGalaxian (the PGEF desktop client). -@version: $Revision: 1.33 $ +@version: $Revision: 1.34 $ """ -__version__ = "$Revision: 1.33 $"[11:-2] +__version__ = "$Revision: 1.34 $"[11:-2] # Python core modules import logging @@ -13,7 +13,7 @@ # wxPython import wx -# PyDispatcher +# Louie (formerly known as PyDispatcher) from louie import dispatcher # PanGalactic modules Index: PanGalactic/pangalactic/node/uberorb.py diff -u PanGalactic/pangalactic/node/uberorb.py:1.126 PanGalactic/pangalactic/node/uberorb.py:1.127 --- PanGalactic/pangalactic/node/uberorb.py:1.126 Tue Feb 13 04:08:34 2007 +++ PanGalactic/pangalactic/node/uberorb.py Sat Feb 17 16:11:45 2007 @@ -1,11 +1,11 @@ -# $Id: uberorb.py,v 1.126 2007/02/13 09:08:34 waterbug Exp $ +# $Id: uberorb.py,v 1.127 2007/02/17 21:11:45 waterbug Exp $ # -*- test-case-name: pangalactic.test.test_uberorb -*- """ A PanGalaxian node's UberORB -@version: $Revision: 1.126 $ +@version: $Revision: 1.127 $ """ -__version__ = "$Revision: 1.126 $"[11:-2] +__version__ = "$Revision: 1.127 $"[11:-2] import logging import mimetypes @@ -13,9 +13,8 @@ import xmlrpclib from pprint import pprint -# PyDispatch module +# Louie (formerly known as PyDispatcher) from louie import dispatcher -# from dispatch import dispatcher # Zope Interface from zope.interface import implements Index: PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py diff -u PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py:1.63 PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py:1.64 --- PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py:1.63 Mon Jan 8 01:46:51 2007 +++ PanGalactic/pangalactic/node/gui/widgets/pgxnproperty.py Sat Feb 17 16:11:45 2007 @@ -1,16 +1,16 @@ -# $Id: pgxnproperty.py,v 1.63 2007/01/08 06:46:51 waterbug Exp $ +# $Id: pgxnproperty.py,v 1.64 2007/02/17 21:11:45 waterbug Exp $ """ PanGalaxianProperty (the Mother of all PanGalaxian Property widgets) -@version: $Revision: 1.63 $ +@version: $Revision: 1.64 $ """ -__version__ = "$Revision: 1.63 $"[11:-2] +__version__ = "$Revision: 1.64 $"[11:-2] import logging from pprint import pprint import datetime -# PyDispatch +# Louie (formerly known as PyDispatcher) from louie import dispatcher # wxPython Index: PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py diff -u PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py:1.140 PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py:1.141 --- PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py:1.140 Thu Jan 4 15:53:05 2007 +++ PanGalactic/pangalactic/node/gui/widgets/pgxnobject.py Sat Feb 17 16:11:45 2007 @@ -1,15 +1,15 @@ -# $Id: pgxnobject.py,v 1.140 2007/01/04 20:53:05 waterbug Exp $ +# $Id: pgxnobject.py,v 1.141 2007/02/17 21:11:45 waterbug Exp $ """ PanGalaxianObject (a C{PgefObject} viewer/editor) -@version: $Revision: 1.140 $ +@version: $Revision: 1.141 $ """ -__version__ = "$Revision: 1.140 $"[11:-2] +__version__ = "$Revision: 1.141 $"[11:-2] import logging from copy import deepcopy -# PyDispatch +# Louie (formerly known as PyDispatcher) from louie import dispatcher # wxPython Index: PanGalactic/pangalactic/node/pangalaxian.py diff -u PanGalactic/pangalactic/node/pangalaxian.py:1.158 PanGalactic/pangalactic/node/pangalaxian.py:1.159 --- PanGalactic/pangalactic/node/pangalaxian.py:1.158 Mon Jan 8 01:46:50 2007 +++ PanGalactic/pangalactic/node/pangalaxian.py Sat Feb 17 16:11:45 2007 @@ -2,16 +2,16 @@ # -*- coding: ANSI_X3.4-1968 -*- # generated by wxGlade 0.3.5.1 on Tue Feb 1 00:19:02 2005 -# $Id: pangalaxian.py,v 1.158 2007/01/08 06:46:50 waterbug Exp $ +# $Id: pangalaxian.py,v 1.159 2007/02/17 21:11:45 waterbug Exp $ """ Main application module for PanGalaxian, the PGEF desktop client. WE ARE THE PANGALAXIANS! :) -@version: $Revision: 1.158 $ +@version: $Revision: 1.159 $ """ -__version__ = "$Revision: 1.158 $"[11:-2] +__version__ = "$Revision: 1.159 $"[11:-2] # Python import logging @@ -24,7 +24,7 @@ # wxPython import wx -# PyDispatch +# Louie (formerly known as PyDispatcher) from louie import dispatcher # PanGalactic From waterbug at step.nasa.gov Sat Feb 17 17:14:39 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Sat Feb 17 17:14:40 2007 Subject: [pangalactic-commits] logpath: logs -> log. Message-ID: <200702172214.l1HMEdVQ002559@ned.gsfc.nasa.gov> Modified files: PanGalactic/INSTALL 1.42 1.43 PanGalactic/pangalactic/node/pangalaxian.py 1.159 1.160 PanGalactic/pangalactic/vger/vgerd 1.2 1.3 PanGalactic/pangalactic/vger/vgerd.py 1.10 1.11 Log message: logpath: logs -> log. Index: PanGalactic/INSTALL diff -u PanGalactic/INSTALL:1.42 PanGalactic/INSTALL:1.43 --- PanGalactic/INSTALL:1.42 Sat Feb 17 16:11:44 2007 +++ PanGalactic/INSTALL Sat Feb 17 17:14:35 2007 @@ -82,6 +82,13 @@ Configuration: 'python setup.py install' or 'easy_install pyparsing' + - simplegeneric + Simple generic functions (they adapt to their param types) + + + Configuration: 'python setup.py install' or + 'easy_install simplegeneric' + (2) Required for PanGalaxian (the PGEF Client): @@ -283,4 +290,4 @@ net). --------------------------------------------------------------------------- -$Id: INSTALL,v 1.42 2007/02/17 21:11:44 waterbug Exp $ +$Id: INSTALL,v 1.43 2007/02/17 22:14:35 waterbug Exp $ Index: PanGalactic/pangalactic/node/pangalaxian.py diff -u PanGalactic/pangalactic/node/pangalaxian.py:1.159 PanGalactic/pangalactic/node/pangalaxian.py:1.160 --- PanGalactic/pangalactic/node/pangalaxian.py:1.159 Sat Feb 17 16:11:45 2007 +++ PanGalactic/pangalactic/node/pangalaxian.py Sat Feb 17 17:14:36 2007 @@ -2,16 +2,16 @@ # -*- coding: ANSI_X3.4-1968 -*- # generated by wxGlade 0.3.5.1 on Tue Feb 1 00:19:02 2005 -# $Id: pangalaxian.py,v 1.159 2007/02/17 21:11:45 waterbug Exp $ +# $Id: pangalaxian.py,v 1.160 2007/02/17 22:14:36 waterbug Exp $ """ Main application module for PanGalaxian, the PGEF desktop client. WE ARE THE PANGALAXIANS! :) -@version: $Revision: 1.159 $ +@version: $Revision: 1.160 $ """ -__version__ = "$Revision: 1.159 $"[11:-2] +__version__ = "$Revision: 1.160 $"[11:-2] # Python import logging @@ -286,7 +286,7 @@ if not os.path.exists(owl_plugins_path): os.makedirs(owl_plugins_path) # start logging - logpath = 'logs' + logpath = 'log' if not os.path.exists(logpath): os.mkdir(logpath) sys.stdout = open(os.path.join(logpath, 'console_log'), 'w') Index: PanGalactic/pangalactic/vger/vgerd diff -u PanGalactic/pangalactic/vger/vgerd:1.2 PanGalactic/pangalactic/vger/vgerd:1.3 --- PanGalactic/pangalactic/vger/vgerd:1.2 Tue Oct 3 15:36:56 2006 +++ PanGalactic/pangalactic/vger/vgerd Sat Feb 17 17:14:37 2007 @@ -2,11 +2,11 @@ usage='Usage: vgerd [start|startsecure|restart|restartsecure|stop]' -if [[ -z $1 ]]; then +if [ -z $1 ]; then echo $usage exit 1 fi -if [[ -z $VGER ]]; then +if [ -z $VGER ]; then echo 'env var VGER must be defined.' exit 1 fi @@ -19,26 +19,26 @@ # (default port is 8080) twistd -y bin/vgerd.py \ --pidfile=vgerd.pid \ - --logfile=logs/vgerd.log \ + --logfile=log/vgerd.log \ --no_save ;; restart) # restart vgerd on https://[hostname]:[port] # (default port is 8080) kill `cat vgerd.pid` - mv logs/vgerd.log \ - logs/archive/log.`date +%Y%m%d.%H.%M` + mv log/vgerd.log \ + log/archive/log.`date +%Y%m%d.%H.%M` sleep 1 twistd -y bin/vgerd.py \ --pidfile=vgerd.pid \ - --logfile=logs/vgerd.log \ + --logfile=log/vgerd.log \ --no_save ;; stop) # stop vgerd and archive its log kill `cat vgerd.pid` - mv logs/vgerd.log \ - logs/archive/log.`date +%Y%m%d.%H.%M` + mv log/vgerd.log \ + log/archive/log.`date +%Y%m%d.%H.%M` sleep 1 ;; *) Index: PanGalactic/pangalactic/vger/vgerd.py diff -u PanGalactic/pangalactic/vger/vgerd.py:1.10 PanGalactic/pangalactic/vger/vgerd.py:1.11 --- PanGalactic/pangalactic/vger/vgerd.py:1.10 Tue Feb 13 04:08:34 2007 +++ PanGalactic/pangalactic/vger/vgerd.py Sat Feb 17 17:14:37 2007 @@ -3,10 +3,10 @@ Galactic Services. The first service is the repository service, PGER (the Pan Galactic Entropy Reverser). -@version: $Revision: 1.10 $ +@version: $Revision: 1.11 $ """ -__version__ = "$Revision: 1.10 $"[11:-2] +__version__ = "$Revision: 1.11 $"[11:-2] # $Source: /repo/step_testbed/PanGalactic/pangalactic/vger/vgerd.py,v $ import os @@ -16,9 +16,7 @@ from twisted.application.service import Application from twisted.cred import portal from twisted.internet import ssl -from twisted.web2.auth import basic, wrapper from twisted.web2.channel import HTTPFactory -from twisted.web2.iweb import IResource from twisted.web2.resource import Resource from twisted.web2.server import Site @@ -26,8 +24,8 @@ # from nevow.appserver import NevowSite # PanGalactic -from pangalactic.repo.pger import PGER -from pangalactic.repo import pgercred2 +from pangalactic.repo.pger import Pger +from pangalactic.repo import pgercred # Uncomment this when there *is* a soap service ... # for now, we don't need any unnecessary dependencies! @@ -42,7 +40,7 @@ os.makedirs(pluginpath) if not os.path.exists(owlpath): os.makedirs(owlpath) -logpath = os.path.join(home, 'logs') +logpath = os.path.join(home, 'log') archpath = os.path.join(logpath, 'archive') if not os.path.exists(logpath): os.makedirs(logpath) @@ -51,14 +49,15 @@ application = Application('VGER') # TODO: make this more elegantly configured -PGER.setServiceParent(application) -pgerchkr = pgercred2.UserDbCredChecker(userdb=PGER.db) +pgerhub = Pger(home=home) +pgerhub.setServiceParent(application) +pgerchkr = pgerhub.credchkr ### PGER Perspective Broker Interface ### # PgerPB is temporarily disabled (until we look at what needs # to be changed to make it work with the new PB architecture) # bkr = pb.PBServerFactory(PGER) - # PGER.addService(bkr) + # pgerhub.addService(bkr) # application.listenTCP(pbport, bkr) ### HTTP Multiplexer resource ### @@ -71,55 +70,41 @@ mux = Resource() ### PGER XML-RPC interface ### -# TODO: make a general VGER xml-rpc service, of which the PGER xml-rpc -# interface is an instance ... -xr = pgercred2.XmlrpcRealm('PGER XML-RPC') +xr = pgercred.XmlrpcRealm('PGER XML-RPC', + engine=pgerhub) xp = portal.Portal(xr) xp.registerChecker(pgerchkr) -mux.putChild('RPC2', - wrapper.HTTPAuthResource( - pgercred2.XmlrpcAvatar, - (basic.BasicCredentialFactory(xr),), - xp, (IResource,))) +mux.putChild('RPC2', pgercred.BasicAuthResource(xp)) ### PGER SOAP interface ### # TODO: not implemented yet (just copied from XML-RPC ;) -# mux.putChild('SOAP', PgerSoapService()) +# mux.putChild('SOAP', PgerSoapService(pgerhub)) ### PGER HTTP file-upload interface ### # non-browser upload interface (for direct http uploads) -ur = pgercred2.PgerFileUploadRealm('PGER HTTP File Upload') +ur = pgercred.FileUploadRealm('PGER HTTP File Upload', + engine=pgerhub) up = portal.Portal(ur) up.registerChecker(pgerchkr) -mux.putChild('upload', - wrapper.HTTPAuthResource( - pgercred2.PgerFileUploadAvatar, - (basic.BasicCredentialFactory(ur),), - up, (IResource,))) +mux.putChild('upload', pgercred.BasicAuthResource(up)) -### VGER web browser file-upload interface ### +### PGER HTTP file-upload interface ### # web browser upload interface -wur = pgercred2.WebUploadRealm('Web File Upload Service') +wur = pgercred.WebUploadRealm('PGER HTTP File Upload', + engine=pgerhub) wup = portal.Portal(wur) wup.registerChecker(pgerchkr) -mux.putChild('webupload', - wrapper.HTTPAuthResource( - pgercred2.WebUploadAvatar, - (basic.BasicCredentialFactory(ur),), - up, (IResource,))) +mux.putChild('webupload', pgercred.BasicAuthResource(wup)) -### VGER Static web server ### -sr = pgercred2.StaticHttpRealm('PGER Web', 'web') +### PGER Static web server ### +sr = pgercred.StaticHttpRealm('PGER Web', 'web') sp = portal.Portal(sr) sp.registerChecker(pgerchkr) -res = wrapper.HTTPAuthResource( - pgercred2.StaticResourceAvatar, - (basic.BasicCredentialFactory(sr),), - sp, (IResource,)) +res = pgercred.BasicAuthResource(sp) mux.putChild('', res) xmlrpc_port = 8888 -nevow_port = 8080 +# nevow_port = 8080 # --encrypted=0 -> no SSL encrypted = 1 @@ -134,5 +119,5 @@ xmlrpc_service = SSLServer(xmlrpc_port, xmlrpc_site, ctx) else: xmlrpc_service = TCPServer(xmlrpc_port, xmlrpc_site) -xmlrpc_service.setServiceParent(PGER) +xmlrpc_service.setServiceParent(pgerhub) From waterbug at step.nasa.gov Sun Feb 18 18:04:57 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Sun Feb 18 18:04:58 2007 Subject: [pangalactic-commits] Corrections to dependencies. Message-ID: <200702182304.l1IN4vZJ021413@ned.gsfc.nasa.gov> Modified files: PanGalactic/INSTALL 1.43 1.44 Log message: Corrections to dependencies. Index: PanGalactic/INSTALL diff -u PanGalactic/INSTALL:1.43 PanGalactic/INSTALL:1.44 --- PanGalactic/INSTALL:1.43 Sat Feb 17 17:14:35 2007 +++ PanGalactic/INSTALL Sun Feb 18 18:04:56 2007 @@ -55,12 +55,8 @@ install') on Unices, and on MSwin platforms the Twisted installer works fine. - - OpenSSL (latest released version) - - - Configuration: see the OpenSSL site for installation procedures. - - pyOpenSSL (latest released version) + note -- requires OpenSSL linux: mswin: @@ -290,4 +286,4 @@ net). --------------------------------------------------------------------------- -$Id: INSTALL,v 1.43 2007/02/17 22:14:35 waterbug Exp $ +$Id: INSTALL,v 1.44 2007/02/18 23:04:56 waterbug Exp $ From waterbug at step.nasa.gov Tue Feb 20 11:37:39 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Tue Feb 20 11:37:42 2007 Subject: [pangalactic-commits] Use new IAuthenticatedRequest interface ... Message-ID: <200702201637.l1KGbduC009912@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/pgerxmlrpc2.py None 1.1 PanGalactic/pangalactic/repo/pgercred2.py 1.1 1.2 Log message: Use new IAuthenticatedRequest interface ... also, add a new web2-based xmlrpc service. Index: PanGalactic/pangalactic/repo/pgercred2.py diff -u PanGalactic/pangalactic/repo/pgercred2.py:1.1 PanGalactic/pangalactic/repo/pgercred2.py:1.2 --- PanGalactic/pangalactic/repo/pgercred2.py:1.1 Fri Feb 9 17:35:26 2007 +++ PanGalactic/pangalactic/repo/pgercred2.py Tue Feb 20 11:37:37 2007 @@ -1,9 +1,9 @@ -# $Id: pgercred2.py,v 1.1 2007/02/09 22:35:26 waterbug Exp $ +# $Id: pgercred2.py,v 1.2 2007/02/20 16:37:37 waterbug Exp $ """ Authentication and credential management for PGER, using Twisted's web2. -@version: $Revision: 1.1 $ +@version: $Revision: 1.2 $ """ -__version__ = "$Revision: 1.1 $"[11:-2] +__version__ = "$Revision: 1.2 $"[11:-2] import sha @@ -31,9 +31,9 @@ implements(iweb.IResource) - def __init__(self, userid, realm=''): - PgerXmlrpcService.__init__(self, userid=userid) - self.userid = userid + def __init__(self, username, realm=''): + PgerXmlrpcService.__init__(self, username=username) + self.username = username self.realm = realm def logout(self): @@ -47,7 +47,7 @@ self.name = name def requestAvatar(self, avatarId, mind, *interfaces): - av = XmlrpcAvatar(userid=avatarId, realm=self.name) + av = XmlrpcAvatar(username=avatarId, realm=self.name) return iweb.IResource, av, av.logout @@ -55,9 +55,9 @@ implements(iweb.IResource) - def __init__(self, userid, realm='PGER File Upload'): - PgerFileUploadService.__init__(self, userid=userid) - self.userid = userid + def __init__(self, username, realm='PGER File Upload'): + PgerFileUploadService.__init__(self, username=username) + self.username = username self.realm = realm def logout(self): @@ -72,7 +72,7 @@ self.name = name def requestAvatar(self, avatarId, mind, *interfaces): - av = PgerFileUploadAvatar(userid=avatarId, + av = PgerFileUploadAvatar(username=avatarId, realm=self.name) return iweb.IResource, av, av.logout @@ -81,9 +81,9 @@ implements(iweb.IResource) - def __init__(self, userid, realm='Web File Upload'): - WebUploadService.__init__(self, userid=userid) - self.userid = userid + def __init__(self, username, realm='Web File Upload'): + WebUploadService.__init__(self, username=username) + self.username = username self.realm = realm def logout(self): @@ -98,7 +98,7 @@ self.name = name def requestAvatar(self, avatarId, mind, *interfaces): - av = WebUploadAvatar(userid=avatarId, + av = WebUploadAvatar(username=avatarId, realm=self.name) return iweb.IResource, av, av.logout From waterbug at step.nasa.gov Tue Feb 20 17:40:56 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Tue Feb 20 17:40:58 2007 Subject: [pangalactic-commits] Begin pgerxmlrpc2. Message-ID: <200702202240.l1KMeuTi018404@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/repo/pgerxmlrpc2.py 1.1 1.2 Log message: Begin pgerxmlrpc2. Index: PanGalactic/pangalactic/repo/pgerxmlrpc2.py diff -u PanGalactic/pangalactic/repo/pgerxmlrpc2.py:1.1 PanGalactic/pangalactic/repo/pgerxmlrpc2.py:1.2 --- PanGalactic/pangalactic/repo/pgerxmlrpc2.py:1.1 Tue Feb 20 11:37:37 2007 +++ PanGalactic/pangalactic/repo/pgerxmlrpc2.py Tue Feb 20 17:40:55 2007 @@ -1,14 +1,14 @@ """ PGER XML-RPC Interfaces module -@version: $Revision: 1.1 $ +@version: $Revision: 1.2 $ """ -__version__ = "$Revision: 1.1 $"[11:-2] -# $Id: pgerxmlrpc2.py,v 1.1 2007/02/20 16:37:37 waterbug Exp $ +__version__ = "$Revision: 1.2 $"[11:-2] +# $Id: pgerxmlrpc2.py,v 1.2 2007/02/20 22:40:55 waterbug Exp $ from twisted.python import log -from twisted.web.xmlrpc import XMLRPC -from twisted.web import resource +from twisted.web2.xmlrpc import XMLRPC +from twisted.web2.iweb import IResource from pangalactic.repo.pger import PGER @@ -19,7 +19,7 @@ interface to a Node configured with a PGER Service. """ - __implements__ = resource.IResource + __implements__ = IResource def __init__(self, userid=None): XMLRPC.__init__(self) From waterbug at step.nasa.gov Thu Feb 22 18:53:36 2007 From: waterbug at step.nasa.gov (waterbug CVS) Date: Thu Feb 22 18:53:38 2007 Subject: [pangalactic-commits] Use PANGALAXIAN env for VGER, too ... Message-ID: <200702222353.l1MNraJO021721@ned.gsfc.nasa.gov> Modified files: PanGalactic/pangalactic/meta/registry.py 1.168 1.169 PanGalactic/pangalactic/repo/chronosynclastic.py 1.110 1.111 PanGalactic/pangalactic/repo/pger.py 1.142 1.143 PanGalactic/pangalactic/vger/vgerd 1.3 1.4 PanGalactic/pangalactic/vger/vgerd.py 1.11 1.12 Log message: Use PANGALAXIAN env for VGER, too ... including VGER's log, etc. VGER now uses the orb and the PANGALAXIAN env var as its "home" dir (no VGER env var any more). Index: PanGalactic/pangalactic/vger/vgerd.py diff -u PanGalactic/pangalactic/vger/vgerd.py:1.11 PanGalactic/pangalactic/vger/vgerd.py:1.12 --- PanGalactic/pangalactic/vger/vgerd.py:1.11 Sat Feb 17 17:14:37 2007 +++ PanGalactic/pangalactic/vger/vgerd.py Thu Feb 22 18:53:34 2007 @@ -3,10 +3,10 @@ Galactic Services. The first service is the repository service, PGER (the Pan Galactic Entropy Reverser). -@version: $Revision: 1.11 $ +@version: $Revision: 1.12 $ """ -__version__ = "$Revision: 1.11 $"[11:-2] +__version__ = "$Revision: 1.12 $"[11:-2] # $Source: /repo/step_testbed/PanGalactic/pangalactic/vger/vgerd.py,v $ import os @@ -33,7 +33,7 @@ # set up home directory -home = os.environ['VGER'] +home = os.environ['PANGALAXIAN'] pluginpath = os.path.join(home, 'plugins') owlpath = os.path.join(pluginpath, 'owl') if not os.path.exists(pluginpath): @@ -49,7 +49,7 @@ application = Application('VGER') # TODO: make this more elegantly configured -pgerhub = Pger(home=home) +pgerhub = Pger() pgerhub.setServiceParent(application) pgerchkr = pgerhub.credchkr Index: PanGalactic/pangalactic/vger/vgerd diff -u PanGalactic/pangalactic/vger/vgerd:1.3 PanGalactic/pangalactic/vger/vgerd:1.4 --- PanGalactic/pangalactic/vger/vgerd:1.3 Sat Feb 17 17:14:37 2007 +++ PanGalactic/pangalactic/vger/vgerd Thu Feb 22 18:53:34 2007 @@ -6,12 +6,12 @@ echo $usage exit 1 fi -if [ -z $VGER ]; then - echo 'env var VGER must be defined.' +if [ -z $PANGALAXIAN ]; then + echo 'env var PANGALAXIAN must be defined.' exit 1 fi -cd $VGER +cd $PANGALAXIAN case $1 in start) Index: PanGalactic/pangalactic/meta/registry.py diff -u PanGalactic/pangalactic/meta/registry.py:1.168 PanGalactic/pangalactic/meta/registry.py:1.169 --- PanGalactic/pangalactic/meta/registry.py:1.168 Tue Feb 13 04:16:06 2007 +++ PanGalactic/pangalactic/meta/registry.py Thu Feb 22 18:53:32 2007 @@ -1,9 +1,9 @@ -# $Id: registry.py,v 1.168 2007/02/13 09:16:06 waterbug Exp $ +# $Id: registry.py,v 1.169 2007/02/22 23:53:32 waterbug Exp $ """ Pan Galactic Meta Object Registry -@version: $Revision: 1.168 $ +@version: $Revision: 1.169 $ The C{PanGalacticRegistry} maintains an in-memory cache of the PanGalactic ('pgef') core ontology (the C{Interface} instances that are the C{_schema}s of @@ -12,7 +12,7 @@ objects and in marshalling/unmarshalling existing objects in a PanGalactic application. """ -__version__ = "$Revision: 1.168 $"[11:-2] +__version__ = "$Revision: 1.169 $"[11:-2] # Python import glob @@ -41,7 +41,7 @@ from pangalactic.utils.safe import safe_eval -def clearRegistryCache(cachepath): +def removeRegistryCache(cachepath): """ Remove all cached files from a registry cache directory. This may be useful in the process of initializing a new version of an application ontology. @@ -92,14 +92,10 @@ @type refs: C{dict} """ - def __init__(self, server=False, debug=False, test_home=None): + def __init__(self, debug=False, test_home=None): """ Initialize the registry. - @param server: a flag indicating whether this registry is attached to a - server (VGER) node or a client (PanGalaxian) node. - @type server: C{bool} - @param debug: a flag indicating whether the registry is being run in debug mode; if C{True}, logging goes to stdout. @type debug: C{bool} @@ -109,24 +105,15 @@ @type test_home: C{None} or C{str} """ # Logging: - # * server mode: (server=True) uses VGER's log (twisted.python.log) - # * client mode: (server=False, debug=False) PanGalaxian starts + # * normal mode: (debug=False) PanGalaxian starts # registry logging with an explicit call to # 'startLogging' (it has to determine its home # directory first); # * debug mode: (debug=True) logging goes to stdout. - self.server = server if debug: class logger: pass self.log = logger() self.log.info = self.log.debug = pprint - elif server: - from twisted.python import log - # make log.info calls (stdlib name) into calls to twisted's log.msg - log.info = log.msg - log.debug = lambda x: log.msg(x, debug=True) - self.log = log - self.log.info('initializing registry logging.') else: # start in-memory logging until we get a file to write to ... class logger: pass @@ -134,22 +121,13 @@ self.log.temp = [] self.log.info = lambda x: self.log.temp.append(x) self.log.debug = lambda x: self.log.temp.append(x) + self.log.info('initializing registry logging.') self.sources = {} self.interfaces = {} self.properties = {} self.extracts = {} self.interface_base_order = [] self.createCoreMetaObjects() - # [NOTE: if server=False (e.g. on a client (PanGalaxian) node), - # importApplicationOntologies is called by the orb (getAppOntologies()) - # after the home directory has been specified, which is why it's not - # called here in __init__.] - if server: - vgerpath = os.environ.get('VGER') - if vgerpath is not None: - self.importApplicationOntologies(vgerpath) - else: - raise ValueError, 'You must define the VGER env variable.' if test_home is not None: self.importApplicationOntologies(test_home) # self.read_only = list(READ_ONLY) # not used here! @@ -163,18 +141,17 @@ def startLogging(self): """ - Begin a client registry log. + Begin registry logging. """ - if not self.server: - self.templog = None - if hasattr(self, 'log') and hasattr(self.log, 'temp'): - self.templog = self.log.temp - import logging - if hasattr(logging, 'filename'): - self.log = logging.getLogger('registry') - if self.templog: - for line in self.templog: - self.log.info(line) + self.templog = None + if hasattr(self, 'log') and hasattr(self.log, 'temp'): + self.templog = self.log.temp + import logging + if hasattr(logging, 'filename'): + self.log = logging.getLogger('registry') + if self.templog: + for line in self.templog: + self.log.info(line) def createCoreMetaObjects(self, module='pangalactic.meta.names'): """ @@ -286,10 +263,9 @@ Import application ontologies from source files. Application ontologies are imported from OWL files found in the - 'plugins/owl' subdirectory of a PanGalaxian node's home directory or - PGER server's home directory. Each application ontology may span - multiple OWL files, but each OWL file may contain only a single - ontology or a fraction thereof. + 'plugins/owl' subdirectory of a PanGalaxian node's home directory home + directory. Each application ontology may span multiple OWL files, but + each OWL file may contain only a single ontology or a fraction thereof. @param homedir: directory in which the plugins directory lives @type homedir: C{str} Index: PanGalactic/pangalactic/repo/pger.py diff -u PanGalactic/pangalactic/repo/pger.py:1.142 PanGalactic/pangalactic/repo/pger.py:1.143 --- PanGalactic/pangalactic/repo/pger.py:1.142 Mon Feb 12 19:02:46 2007 +++ PanGalactic/pangalactic/repo/pger.py Thu Feb 22 18:53:33 2007 @@ -1,10 +1,10 @@ -# $Id: pger.py,v 1.142 2007/02/13 00:02:46 waterbug Exp $ +# $Id: pger.py,v 1.143 2007/02/22 23:53:33 waterbug Exp $ """ Pan Galactic Entropy Reverser module -@version: $Revision: 1.142 $ +@version: $Revision: 1.143 $ """ -__version__ = "$Revision: 1.142 $"[11:-2] +__version__ = "$Revision: 1.143 $"[11:-2] import base64 import sys @@ -50,7 +50,7 @@ """ MultiService.__init__(self) self.setName('PGER') - vgerpath = os.environ.get('VGER') + vgerpath = os.environ.get('PANGALAXIAN') if vgerpath is None: self.vault = 'vault' else: Index: PanGalactic/pangalactic/repo/chronosynclastic.py diff -u PanGalactic/pangalactic/repo/chronosynclastic.py:1.110 PanGalactic/pangalactic/repo/chronosynclastic.py:1.111 --- PanGalactic/pangalactic/repo/chronosynclastic.py:1.110 Tue Feb 13 04:18:58 2007 +++ PanGalactic/pangalactic/repo/chronosynclastic.py Thu Feb 22 18:53:33 2007 @@ -1,12 +1,12 @@ -# $Id: chronosynclastic.py,v 1.110 2007/02/13 09:18:58 waterbug Exp $ +# $Id: chronosynclastic.py,v 1.111 2007/02/22 23:53:33 waterbug Exp $ """ The Chronosynclastic Infundibulum: an asynchronous, ontology-driven object-relational mapping and database interface. -@version: $Revision: 1.110 $ +@version: $Revision: 1.111 $ """ -__version__ = "$Revision: 1.110 $"[11:-2] +__version__ = "$Revision: 1.111 $"[11:-2] import os import re @@ -22,7 +22,7 @@ from twisted.python import log # PanGalactic imports -from pangalactic.meta.registry import PanGalacticRegistry +# from pangalactic.meta.registry import PanGalacticRegistry from pangalactic.node.uberorb import orb from pangalactic.utils import sql from pangalactic.utils.datetimes import dt2str, str2dt, dtstamp