Personal tools
You are here: Home Zpydoc API Documentation Products.RPMDistro.ZSyncerSupport
Log in


Forgot your password?
 

 Products.RPMDistro.ZSyncerSupport  

Up one level
Products RPMDistro ZSyncerSupport
Classes
  class ZSyncerSupport ( ZSyncer )
Remote synchronisation support We've factored all our explicit version comparison stuff here as we don't need to rely on dodgy timestamps We also want to contain namespace polution
  Add ZSyncers
Implements IItem IDAVResource IWriteLock ICopySource ITraversable IOwned IUndoSupport IPersistentExtra IPersistent IAcquirer IRoleManager IPermissionMappingSupport IPropertyManager EtagBaseInterface
COPY(self, REQUEST, RESPONSE)
Create a duplicate of the source resource whose state and behavior match that of the source resource as closely as possible. Though we may later try to make a copy appear seamless across namespaces (e.g. from Zope to Apache), COPY is currently only supported within the Zope namespace.
DELETE(self, REQUEST, RESPONSE)
Delete a resource. For non-collection resources, DELETE may return either 200 or 204 (No Content) to indicate success.
HEAD(self, REQUEST, RESPONSE)
Retrieve resource information without a response body.
LOCK(self, REQUEST, RESPONSE)
Lock a resource
MKCOL(self, REQUEST, RESPONSE)
Create a new collection resource. If called on an existing resource, MKCOL must fail with 405 (Method Not Allowed).
MOVE(self, REQUEST, RESPONSE)
Move a resource to a new location. Though we may later try to make a move appear seamless across namespaces (e.g. from Zope to Apache), MOVE is currently only supported within the Zope namespace.
OPTIONS(self, REQUEST, RESPONSE)
Retrieve communication options.
PROPFIND(self, REQUEST, RESPONSE)
Retrieve properties defined on the resource.
PROPPATCH(self, REQUEST, RESPONSE)
Set and/or remove properties defined on the resource.
PUT(self, REQUEST, RESPONSE)
Replace the GET response entity of an existing resource. Because this is often object-dependent, objects which handle PUT should override the default PUT implementation with an object-specific implementation. By default, PUT requests fail with a 405 (Method Not Allowed).
TRACE(self, REQUEST, RESPONSE)
Return the HTTP message received back to the client as the entity-body of a 200 (OK) response. This will often usually be intercepted by the web server in use. If not, the TRACE request will fail with a 405 (Method Not Allowed), since it is not often possible to reproduce the HTTP request verbatim from within the Zope environment.
UNLOCK(self, REQUEST, RESPONSE)
Remove an existing lock on a resource.
default__class_init__(self)
destServer(self)
we can really only deal with one ZSyncer at a time, so this function filters any commented server(s) in the list, returning just the first
absolute_url(self, relative=0)
Return the absolute URL of the object. This a canonical URL based on the object's physical containment path. It is affected by the virtual host configuration, if any, and can be used by external agents, such as a browser, to address the object. If the relative argument is provided, with a true value, then the value of virtual_url_path() is returned. Some Products incorrectly use '/'+absolute_url(1) as an absolute-path reference. This breaks in certain virtual hosting situations, and should be changed to use absolute_url_path() instead.
absolute_url_path(self)
Return the path portion of the absolute URL of the object. This includes the leading slash, and can be used as an 'absolute-path reference' as defined in RFC 2396.
ac_inherited_permissions(self, all=0)
access_debug_info(self)
Return debug info.
acquiredRolesAreUsedBy(self, permission)
Used by management screen.
bobobase_modification_time(self)
callManyRemote(self, methodlist)
  ZSyncer: Use ZSyncer
Call multiple remote methods and return a list of return values, using as few requests as possible. methodlist should be a sequence of dictionaries with the following keys: 'path': (optional): path to the object on which to call the method, relative to the remote syncer's base. If not provided, the zsyncer itself is used. 'name': name of the method. 'args' (optional): list of positional arguments to pass. 'kwargs' (optional): dictionary of keyword arguments to pass.
callMethod_(self, path, method_name, *args, **kw)
  ZSyncer: Use ZSyncer
Call an arbitrary method (with security checks). *path* is path to the object. If it is None, the zsyncer itself will be used. *method_name* is method to call. Any result is returned. This is intended to be called by the client zsyncer, ONLY via callRemote(), but there is no way to enforce that. Note that for security reasons, you must have permission to use ZSyncer *and* to call the requested method in context.
callMethods_(self, methodlist)
  ZSyncer: Use ZSyncer
Call a list of arbitrary methods (with security checks). Return a list of results. *methodlist* is a list of dictionaries with these keys: 'path': path to the object on which to call the method, relative to the base folder. (optional, defaults to the syncer itself). 'name': name of the method. 'args' (optional): list of positional arguments to pass. 'kwargs' (optional): dictionary of keyword arguments to pass. This is intended to be called by the client zsyncer, ONLY via callManyRemote(), but there is no way to enforce that. Note that for security reasons, you must have permission to use ZSyncer *and* to call all the requested methods in context.
callRemote(self, server_url, path, method_name, *args, **kw)
  ZSyncer: Use ZSyncer
Find an arbitrary callable at *path* on the remote server, call it with the given arguments, and return the result. If *path* is None, it's the remote syncer itself.
call_(self, request, REQUEST=None)
  ZSyncer: Use ZSyncer
*request* (poorly named, but changing it breaks stuff) is not an HTTPRequest, rather it should be a pickled tuple containing method_name (string), arguments (a sequence), and keyword arguments (a dictionary). Return value is a pickled tuple of (success, value) where success is boolean and value is the return value of getattr(self, method_name)(*args, **kwargs)
cb_isCopyable(self)
cb_isMoveable(self)
cb_userHasCopyOrMovePermission(self)
changeOwnership(self, user, recursive=0)
Change the ownership to the given user. If 'recursive' is true then also take ownership of all sub-objects, otherwise sub-objects retain their ownership information.
class_manage_path(self)
dav__init(self, request, response)
dav__simpleifhandler(self, request, response, method='PUT', col=0, url=None, refresh=0)
dav__validate(self, object, methodname, REQUEST)
destServer(self)
  Access contents information
we can really only deal with one ZSyncer at a time, so this function filters any commented server(s) in the list, returning just the first
destServers(self)
  Access contents information
returns list of non-commented servers
filtered_manage_options(self, REQUEST=None)
getAttribute(self, name)
Retrieves an attribute value by name.
getAttributeNode(self, name)
Retrieves an Attr node by name or None if there is no such attribute.
getAttributes(self)
Returns a NamedNodeMap containing the attributes of this node (if it is an element) or None otherwise.
getChildNodes(self)
Returns a NodeList that contains all children of this node. If there are no children, this is a empty NodeList
getElementsByTagName(self, tagname)
Returns a NodeList of all the Elements with a given tag name in the order in which they would be encountered in a preorder traversal of the Document tree. Parameter: tagname The name of the tag to match (* = all tags). Return Value: A new NodeList object containing all the matched Elements.
getErrorAdvice(self, error_type, error_value)
  ZSyncer: Use ZSyncer
Given an error_type and error_value, say something helpful :-) This is a bit hacky because of having two connection methods that do different things.
getFirstChild(self)
The first child of this node. If there is no such node this returns None
getId(self)
Return the id of the object as a string. This method should be used in preference to accessing an id attribute of an object directly. The getId method is public.
getLastChild(self)
The last child of this node. If there is no such node this returns None.
getNextSibling(self)
The node immediately preceding this node. If there is no such node, this returns None.
getNodeName(self)
The name of this node, depending on its type
getNodeType(self)
A code representing the type of the node.
getNodeValue(self)
The value of this node, depending on its type
getOwner(self, info=0, aq_get=, UnownableOwner=[], getSecurityManager=)
Get the owner If a true argument is provided, then only the owner path and id are returned. Otherwise, the owner object is returned.
getOwnerDocument(self)
The Document object associated with this node. When this is a document this is None
getOwnerTuple(self)
Return a tuple, (userdb_path, user_id) for the owner. o Ownership can be acquired, but only from the containment path. o If unowned, return None.
getParentNode(self)
The parent of this node. All nodes except Document DocumentFragment and Attr may have a parent
getPathInfo(self, path)
  ZSyncer: Use ZSyncer
Useful for building UIs. Returns a dictionary with the following keys/values: 'full': absolute_url_path of the object (requires Zope 2.7 or higher). If the object is not found, assume it's an 'extra' object; then full = path. 'relative': string path to the object relative to this zsyncer. If the object is not found, assume it's an 'extra' object; in that case, full = path. 'id_or_path': string path relative to REQUEST['folder'] if REQUEST['recursive'] is true; otherwise, id (the final path element).
getPhysicalPath(self)
Get the physical path of the object. Returns a path (an immutable sequence of strings) that can be used to access this object again later, for example in a copy/paste operation. getPhysicalRoot() and getPhysicalPath() are designed to operate together.
getPreviousSibling(self)
The node immediately preceding this node. If there is no such node, this returns None.
getProperty(self, id, d=None)
Get the property 'id'. Returns the optional second argument or None if no such property is found.
getPropertyType(self, id)
Get the type of property 'id'. Returns None if no such property exists.
getSyncerRootId(self)
  ZSyncer: Use ZSyncer
Get the ID of the object to use for traversing to syncable objects.
getSyncerRootPath(self)
  ZSyncer: Use ZSyncer
Get path to the root to use for traversing to syncable objects, as a string.
getTagName(self)
The name of the element
getWrappedOwner(self)
Get the owner, modestly wrapped in the user folder. o If the object is not owned, return None. o If the owner's user database doesn't exist, return Nobody. o If the owner ID does not exist in the user database, return Nobody.
get_local_roles(self)
get_local_roles_for_userid(self, userid)
get_request_var_or_attr(self, name, default)
get_valid_userids(self)
hasChildNodes(self)
Returns true if the node has any children, false if it doesn't.
hasProperty(self, id)
Return true if object has a property 'id'.
has_local_roles(self)
http__etag(self, readonly=0)
http__parseMatchList(self, REQUEST, header='if-match')
http__processMatchHeaders(self, REQUEST=None)
http__refreshEtag(self)
is_diffable(self, meta_type=None, status='ok')
Do we know how to render a diff for this type? and, is its status such that we *can* show a diff for it?
listDAVObjects(self)
locked_in_version(self)
Was the object modified in any version?
manage(self, URL1)
manage_DAVget(self)
Gets the document source
manage_FTPlist(self, REQUEST)
Directory listing for FTP. In the case of non-Foldoid objects, the listing should contain one object, the object itself.
manage_FTPstat(self, REQUEST)
Psuedo stat, used by FTP for directory listings.
manage_access(self, REQUEST, **kw)
Return an interface for making permissions settings.
manage_acquiredPermissions(self, permissions=[], REQUEST=None)
This method is called TTW, so it needs a docstring
manage_addProperty(self, id, value, type, REQUEST=None)
  ZSyncer: Use ZSyncer
Add a new property via the web. Sets a new property with the given id, type, and value.
manage_afterAdd(self, item, container)
manage_afterClone(self, item)
manage_approvedAction(self, REQUEST={}, action='', folder=None, object_paths=None, syncer=None, approver=None, comments='')
  View management screens
If this action is to be approved, throw that data in into the message list
manage_beforeDelete(self, item, container)
manage_changePermissions(self, REQUEST)
This method is called TTW, so it needs a docstring
manage_changeProperties(self, REQUEST=None, **kw)
  ZSyncer: Use ZSyncer
Change existing object properties. Change object properties by passing either a mapping object of name:value pairs {'foo':6} or passing name=value parameters
manage_changePropertyTypes(self, old_ids, props, REQUEST=None)
Replace one set of properties with another Delete all properties that have ids in old_ids, then add a property for each item in props. Each item has a new_id, new_value, and new_type. The type of new_value should match new_type.
manage_compare(self, path, recurse=None, REQUEST=None)
  View management screens
Compare items, optionally recursing into subfolders; optionally filtering by status according to REQUEST. Return a tuple of (dict, [list of dicts]) where the first dict represents the status of the object at *path*, and the dicts in the (possibly empty) list represent the status of sub-objects of that object. If *recurse* is true, subobjects of subfolders are merged and flattened into the subs list. The list is sorted by path. If the list is empty, it means the remote server found no sub-objects at *path*.
manage_defined_roles(self, submit=None, REQUEST=None)
Called by management screen.
manage_delProperties(self, ids=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Delete one or more properties specified by 'ids'.
manage_deleteRemote(self, object_paths, msgs=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Interface to calling delete on each destination server. We've just overridden the self.dest_servers stuff ...
manage_diffObject(self, object_path, REQUEST=None)
  ZSyncer: Use ZSyncer
Try to get the object from the destination server and diff on it. Return the result as a dictionary.
manage_editProperties(self, REQUEST)
  ZSyncer: Use ZSyncer
Edit object properties via the web. The purpose of this method is to change all property values, even those not listed in REQUEST; otherwise checkboxes that get turned off will be ignored. Use manage_changeProperties() instead for most situations.
manage_editRoles(self, REQUEST, acl_type='A', acl_roles=[])
manage_editedDialog(self, REQUEST, **args)
manage_fixupOwnershipAfterAdd(self)
manage_getExportData(self, path)
  ZSyncer: Use ZSyncer
Gets data suitable for transfer. pkg is a file-like wrapped RPM
manage_getPermissionMapping(self)
Return the permission mapping for the object This is a list of dictionaries with: permission_name -- The name of the native object permission class_permission -- The class permission the permission is mapped to.
manage_getSource(self, obj_path)
  View management screens
Get a src from an object (if allowed) suitable for diffing.
manage_listObjects(self, path, do_base=1)
  View management screens
introspect non-contained containers ...
manage_permission(self, permission_to_manage, roles=[], acquire=0, REQUEST=None)
This method is called TTW, so it needs a docstring
manage_pullFromRemote(self, object_paths, msgs=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Interface to retrieving each object from destination server.
manage_pushToRemote(self, object_paths, msgs=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Interface to pushing each object to destination server. The 'msgs' argument may be modified in-place, and will be returned as a list of TextMsg or StatusMsg instances.
manage_replaceObject(self, obj_path, data=None, pkg=None)
  ZSyncer: Use ZSyncer
If an object already exists at *obj_path*, delete it. If *data* is not None, treat is as a picked new object to add at that path. If pkg is present, then it's the RPM - upload it
manage_role(self, role_to_manage, permissions=[], REQUEST=None)
This method is called TTW, so it needs a docstring
manage_syncDelete(self, object_paths, msgs=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Interface to deleting both locally and remotely. object_paths may be a string or a sequence of strings. If msgs list is provided, it's modified in-place; it's also returned.
manage_touch(self, object_paths, msgs=None, REQUEST=None)
  ZSyncer: Use ZSyncer
Force timestamp of local and remote object(s) to *now*. A list of StatusMsgs or TextMsgs will be returned.
manage_undo_transactions(self, transaction_info=(), REQUEST=None)
manage_workspace(self, REQUEST)
Dispatch to first interface in manage_options
modified_in_version(self)
Was the object modified in this version?
objectValues(self, spec=None)
objectValues(self, spec=None)
objectValues(self, spec=None)
owner_info(self)
Get ownership info for display
permission_settings(self, permission=None)
Return user-role permission settings. If 'permission' is passed to the method then only the settings for 'permission' is returned.
permissionsOfRole(self, role)
Used by management screen.
possible_permissions(self)
propdict(self)
propertyDescription(self, id)
Return a description for the given property id
propertyIds(self)
Return a list of property ids.
propertyItems(self)
Return a list of (id,property) tuples.
propertyLabel(self, id)
Return a label for the given property id
propertyMap(self)
Return a tuple of mappings, giving meta-data for properties. Return copies of the real definitions for security.
propertyValues(self)
Return a list of actual property objects.
raise_standardErrorMessage(self, client=None, REQUEST={}, error_type=None, error_value=None, tb=None, error_tb=None, error_message='', tagSearch=, error_log_url='')
restrictedTraverse(self, path, default=)
rolesOfPermission(self, permission)
Used by management screen.
status_colour(self, status, default='white')
  View management screens
Gives a list of status colours for pretty html.
status_descr(self, status)
  View management screens
Get description of each status from the config.
status_icon(self, status)
Get icon of each status from the config.
tabs_path_default(self, REQUEST, unquote=)
tabs_path_info(self, script, path, quote=)
this(self)
title_and_id(self)
Return the title if it is not blank and the id otherwise. If the title is not blank, then the id is included in parens.
title_or_id(self)
Return the title if it is not blank and the id otherwise.
touch(self, object_path, timestamp=DateTime('2010/07/29 12:37:51.377 Universal'))
  ZSyncer: Use ZSyncer
Force timestamp update to the (local) object. Optional timestamp arg must be a DateTime instance, and is set to the object's modification_date attribute IFF it has one.
tpURL(self)
tpValues(self)
traverseFromRoot(self, relative_path)
  ZSyncer: Use ZSyncer
we need to support non-objectManager containment ...
undoable_transactions(self, first_transaction=None, last_transaction=None, PrincipiaUndoBatchSize=None)
unrestrictedTraverse(self, path, default=, restricted=False)
Lookup an object by path. path -- The path to the object. May be a sequence of strings or a slash separated string. If the path begins with an empty path element (i.e., an empty string or a slash) then the lookup is performed from the application root. Otherwise, the lookup is relative to self. Two dots (..) as a path element indicates an upward traversal to the acquisition parent. default -- If provided, this is the value returned if the path cannot be traversed for any reason (i.e., no object exists at that path or the object is inaccessible). restricted -- If false (default) then no security checking is performed. If true, then all of the objects along the path are validated with the security machinery. Usually invoked using restrictedTraverse().
upgrade(self)
  View management screens
upgrade from 0.5.1 (or earlier?) to current version.
userCanTakeOwnership(self)
userdefined_roles(self)
Return list of user-defined roles.
users_with_local_role(self, role)
valid_roles(self)
Return list of valid roles.
valid_property_id(self, id)
valid_roles(self)
Return list of valid roles.
validate_roles(self, roles)
Return true if all given roles are valid.
virtual_url_path(self)
Return a URL for the object, relative to the site root. If a virtual host is configured, the URL is a path relative to the virtual host's root object. Otherwise, it is the physical path. In either case, the URL does not begin with a slash.
wl_clearLocks(self)
wl_delLock(self, locktoken)
wl_getLock(self, locktoken)
wl_hasLock(self, token, killinvalids=0)
wl_isLocked(self)
wl_lockItems(self, killinvalids=0)
wl_lockTokens(self, killinvalids=0)
wl_lockValues(self, killinvalids=0)
wl_lockmapping(self, killinvalids=0, create=0)
if 'killinvalids' is 1, locks who are no longer valid will be deleted
wl_setLock(self, locktoken, lock)
Functions
getSecurityManager ()
Get a security manager, for the current thread.
Document Actions
« August 2010 »
August
MoTuWeThFrSaSu
1
2345678
9101112131415
16171819202122
23242526272829
3031
Buy Now
Bastion CD
Subscribe Now
and get BastionLinux™ for as little as GBP 29.99 per month...