;ò qEc@sÒdklZdkZdkZdklZlZlZlZdkZdk Z dk l Z l Z ei ddƒZ ei ddƒZdZd Zd Zd Zd eifd „ƒYZdefd„ƒYZdS((s generatorsN(sgs app_optionssoptionssbasedir(sMemosmemo_from_nodes max_visibleis max_futureiiiiisMemoListcBs_tZd„Zd„Zdd„Zd„Zdd„Zd„Zd„Zd „Z d „Z RS( NcCs5tii|titititiƒg|_dS(N( sgs ListStores__init__sselfsgobjects TYPE_STRINGs TYPE_OBJECTs TYPE_BOOLEANswatchers(sself((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pys__init__s  ccs2|iƒ}x|o|V|i|ƒ}qWdS(s:When used as a python iterator, return a list of TreeItersN(sselfsget_iter_firstsiters iter_next(sselfsiter((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pys__iter__s  icCstdk}|i|ƒxW|D]O}|i|tƒ}||jo*|i|ƒ|o|i ƒndSqqWdS(N( s dbus_notifysclosesmemosselfsiters get_valuesMEMOsmsremovesupdatesnotify_changed(sselfsmemosupdates dbus_notifysmsiter((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysdelete#s    cCs:x3|D]+}|i|t|i|tƒiƒƒqWdS(s,Recalculate the time display after midnight.N(sselfsmemossetsTIMEs get_valuesMEMOsstr_when(sselfsmemo((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysnew_day/sc CsÅt|tƒpt‚x;|D]-}|i|tƒ}|i |ƒoPqqWt }|o|i |ƒ}n |i ƒ}|i|t|iƒt|it|t|iƒ |o|iƒndS(N(s isinstancesmemosMemosAssertionErrorsselfsiters get_valuesMEMOsms comes_aftersNones insert_beforesnewsappendssetsTIMEsstr_whensBRIEFsbriefsHIDDENshiddensupdatesnotify_changed(sselfsmemosupdatesmsitersnew((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysadd4s"      cCstt|iƒdS(s1Called after a Memo is added, removed or updated.N(smapsapplysselfswatchers(sself((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysnotify_changedMscCs |i|ƒ}|i|ƒSdS(N(sselfsget_iterspathsitersget_memo_by_iter(sselfspathsiter((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysget_memo_by_pathQscCs|i|tƒSdS(N(sselfs get_valuesitersMEMO(sselfsiter((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysget_memo_by_iterUscCsžg}tiƒ}x{|D]s}|i|tƒ}|ip|i p|i oqn|i|}|djo|i |ƒq||fSqW|t fSdS(s;Returns a list of alarms to go off, and the time until the iN(smissedstimesnowsselfsiters get_valuesMEMOsmssilentshiddensatsdelaysappendsNone(sselfsmissedsmsitersdelaysnow((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pyscatch_upXs   ( s__name__s __module__s__init__s__iter__sdeletesnew_daysaddsnotify_changedsget_memo_by_pathsget_memo_by_iterscatch_up(((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysMemoLists       s MasterListcBsbtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z RS( Nc Csti|ƒtƒ|_tidddƒ}|o°y&dkl}l }|i |ƒ}Wnt i ƒnXd}|i}xd|idƒD]O}y#t|ƒ}|i|ddƒWqŽ| ot i ƒd}qÝqŽXqŽWn|iƒti|iƒdS( Nsrox.sourceforge.netsMemosEntries(sminidomsNodeismemosupdatei(sMemoLists__init__sselfsvisiblesbasedirsload_first_configspathsxml.domsminidomsNodesparsesdocsroxsreport_exceptionserrorssdocumentElementsrootsgetElementsByTagNamesnodesmemo_from_nodesmemosaddsupdate_visibles app_optionss add_notify( sselfsminidomsNodeserrorssnodesdocspathsrootsmemo((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pys__init__ns,      cCsti|ƒ|iiƒdS(N(sMemoListsnew_daysselfsvisible(sself((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysnew_dayˆs cCsotidddfjo |iƒ}|i||ƒn|i|ƒ}|i|ƒ}|i ||i ƒdS(Niici ( sgs pygtk_versionsselfsget_iter_firstsitersget_iter_from_stringspathsget_memo_by_itersmemos set_hiddenshidden(sselfspathsmemositer((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pys toggle_hiddenŒs  cCs1|i|ddƒ|i|ƒ|i|ƒdS(Nsupdatei(sselfsdeletesmemos set_hiddenshiddensadd(sselfsmemoshidden((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pys set_hidden–s cCsÀtiddƒ}tii|dƒ}| otiidƒdSnyati |ti ti Bdƒ}|iti|dƒƒtii|dƒ}ti||ƒWntiƒnXdS(Nsrox.sourceforge.netsMemos Entries.news%Memo: Saving disabled by CHOICESPATH i€swsEntries(sbasedirssave_config_pathssave_dirsosspathsjoinssyssstderrswritesopensO_CREATsO_WRONLYsfsselfssave_to_streamsfdopens real_pathsrenamesroxsreport_exception(sselfsfs real_pathssave_dirspath((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pyssave›scCsŒdkl}|iƒ}|idƒ}|i|ƒxC|D];}|i |t ƒ}|i |ƒ|i|i dƒƒq<W|i|ƒdS(N(sminidomsmemoss (sxml.domsminidomsDocumentsdocs createElementsroots appendChildsselfsiters get_valuesMEMOsmssavescreateTextNodeswritexmlsstream(sselfsstreamsminidomsdocsmsitersroot((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pyssave_to_stream«s    cCs%ti|ƒ|iƒ|iƒdS(s1Called after a Memo is added, removed or updated.N(sMemoListsnotify_changedsselfsupdate_visiblessave(sself((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pysnotify_changed·s  cCsÆtiƒ}ddd}|dti}g}xŠ|D]‚}|i |t ƒ}|i oq8n|i||joPn|i||jot |ƒtijoPq­n|i|ƒq8W|SdS(s9Return a list of Memos which should be made/kept visible.i<iiN(stimesnowsA_DAYs max_futures int_valuesVISIBLE_REGIONsoutsselfsiters get_valuesMEMOsmemoshiddenslens max_visiblesappend(sselfsVISIBLE_REGIONsitersA_DAYsnowsmemosout((sA/mnt/gmirror/ports/deskutils/rox-memo/work/memo-2.0/Memo/memos.pyschoose_visible½s"   cCsh}x*|iD]}t||ii|tƒ