
fU9c       sh   d  Z  d Z d Z d k l Z l Z l Z d f  d     YZ d f  d     YZ d f  d	     YZ	 d
 S(   s   Pyrite Databases.
s4   $Id: Database.py,v 1.7 1999/08/09 21:59:12 rob Exp $s.   Copyright 1999 Rob Tillotson <robt@debian.org>(   s   Records   AppBlocks   Resources   Databasec      sH  d f  d  Z  d   Z d d d d d  Z d   Z d d d  Z d	   Z d
   Z d   Z d   Z d   Z	 e
 d  Z e
 d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d d d  Z d   Z d   Z d   Z d   Z d   Z d d  Z d d  Z d    Z d!   Z d"   Z d d#  Z RS($   Nc    sU   | |  _ | |  _ t |  _ t |  _ t |  _	 | |  _
 | |  _ | i d  |  _ d  S(   Ns   flagResource(   s   dbs   selfs   _Database__dbs   infos   Records   record_classs   AppBlocks   appblock_classs   Resources   resource_classs
   propertiess   modes   gets   is_resource(   s   selfs   dbs   infos   modes
   propertiess:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __init__, s    							s   rwsc    s   | |  i j Sd  S(   N(   s   ps   selfs
   properties(   s   selfs   ps:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   has_property7 s    c    s   |  i d | | | |  Sd S(   s   Return a new, blank record.
	s    N(   s   selfs   record_classs   indexs   ids
   attributess   category(   s   selfs   indexs   ids
   attributess   categorys   as   kws:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys
   new_record: s     i    c    s   |  i   Sd S(   s$   Return a new, empty appinfo block.
	N(   s   selfs   appblock_class(   s   selfs   as   kws:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   new_appblock? s     c    s   |  i d | |  Sd S(   s   Return a new, empty resource.
	s    N(   s   selfs   resource_classs   types   id(   s   selfs   types   ids   as   kws:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   new_resourceD s     s       c    s   t  |  i | |  Sd S(   s   Classify a record.

	The actual parameters this is called with are:
	    (raw, index, id, attributes, category)
	and it should, from this, determine what kind of record it
	is and wrap it in the proper class.
	N(   s   applys   selfs   record_classs   as   kw(   s   selfs   as   kws:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   classify_recordI s     c    s   t  |  i | |  Sd S(   sS   Classify a resource.

	Like classify_record, but with parameters (raw, type, id).
	N(   s   applys   selfs   resource_classs   as   kw(   s   selfs   as   kws:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   classify_resourceS s     c    s   |  i i   Sd  S(   N(   s   selfs   _Database__dbs
   getRecords(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __len__[ s    c    s   |  i o@ |  i i |  } | t j o t |  n t |  i	 |  Sn= |  i i
 |  } | t j o t |  n t |  i |  Sd  S(   N(   s   selfs   is_resources   _Database__dbs   getResources   is   rs   Nones
   IndexErrors   applys   classify_resources	   getRecords   classify_record(   s   selfs   is   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __getitem__^ s    
  c    s   |  i ob y& |  i i | i | i | i    SWn5 t j
 o) |  i i	 | i | i | i    Sn Xn y/ |  i i
 | i   | i | i | i    SWnM t j
 oA |  i i | i   | i | i | i    } | | _ | Sn Xd  S(   N(   s   selfs   is_resources   _Database__dbs   addResources   recs   types   ids   packs   AttributeErrors   setResources	   addRecords
   attributess   categorys	   setRecord(   s   selfs   recs   ids:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   appendh s    
&+	c    s   |  i o> |  i i | |  } | t j o t Sn t |  i	 |  Sn8 |  i i
 |  } | t j o t Sn t |  i |  Sd  S(   N(   s   selfs   is_resources   _Database__dbs   getResourceByIDs   as   bs   rs   Nones   applys   classify_resources   getRecordByIDs   classify_record(   s   selfs   as   bs   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   get_idy s    
  c    s5   |  i o |  i i | |  Sn |  i i |  Sd  S(   N(   s   selfs   is_resources   _Database__dbs   deleteResources   as   bs   deleteRecord(   s   selfs   as   bs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   delete s    
c    s,   |  i o |  i i   Sn |  i i   Sd  S(   N(   s   selfs   is_resources   _Database__dbs   deleteResourcess   deleteRecords(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys
   delete_all s    
c    s5   |  i i   } | t j	 o |  i |  Sn t Sd  S(   N(   s   selfs   _Database__dbs   getAppBlocks   rs   Nones   appblock_class(   s   selfs   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   get_appblock s    c    s   |  i i | i    Sd  S(   N(   s   selfs   _Database__dbs   setAppBlocks   blks   pack(   s   selfs   blks:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   set_appblock s    c    s5   |  i i   } | t j	 o |  i |  Sn t Sd  S(   N(   s   selfs   _Database__dbs   getSortBlocks   rs   Nones   sortblock_class(   s   selfs   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   get_sortblock s    c    s   |  i i | i    Sd  S(   N(   s   selfs   _Database__dbs   setSortBlocks   blks   pack(   s   selfs   blks:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   set_sortblock s    c    s   |  i i | |  Sd  S(   N(   s   selfs   _Database__dbs   moveCategorys   frms   to(   s   selfs   frms   tos:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   category_move s    c    s   |  i i |  Sd  S(   N(   s   selfs   _Database__dbs   deleteCategorys   cat(   s   selfs   cats:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   category_delete s    c    sG   |  i i |  i i | |  \ } } } } } t	 | | | | |  Sd  S(   N(
   s   selfs   _Database__dbs   getPrefs   infos   creators   ids   backups   raws   versions	   PrefBlock(   s   selfs   ids   backups   raws   creators   versions:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   get_preference s    i   c    s2   |  i i | i | i | i | i | i    Sd  S(   N(	   s   selfs   _Database__dbs   setPrefs   prefs   creators   ids   backups   versions   pack(   s   selfs   prefs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   set_preference s    c    s   |  i i   Sd S(   s8   Clear all record dirty flags; set last sync time to now.N(   s   selfs   _Database__dbs
   resetFlags(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   reset_flags s     c    s   |  i i   Sd S(   s#   Purge deleted and archived records.N(   s   selfs   _Database__dbs   purge(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   purge_deleted s     c    s   |  i i   Sd  S(   N(   s   selfs   _Database__dbs	   resetNext(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys
   next_reset s    c    s;   |  i i |  } | t j o t Sn t |  i |  Sd  S(   N(   s   selfs   _Database__dbs   getNextRecords   cats   rs   Nones   applys   classify_record(   s   selfs   cats   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   next_record s     c    s;   |  i i |  } | t j o t Sn t |  i |  Sd  S(   N(   s   selfs   _Database__dbs   getNextModRecords   cats   rs   Nones   applys   classify_record(   s   selfs   cats   rs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   next_modified s     c    s   |  i i |  Sd  S(   N(   s   selfs   _Database__dbs   getRecordIDss   sort(   s   selfs   sorts:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   ids s    c    s   |  i i   Sd  S(   N(   s   selfs   _Database__dbs   close(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   close s    c    s   t  |  | |  Sd  S(   N(   s   Slices   selfs   lows   high(   s   selfs   lows   highs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __getslice__ s    c    s   |  i   t | |  i  Sd  S(   N(   s   selfs
   next_resets   CategoryIterators   cats   next_record(   s   selfs   cats:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   Category s    
c    s   |  i   t | |  i  Sd  S(   N(   s   selfs
   next_resets   CategoryIterators   cats   next_modified(   s   selfs   cats:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   ModifiedRecords s    
(    s   __init__s   has_propertys
   new_records   new_appblocks   new_resources   classify_records   classify_resources   __len__s   __getitem__s   appends   Nones   get_ids   deletes
   delete_alls   get_appblocks   set_appblocks   get_sortblocks   set_sortblocks   category_moves   category_deletes   get_preferences   set_preferences   reset_flagss   purge_deleteds
   next_resets   next_records   next_modifieds   idss   closes   __getslice__s   Categorys   ModifiedRecords(    s:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   Database+ s>    			
			
	
															s   Slicec      s#   d  Z  d   Z d   Z d   Z RS(   s   A generic slice, which serves mainly to permit Python to not
    have to retrieve a bunch of records at once.  Doesn't support
    everything a real slice does, but should allow iteration and
    retrieval over a portion of a database.c    s,   | |  _  | |  _ | |  _ | | |  _ d  S(   N(   s   lists   selfs   lows   highs   len(   s   selfs   lists   lows   highs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __init__ s    			c    s   |  i Sd  S(   N(   s   selfs   len(   s   selfs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __len__ s    c    s0   | |  i j o
 t  n |  i | |  i Sd  S(   N(   s   ns   selfs   lens
   IndexErrors   lists   low(   s   selfs   ns:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __getitem__ s     
(   s   __doc__s   __init__s   __len__s   __getitem__(    s:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   Slice s    		s   CategoryIteratorc      s   d  Z  d   Z d   Z RS(   s`   An iterator which returns each record in a category using
    getNextModRecord or getNextRecord.c    s   | |  _  | |  _ d  S(   N(   s   cats   selfs   func(   s   selfs   cats   funcs:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __init__ s    	c    s   |  i |  i  Sd  S(   N(   s   selfs   funcs   cat(   s   selfs   ns:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   __getitem__ s    (   s   __doc__s   __init__s   __getitem__(    s:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   CategoryIterator s    	N(
   s   __doc__s   __version__s   __copyright__s   Blockss   Records   AppBlocks   Resources   Databases   Slices   CategoryIterator(    s:   /mit/python/lib/python2.0/site-packages/Pyrite/Database.pys   ? s   