[Checkins] SVN: lovely.remotetask/trunk/ - version to 0.3

Christian Zagrodnick cz at gocept.com
Sun Apr 5 10:23:40 EDT 2009


Log message for revision 98870:
  - version to 0.3
  
  - added long_description
  
  - REST syntax fixes
  
  

Changed:
  U   lovely.remotetask/trunk/CHANGES.txt
  U   lovely.remotetask/trunk/setup.py
  U   lovely.remotetask/trunk/src/lovely/remotetask/README.txt

-=-
Modified: lovely.remotetask/trunk/CHANGES.txt
===================================================================
--- lovely.remotetask/trunk/CHANGES.txt	2009-04-05 14:22:47 UTC (rev 98869)
+++ lovely.remotetask/trunk/CHANGES.txt	2009-04-05 14:23:39 UTC (rev 98870)
@@ -3,7 +3,7 @@
 =============================
 
 2009/01/28 (...):
-=================
+-----------------
 
 - Use dropdown widget with available tasks in the cron job
   adding form, instead of text input.
@@ -22,19 +22,19 @@
 
 
 2008/11/07 0.2.15a1:
-====================
+--------------------
 
 - running could cause an AttributeError. added handling for it
 
 2008/02/08 0.2.14:
-==================
+------------------
 
 - commiting after each 100 jobs during 'clearAll' to avoid browser timeouts
   while canceling a huge amount of jobs
 
 
 2008/01/28 (new):
-=================
+-----------------
 
 - Some bugs smashed, improved tests.
 
@@ -43,7 +43,7 @@
 
 
 2007/12/?? (new):
-=================
+-----------------
 
 - Switched index to Zope 3.4 KGS, so that we agree on used package versions.
 
@@ -56,14 +56,14 @@
 
 
 2007/11/12 0.2.13:
-==================
+------------------
 
 - added "cancel all" button
 - fixed bug in associating threads with task service instances
 
 
 2007/10/28 0.2.12:
-==================
+------------------
 
 - make the startup more robust
   If an already registered task service is remove via ZMI it's registration is
@@ -72,7 +72,7 @@
 
 
 2007/10/28 0.2.11:
-==================
+------------------
 
 - allow '*' to select all possible times in the cron job add/edit forms
 
@@ -80,25 +80,25 @@
 
 
 2007/10/24 0.2.10:
-==================
+------------------
 
 - avoided deprecation warnings
 
 
 2007/10/08 0.2.9:
-=================
+-----------------
 
 - don't push a cron job back into the queue if it's status is ERROR
 
 
 2007/10/08 0.2.8:
-=================
+-----------------
 
 - enhanced logging during startup
 
 
 2007/10/02 0.2.7:
-=================
+-----------------
 
 - added index to buildout.cfg
 - enhanced autostart behaviour: Services can be started like: site@*,
@@ -106,25 +106,25 @@
 
 
 2007/08/07 0.2.6:
-=================
+-----------------
 
 - fix bug in sorting that causes column headers to never be clickable
 
 
 2007/08/07 0.2.5:
-=================
+-----------------
 
 - no longer require session support for "Jobs" ZMI view
 
 
 2007/08/06 0.2.4:
-=================
+-----------------
 
 - fix bug that caused processing thread to keep the process alive unnecessarily
 
 
 2007/07/26 0.2.3:
-=================
+-----------------
 
 - Now handles the use-case where a task service is registered directly at the
   root. References to such services in the product configuration must begin
@@ -132,7 +132,7 @@
 
 
 2007/07/02 0.2.2:
-=================
+-----------------
 
 - ZMI menu to add cron jobs to a task service
 - named detail views can be registered for jobs specific to the task
@@ -143,14 +143,14 @@
 
 
 2007/06/12 0.2.1:
-=================
+-----------------
 
 - Do not raise IndexError because of performance problems with tracebacks when
   using eggs.
 
 
 2007/06/12 0.2.0:
-=================
+-----------------
 
  - added namespace declaration in lovely/__init__.py
  - allow to delay a job

Modified: lovely.remotetask/trunk/setup.py
===================================================================
--- lovely.remotetask/trunk/setup.py	2009-04-05 14:22:47 UTC (rev 98869)
+++ lovely.remotetask/trunk/setup.py	2009-04-05 14:23:39 UTC (rev 98870)
@@ -1,12 +1,22 @@
 #!python
 from setuptools import setup, find_packages
+import os.path
 
+
+def read(*names):
+    return open(os.path.join(os.path.dirname(__file__), *names)).read()
+
+
 setup (
     name='lovely.remotetask',
-    version='0.2.15a1',
+    version='0.3dev',
     author = "Lovely Systems",
     author_email = "office at lovelysystems.com",
     description = "A remotetask client utiltiy for zope 3",
+    long_description=(
+        read('src', 'lovely', 'remotetask', 'README.txt')
+        + '\n\n'
+        + read('CHANGES.txt')),
     license = "ZPL 2.1",
     keywords = "zope3 zope remotetask cache ram",
     url = 'http://pypi.python.org/pypi/lovely.remotetask',

Modified: lovely.remotetask/trunk/src/lovely/remotetask/README.txt
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/README.txt	2009-04-05 14:22:47 UTC (rev 98869)
+++ lovely.remotetask/trunk/src/lovely/remotetask/README.txt	2009-04-05 14:23:39 UTC (rev 98870)
@@ -2,6 +2,8 @@
 Remote Task Execution
 =====================
 
+.. contents::
+
 This package provides an implementation of a remote task execution Web service
 that allows to execute pre-defined tasks on another server. It is also
 possible to run cron jobs at specific times. Those services are useful in two
@@ -151,7 +153,7 @@
 registered at the root. We test this use-case in a separate footnote so that
 the flow of this document is not broken. [#1]_
 
-To get a clean logging environment let's clear the logging stack::
+To get a clean logging environment let's clear the logging stack:
 
   >>> log_info.clear()
 
@@ -166,7 +168,7 @@
   >>> conn.root()[ZopePublication.root_name] = root
   >>> transaction.commit()
 
-Fire the event::
+Fire the event:
 
   >>> from zope.app.appsetup.interfaces import DatabaseOpenedWithRoot
   >>> from lovely.remotetask.service import bootStrapSubscriber
@@ -178,7 +180,7 @@
   >>> service.isProcessing()
   True
 
-Checking out the logging will prove the started service::
+Checking out the logging will prove the started service:
 
   >>> print log_info
   lovely.remotetask INFO
@@ -195,9 +197,9 @@
 
 To deal with a lot of services in one sites it will be possible to use
 asterisks (*) to start services. In case of using site@* means start all
-services in that site::
+services in that site:
 
-But first stop all processing services::
+But first stop all processing services:
 
   >>> service.stopProcessing()
   >>> service.isProcessing()
@@ -209,18 +211,18 @@
 
   >>> import time; time.sleep(STOP_SLEEP_TIME)
 
-And reset the logger::
+And reset the logger:
 
   >>> log_info.clear()
 
-Reset the product configuration with the asterisked service names::
+Reset the product configuration with the asterisked service names:
 
   >>> config.mapping['autostart'] = 'site1@*'
   >>> setProductConfigurations([config])
   >>> getAutostartServiceNames()
   ['site1@*']
 
-Firing the event again will start all services in the configured site::
+Firing the event again will start all services in the configured site:
 
   >>> bootStrapSubscriber(event)
 
@@ -230,7 +232,7 @@
   >>> root_service.isProcessing()
   False
 
-Let's checkout the logging::
+Let's checkout the logging:
 
   >>> print log_info
   lovely.remotetask INFO
@@ -240,7 +242,7 @@
 
 To deal with a lot of services in a lot of sites it possible to use
 asterisks (*) to start services. In case of using *@* means start all
-services on all sites::
+services on all sites:
 
   >>> service.stopProcessing()
   >>> service.isProcessing()
@@ -248,18 +250,18 @@
 
   >>> import time; time.sleep(STOP_SLEEP_TIME)
 
-Reset the product configuration with the asterisked service names::
+Reset the product configuration with the asterisked service names:
 
   >>> config.mapping['autostart'] = '*@*'
   >>> setProductConfigurations([config])
   >>> getAutostartServiceNames()
   ['*@*']
 
-...and reset the logger::
+...and reset the logger:
 
   >>> log_info.clear()
 
-And fire the event again. All services should be started now::
+And fire the event again. All services should be started now:
 
   >>> bootStrapSubscriber(event)
 
@@ -269,7 +271,7 @@
   >>> root_service.isProcessing()
   True
 
-Let's check the logging::
+Let's check the logging:
 
   >>> print log_info
   lovely.remotetask INFO
@@ -281,8 +283,8 @@
 
 
 To deal with a specific service in a lot of sites it possible to use
-asterisks (*) to start services. In case of using *@service means start the
-service called `service` on all sites::
+asterisks (*) to start services. In case of using \*@service means start the
+service called `service` on all sites:
 
   >>> service.stopProcessing()
   >>> service.isProcessing()
@@ -294,18 +296,18 @@
 
   >>> import time; time.sleep(STOP_SLEEP_TIME)
 
-Reset the product configuration with the asterisked service names::
+Reset the product configuration with the asterisked service names:
 
   >>> config.mapping['autostart'] = '*@TestTaskService1'
   >>> setProductConfigurations([config])
   >>> getAutostartServiceNames()
   ['*@TestTaskService1']
 
-...and reset the logger::
+...and reset the logger:
 
   >>> log_info.clear()
 
-And fire the event again. All services should be started now::
+And fire the event again. All services should be started now:
 
   >>> bootStrapSubscriber(event)
 
@@ -315,7 +317,7 @@
   >>> root_service.isProcessing()
   False
 
-Let's checkout the logging::
+Let's checkout the logging:
 
   >>> print log_info
   lovely.remotetask INFO
@@ -324,7 +326,7 @@
     service TestTaskService1 on site site1 started
 
 In case of configuring a directive which does not match any service on
-any site logging will show a warning message::
+any site logging will show a warning message:
 
   >>> service.stopProcessing()
   >>> service.isProcessing()
@@ -605,7 +607,7 @@
 the database.
 
 Let's start the task services we have defined at this point, and see
-what threads are running as a result::
+what threads are running as a result:
 
   >>> service.startProcessing()
   >>> root_service.startProcessing()
@@ -624,7 +626,7 @@
    <Thread(remotetasks.site1.++etc++site.default.testTaskService1, started daemon)>]
 
 Let's add a second site containing a task service with the same name as the
-service in the first site::
+service in the first site:
 
   >>> site2 = Folder()
   >>> service2 = remotetask.TaskService()
@@ -636,18 +638,18 @@
   >>> sm['default']['testTaskService1'] = service2
   >>> service2 = sm['default']['testTaskService1'] # caution! proxy
 
-Let's register it under the name `TestTaskService1`::
+Let's register it under the name `TestTaskService1`:
 
   >>> sm = site2.getSiteManager()
   >>> sm.registerUtility(
   ...     service2, interfaces.ITaskService, name='TestTaskService1')
 
 The service requires that it's been committed to the database before it can
-be used::
+be used:
 
   >>> transaction.commit()
 
-The new service isn't currently processing::
+The new service isn't currently processing:
 
   >>> service2.isProcessing()
   False
@@ -662,7 +664,7 @@
    <Thread(remotetasks.site2.++etc++site.default.testTaskService1, started daemon)>]
 
 Let's stop the services, and give the background threads a chance to get the
-message::
+message:
 
   >>> service.stopProcessing()
   >>> service2.stopProcessing()
@@ -670,7 +672,7 @@
 
   >>> import time; time.sleep(STOP_SLEEP_TIME)
 
-The threads have exited now::
+The threads have exited now:
 
   >>> print [t for t in threading.enumerate()
   ...        if t.getName().startswith('remotetasks.')]
@@ -688,7 +690,7 @@
      >>> component.provideUtility(root_service, interfaces.ITaskService,
      ...                          name='RootTaskService')
 
-   The object should be located, so it get's a name::
+   The object should be located, so it get's a name:
 
      >>> root['rootTaskService'] = root_service
      >>> root_service = root['rootTaskService'] # caution! proxy
@@ -750,4 +752,4 @@
   >>> verifyObject(interfaces.ICronJob, fakecronjob)
   True
   >>> interfaces.IJob.providedBy(fakecronjob)
-  True
\ No newline at end of file
+  True



More information about the Checkins mailing list