User:Enus Linden/Pyogp Refactor Notes
Revision as of 21:56, 18 August 2009 by Enus Linden (talk | contribs)
I'll keep track generally of what I do here. Sometimes it will be very explicit, particularly when dealing with architecture, other times it will just be narrative...
Step 1
ToDo List: 1. move all license info to top of file in trunk of pyogp.lib.base, with a new line at the top so Sphinx doesn't capture it... Done: 1. removed the obvious directories Last revision prior to the refactor starting. enus$ svn info Path: . URL: https://svn.secondlife.com/svn/linden/projects/2008/pyogp Repository Root: https://svn.secondlife.com/svn/linden Repository UUID: a6265765-422e-0410-accc-9fb60e44a920 Revision: 2596 Node Kind: directory Schedule: normal Last Changed Author: kotler.linden Last Changed Rev: 2595 Last Changed Date: 2009-08-10 14:51:57 -0700 (Mon, 10 Aug 2009) Directory listing of the root of https://svn.secondlife.com/svn/linden/projects/2008/pyogp: enus$ ls -l | awk -F" " '{print $9}' CONTRIBUTORS.txt LICENSE.txt apps buildouts examples indra pyogp.interop pyogp.lib.agentdomain pyogp.lib.base pyogp.testharness sandbox tests First steps: clean up the root directory of cruft... https://svn.secondlife.com/svn/linden/projects/2008/pyogp should be the home for a set of packages, nothing more. To accomplish this, we need to: create pyogp.apps as a package create pyogp.test (move pyogp.interop components here, create a new test wrapper) removes apps/ (depends on: create pyogp.apps as a package) remove examples/ remove indra/ remove sandbox/ remove tests/ we'll also get rid of buildouts/, but must first come up with alternate install/config instructions CONTRIBUTORS.txt and LICENSE.txt need to move to each package Done: 1. removed the examples directory enus$ svn log examples ------------------------------------------------------------------------ r1348 | tao.takashi | 2008-10-23 14:09:06 -0700 (Thu, 23 Oct 2008) | 29 lines enus$ svn delete examples D examples/simplelogin/login.py D examples/simplelogin/README.txt D examples/simplelogin D examples/presence/presence/configure.zcml D examples/presence/presence/__init__.py D examples/presence/presence/test1.py D examples/presence/presence/events.py D examples/presence/presence D examples/presence/setup.py D examples/presence/setup.cfg D examples/presence D examples/old_scripts/makepacketdict.py D examples/old_scripts/zerocode.py D examples/old_scripts/legacy/presence_code.py D examples/old_scripts/legacy D examples/old_scripts/README.txt D examples/old_scripts/pyogp-login.py D examples/old_scripts D examples/README.txt D examples 2. removed the indra directory enus$ svn log indra ------------------------------------------------------------------------ r1189 | enus.linden | 2008-09-16 10:46:22 -0700 (Tue, 16 Sep 2008) | 1 line enus$ svn delete --force indra D indra/indra.base/trunk/setup.py D indra/indra.base/trunk/docs/HISTORY.txt D indra/indra.base/trunk/docs D indra/indra.base/trunk/README.txt D indra/indra.base/trunk/indra/__init__.py D indra/indra.base/trunk/indra/base/lllog.py D indra/indra.base/trunk/indra/base/tests/testDocTests.py D indra/indra.base/trunk/indra/base/tests/__init__.py D indra/indra.base/trunk/indra/base/tests/indrabase.txt D indra/indra.base/trunk/indra/base/tests D indra/indra.base/trunk/indra/base/llsd.py D indra/indra.base/trunk/indra/base/lluuid.py D indra/indra.base/trunk/indra/base/__init__.py D indra/indra.base/trunk/indra/base/cllsd_test.py D indra/indra.base/trunk/indra/base/config.py D indra/indra.base/trunk/indra/base/metrics.py D indra/indra.base/trunk/indra/base D indra/indra.base/trunk/indra D indra/indra.base/trunk/setup.cfg D indra/indra.base/trunk D indra/indra.base/branches D indra/indra.base/tags D indra/indra.base D indra/buildout/bootstrap.py D indra/buildout/buildout.cfg D indra/buildout/src/EXTERNAlS.txt D indra/buildout/src D indra/buildout D indra/indra.ipc/trunk/indra.ipc.egg-info/SOURCES.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/top_level.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/namespace_packages.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/PKG-INFO D indra/indra.ipc/trunk/indra.ipc.egg-info/entry_points.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/dependency_links.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/not-zip-safe D indra/indra.ipc/trunk/indra.ipc.egg-info/paster_plugins.txt D indra/indra.ipc/trunk/indra.ipc.egg-info/requires.txt D indra/indra.ipc/trunk/indra.ipc.egg-info D indra/indra.ipc/trunk/setup.py D indra/indra.ipc/trunk/docs/HISTORY.txt D indra/indra.ipc/trunk/docs D indra/indra.ipc/trunk/README.txt D indra/indra.ipc/trunk/indra/__init__.py D indra/indra.ipc/trunk/indra/ipc/siesta.py D indra/indra.ipc/trunk/indra/ipc/webdav.py D indra/indra.ipc/trunk/indra/ipc/compatibility.py D indra/indra.ipc/trunk/indra/ipc/llmessage.py D indra/indra.ipc/trunk/indra/ipc/russ.py D indra/indra.ipc/trunk/indra/ipc/tokenstream.py D indra/indra.ipc/trunk/indra/ipc/httputil.py D indra/indra.ipc/trunk/indra/ipc/llsdhttp.py D indra/indra.ipc/trunk/indra/ipc/mysql_pool.py D indra/indra.ipc/trunk/indra/ipc/saranwrap.py D indra/indra.ipc/trunk/indra/ipc/__init__.py D indra/indra.ipc/trunk/indra/ipc/xml_rpc.py D indra/indra.ipc/trunk/indra/ipc/servicebuilder.py D indra/indra.ipc/trunk/indra/ipc/siesta_test.py D indra/indra.ipc/trunk/indra/ipc D indra/indra.ipc/trunk/indra D indra/indra.ipc/trunk/setup.cfg D indra/indra.ipc/trunk D indra/indra.ipc/branches D indra/indra.ipc/tags D indra/indra.ipc D indra/indra.util/trunk/setup.py D indra/indra.util/trunk/docs/HISTORY.txt D indra/indra.util/trunk/docs D indra/indra.util/trunk/README.txt D indra/indra.util/trunk/indra/__init__.py D indra/indra.util/trunk/indra/util/named_query.py D indra/indra.util/trunk/indra/util/shutil2.py D indra/indra.util/trunk/indra/util/helpformatter.py D indra/indra.util/trunk/indra/util/llversion.py D indra/indra.util/trunk/indra/util/llmanifest.py D indra/indra.util/trunk/indra/util/__init__.py D indra/indra.util/trunk/indra/util/llsubprocess.py D indra/indra.util/trunk/indra/util/fastest_elementtree.py D indra/indra.util/trunk/indra/util/term.py D indra/indra.util/trunk/indra/util D indra/indra.util/trunk/indra D indra/indra.util/trunk/setup.cfg D indra/indra.util/trunk D indra/indra.util/branches D indra/indra.util/tags D indra/indra.util D indra 3. removed the sandbox directory enus$ svn log sandbox ------------------------------------------------------------------------ r1189 | enus.linden | 2008-09-16 10:46:22 -0700 (Tue, 16 Sep 2008) | 1 line enus$ svn delete sandbox D sandbox/trunk/setup.py D sandbox/trunk/sandbox/__init__.py D sandbox/trunk/sandbox/mrtopf/zerocode.py D sandbox/trunk/sandbox/mrtopf/example1.py D sandbox/trunk/sandbox/mrtopf/__init__.py D sandbox/trunk/sandbox/mrtopf/notes/highlevel_api1.txt D sandbox/trunk/sandbox/mrtopf/notes D sandbox/trunk/sandbox/mrtopf/networktest/1/client.py D sandbox/trunk/sandbox/mrtopf/networktest/1/server.py D sandbox/trunk/sandbox/mrtopf/networktest/1 D sandbox/trunk/sandbox/mrtopf/networktest/2/connection.py D sandbox/trunk/sandbox/mrtopf/networktest/2/threadedclient.py D sandbox/trunk/sandbox/mrtopf/networktest/2/threadedclient2.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/selectudp.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/threadedudp.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/threadedudp2.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/twistedudp.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/__init__.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network/t.py D sandbox/trunk/sandbox/mrtopf/networktest/2/network D sandbox/trunk/sandbox/mrtopf/networktest/2/twistedclient.py D sandbox/trunk/sandbox/mrtopf/networktest/2/t.py D sandbox/trunk/sandbox/mrtopf/networktest/2/twistedclient2.py D sandbox/trunk/sandbox/mrtopf/networktest/2/server.py D sandbox/trunk/sandbox/mrtopf/networktest/2 D sandbox/trunk/sandbox/mrtopf/networktest/3/client.py D sandbox/trunk/sandbox/mrtopf/networktest/3/server.py D sandbox/trunk/sandbox/mrtopf/networktest/3 D sandbox/trunk/sandbox/mrtopf/networktest/4/server2.py D sandbox/trunk/sandbox/mrtopf/networktest/4/mclient-1.py D sandbox/trunk/sandbox/mrtopf/networktest/4/mclient.py D sandbox/trunk/sandbox/mrtopf/networktest/4/mclient2.py D sandbox/trunk/sandbox/mrtopf/networktest/4/client.py D sandbox/trunk/sandbox/mrtopf/networktest/4/mclient3.py D sandbox/trunk/sandbox/mrtopf/networktest/4/mclient4.py D sandbox/trunk/sandbox/mrtopf/networktest/4/readme D sandbox/trunk/sandbox/mrtopf/networktest/4/server.py D sandbox/trunk/sandbox/mrtopf/networktest/4 D sandbox/trunk/sandbox/mrtopf/networktest/README.txt D sandbox/trunk/sandbox/mrtopf/networktest D sandbox/trunk/sandbox/mrtopf/._zerocode.py D sandbox/trunk/sandbox/mrtopf D sandbox/trunk/sandbox D sandbox/trunk/setup.cfg D sandbox/trunk D sandbox/branches D sandbox/tags D sandbox 4. removed the tests directory enus$ svn log tests ------------------------------------------------------------------------ r734 | tess.linden | 2008-07-03 16:43:08 -0700 (Thu, 03 Jul 2008) | 1 line enus$ svn delete tests D tests/simulator D tests/test_rez_avatar.py D tests/agentdomain D tests/test.py D tests/test_request_rez_avatar.py D tests/test_derez_avatar.py D tests/client D tests 5. check it all in: enus$ svn ci -m "removing nonessential root directories" . Deleting examples Deleting indra Deleting sandbox Deleting tests Committed revision 2602.
Step 2
Clean up directories in pyogp.lib.base/branches enus$ ls -l | awk -F" " '{print $9}' appearance appearance2 asset_upload callback-refactor combined_message_handling enus-refactor inventory_extension kotler_tests mrtopf-networklayer wx-base enus$ svn ci -m "removing unneeded branches" --username enus.linden . Deleting branches/callback-refactor Deleting branches/combined_message_handling Deleting branches/enus-refactor Deleting branches/inventory_extension Deleting branches/mrtopf-networklayer Deleting branches/wx-base Committed revision 2611. Clean up other base dirs enus$ svn delete pyogp.testharness/ D pyogp.testharness enus$ svn ci -m "removing unused package namespace" --username enus.linden . Deleting pyogp.testharness Committed revision 2612. Updated and distributed CONTRIBUTORS.txt LICENSE.txt and README.txt enus$ svn ci -m "moving LICENSE.txt and CONTRIBUTORS.txt into the proper locations" --username enus.linden Deleting CONTRIBUTORS.txt Deleting LICENSE.txt Adding pyogp.interop/trunk/CONTRIBUTORS.txt Adding pyogp.interop/trunk/LICENSE.txt Adding pyogp.lib.agentdomain/trunk/CONTRIBUTORS.txt Adding pyogp.lib.agentdomain/trunk/LICENSE.txt Sending pyogp.lib.agentdomain/trunk/README.txt Adding pyogp.lib.base/trunk/CONTRIBUTORS.txt Adding pyogp.lib.base/trunk/LICENSE.txt Adding pyogp.lib.base/trunk/README.txt Transmitting file data ........ Committed revision 2614. Remove extra buildout branch enus$ svn delete --force buildouts/xrds_support D buildouts/xrds_support/trunk/IGNORES.txt D buildouts/xrds_support/trunk/bootstrap.py D buildouts/xrds_support/trunk/buildout.cfg D buildouts/xrds_support/trunk/src/EXTERNALS.txt D buildouts/xrds_support/trunk/src D buildouts/xrds_support/trunk D buildouts/xrds_support/branches D buildouts/xrds_support/tags D buildouts/xrds_support enus$ svn ci -m "removing unnecessary branch" --username enus.linden Deleting buildouts/xrds_support Committed revision 2615. Removing extra pyogp.interop branch enus$ svn delete ./pyogp.interop/branches/enus-refactor D pyogp.interop/branches/enus-refactor/setup.py D pyogp.interop/branches/enus-refactor/docs/HISTORY.txt D pyogp.interop/branches/enus-refactor/docs D pyogp.interop/branches/enus-refactor/README.txt D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_agent_session.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_place.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_legacy_login.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_region_connect.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_request.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/__init__.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_agent_info.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_movement.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/helpers.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_teleport.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_rez.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/chat_window.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_get_region_public_seed.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_presence.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_login.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_rez_avatar_derez.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_agentdomain_event_queues.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_ogp_cap_region_info.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests/test_sim_chat.py D pyogp.interop/branches/enus-refactor/pyogp/interop/tests D pyogp.interop/branches/enus-refactor/pyogp/interop/__init__.py D pyogp.interop/branches/enus-refactor/pyogp/interop/testconfig_template.cfg D pyogp.interop/branches/enus-refactor/pyogp/interop D pyogp.interop/branches/enus-refactor/pyogp/__init__.py D pyogp.interop/branches/enus-refactor/pyogp D pyogp.interop/branches/enus-refactor/setup.cfg D pyogp.interop/branches/enus-refactor enus$ svn ci -m "removing unnecessary branch" --username enus.linden Deleting pyogp.interop/branches/enus-refactor Committed revision 2616. We are left with this core directory structure: [22:39:23] [enus@sune] pyogp$ ls -l | awk -F" " '{print $9}' apps buildouts pyogp.interop pyogp.lib.agentdomain pyogp.lib.base So we can start on packaging improvements themselves next. First, to explore the pyogp.lib.base package, since that is our focus. We'll clean up other things down the road as needed.
Documentation
Wiki: Current: https://wiki.secondlife.com/wiki/PyOGP https://wiki.secondlife.com/wiki/PyOGP_Client_Library_Development_Sandbox https://wiki.secondlife.com/wiki/PyOGP_Client_Library https://wiki.secondlife.com/wiki/PyOGP_Client_Library_Development https://wiki.secondlife.com/wiki/PyOGP_Client_Library_File_System https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/Architecture https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/Packet https://wiki.secondlife.com/wiki/Pyogp/Documentation/Specification/pyogp.lib.base https://wiki.secondlife.com/wiki/Pyogp/Documentation/Specification/pyogp.interop