Annotation of OSAS/OSA_system/OSAS_add.pyc, revision 1.1

1.1     ! dwinter     1: -í
        !             2: [x?cs&dZ    d&k&Z&
        !             3: dklZ&dklZ&d&kZ
d&kZd&kZ   d&k
        !             4: Z
        !             5: dd„&Z&d„Z1d„Z
Dd„Z]d   „Zkd
        !             6: „Zxd„Z}d„Z¨d
klZlZ&ªd„Z®d„ZÎd„Zîd„Zõd„Z&d„ZY&d„Zb&d„Zj&d„Zq&d„Z&d„Z ›&d„Z!½&d„Z"d&S(s1Methoden zum hinzufügen von Dokumenten ins ArchivN(&sPageTemplateFile(&sPageTemplateics¹d&ddg|_&tdƒ&i|ƒ&}|id|iid<|&djo&d|iid<n.&|iiidƒ&o&|iid=n&&!|ƒS"|i&Sd S(
        !             7: sx Add metadata or metadata and documents to the repository
        !             8:         no_upload=0 kein upload sonst upload von documententensBooksJournal Articles
        !             9: Manuscripts products/OSA_system/OSAS_add_newspathisyess  no_uploadN(  sselfsreferencetypessPageTemplateFiles__of__snewtemplatesREQUESTsSESSIONs    no_uploadshas_key(sselfs no_uploadsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadds&&&&
        !            10: &cs²&'td&dƒi&ƒ}(h}&)x}|D)]r}*|iddƒ}+ti|dƒdiddƒ},ti|dƒdiddƒ}.||&|<q.W/|&SdS(Ns>/Users/dwinter/Documents/Projekte/OSAS/OSA_system/iso639-1.incs&rsasciisreplaces&    ii&(sfiles   readliness&fsretslinerawsencodeslinesstringssplitsvalueskey(skeysrets&fslineslinerawsvalue((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysgetISO&s&&  &
        !            11:   &&%&%&c&sû12|i&d&|_3|i|i&id<4hddddddd   d
        !            12: ddd
ddg
d<dddddddddg  d<dddddddddg d<|_8|i|i|_9tƒ|_?tdƒ&i  |ƒ&}&@|&ƒSdS(NsReference Typesreftypesauthorsyearstitles
series editorsseries titles
series volumesnumber of pagesscitys  publisherseditionsnumber of volumess
        !            13: translators ISBN ISSNsBooksjournalsvolumesissuespagessalternate journalscall numbersJournal Articleslocations    signatureseditorial remarkssdescriptionskeywordss
        !            14: Manuscripts$products/OSA_system/OSAS_add_bibdata(sselfsREQUESTsreftypesSESSIONsbibdatasfieldssgetISOsisolistsPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd21s&&&„&&c&s.&DEh}Fd&}Gd&}Hd&}&Id}Jti|ƒ&}KxÎ|DK]Ã}L|djo&M|&}Nd}Od&}&n&P|djo#&Q|&||<Rd&}&Sd}n\&U|djo!&V|djo
&Vd}n&&n&X|djo
&Xd}n&&Y|&|}&qLWZ|&||<[|SdS(   Nsskeys&=svalues&&s&+s&-s& (  squeriesskeysvaluestmpstogglesurllibsunquotesstrs&i(sstrstmpstoggleskeysqueriess&isvalue((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysparse_query_stringDs0&  &   &   &   &   &&
        !            15:   && &   &
&&
& &
&
&&
&c&sá]^_t|id&ƒ&}`||iid<a|dd d|dd d|d}b|idd    ƒ|_c|iiid
        !            16: ƒ&o.&d|iid|iid<et|ƒ&Sn#&gt d
ƒ&i
        !            17: |ƒ&}&h|&ƒSdS(s
        !            18: FoldernamesQUERY_STRINGsmetadatasauthoris&_stitlesyearsasciisignores no_uploadspathsfolder_names#products/OSA_system/OSAS_add_namingN(sparse_query_stringsselfsREQUESTsmetadatasSESSIONsvorschlag_namingsdecodeshas_keysadd5sPageTemplateFiles__of__snewtemplate(sselfsnewtemplatesvorschlag_namingsmetadata((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd3]s&&&&-&&&&&c&sµklti&d&|iidƒidƒ&|_n|id|_p|iidd|id|iid<s|i|iid<td|_ut dƒ&i
        !            19: |ƒ&}&v|&ƒSdS(Ns
        !            20: /mpiwg(.*)spathi&sfolder_names&/spageimgsproducts/OSA_system/OSAS_upload(sressearchsselfsREQUESTsSESSIONsgroupspathsfolder_namesimage_folder_namesPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd4ks&+,&&&c&s,xyztd&ƒ&i&|ƒ&}&{|&ƒSdS(sADD INDEX.METAs%products/OSA_system/OSAS_add_metadataN(sPageTemplateFiles__of__sselfsnewtemplate(sselfsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd5xs&&&c&s¥}~t|id&ƒ&}tii|iidƒ&d|d<tii|iidƒ&d|d<‚d|d<ƒ|iid |_„||iid
        !            21: <…||_   †|iid|_‡d|_
        !            22: ˆxL|iiƒDˆ]8}‰|i
        !            23: d
|d|i|d|d|_
        !            24: qÞW‹t
dƒ&i|ƒ&}Œd|_|ƒ}Ž|iiidƒ&o&|iidd}n$&‘|i   dd|i   dd}“t|dƒ}&”|&i|ƒ&&•|&iƒ&–ti|dƒ&—|iiidƒ&o3&š|iii|idd|iidƒ&Snp&tid|i dƒidƒ&|_žt
dƒ&i|ƒ&}¡d|_¢|iii ddƒ&¥|ƒSdS(NsQUERY_STRINGspathisarchive-pathi&sfolder_namesscanned documentscontent-typesreftypesadd_metadatasmetadatass&<s&>s</s>
        !            25: sproducts/OSA_system/index_metas
        !            26: text/plains no_uploads/index.metas&/s&wi¤&sURL2s?path=s/mpiwg/online/(.*)sproducts/OSA_system/OSAS_saveds    text/htmlsContent-Type(!sparse_query_stringsselfsREQUESTsmetadatasosspathssplitsSESSIONsreftypesadd_metadatas
metadataprintskeysstagsPageTemplateFiles__of__snewtemplatescontent_types renderxmlshas_keysmetapathsopens&fs
        !            27: writelinesscloseschmodsresponsesredirectsressearchsgroupsviewpathsnewtemplate2s setHeader(sselfs&fsmetapathsnewtemplate2s renderxmlstagsnewtemplatesmetadata((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd6}s:&&''&
&&&&&&    &6&&&&#&&
&&3(&&(s   localtimesstrftimec&&sª«td&t&ƒƒSdS(Ns%d.%m.%Y(sstrftimes localtime(&sself((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysdateªs&csÕ&®¯±ti&ii|&d&ƒ&}³y&´ti|idƒ&diƒ&}Wn,µ&&&¶ti|idƒ&diƒ&}n&X·ti|idƒ&diƒ&}¸y&¹ti|idƒ&diƒ&}Wnbº&&&»y&¼ti|idƒ&diƒ&}Wn,½&&&¾ti|idƒ&diƒ&}n&Xn&X¿d   }Àx,Àt
iid
        !            28: |ƒ&o&Á|d    7}q9&&WÂd
        !            29: ||iid<Ã|&|iid<Äd
|||f|iid<Ëtdƒ&i|ƒ&}Ì|ƒSdS(sadd presentation to the paths/index.metasauthorisAuthorstitlesyearsYearsdatei&s%02d-presentationspresentationnamespaths_<info>
        !            30:    <author>%s</author>
        !            31:    <title>%s</title>
        !            32:    <date>%s</date>
        !            33:    <display>yes</display>
        !            34: </info>sxmlvorschlags0/usr/local/mpiwg/Zope/Extensions/addPresentationN(sxmlsdomsminidomsparsespathsarchivesgetTextsgetElementsByTagNames
        !            35: childNodessauthorstitlesdates&isossexistssselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(sselfspathstitles&isauthorsdomsdatesnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddPresentation®s.&&&&&&&"&&&&&&&&&*&  &&&&& &c&s×&ÎÏÐ|i&d&|_Ò|i&d|_Ô|i&id|_Ö|i&idƒ&o &×|i&d|_Ød}&nL&Û|i&di    }&Ü|i&i
        !            36: diƒ|_Þd}&ß|i&d|_ày"áti
|id|iƒ&&Wn
â&&&ãn&XädG|&GHåt|id|id|&d ƒ}æ|i|iƒ&&ç|iƒ&èti|id|id
        !            37: ƒ&éti|id|id|&dƒ&êt|i|i|idƒ&ì|i&iid
|iƒ&SdS(sadd presentation sfolder_namescontent_descriptionspaths
        !            38: fileuploadsxmltextsinfo.xmls&/sNAME:s&wií&i¤&spresentationsstorefiles?path=N(sselfsREQUESTsfolder_namescontent_descriptionsSESSIONspathshas_keysxmlinfos  file_namesfilenamesformsreadsossmkdirsopens&fswritescloseschmodsaddDirsToIndexMetasRESPONSEsredirect(sselfs   file_names&f((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddPresentation2Îs.&&&&
& &&&"&&&&(&&
&!&)&csUîïðd&g&|i&id<ñ|&|i&id<òtdƒ&i|ƒ&}ó|ƒSdS(sadd fulltext to the pathspageimgsexisting_namesspaths(/usr/local/mpiwg/Zope/Extensions/addTextN(sselfsREQUESTsSESSIONspathsPageTemplateFiles__of__snewtemplate(sselfspathsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddTextîs
        !            39: &&&&&c&sg&õö|i&d&|_ø|i&d|_ù|i&id|_ú|i&di|_û|i&idi  ƒ|_
        !            40: üti|id|iƒ&&ýt
|id|id|idƒ}&þ|&i|i
        !            41: ƒ&&ÿ|&iƒ&&ti|id|idƒ&&&ti|id|id|idƒ&&t|i|i|id   ƒ&&|i&iid
        !            42: |iƒ&SdS(Nsfolder_namescontent_descriptionspaths
        !            43: fileuploads&/s&wií&i¤&sfulltextsstorefiles?path=(sselfsREQUESTsfolder_namescontent_descriptionsSESSIONspathsfilenames file_namesformsreadsfilesossmkdirsopens&fswritescloseschmodsaddDirsToIndexMetasRESPONSEsredirect(sselfs&f((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddText2õs&&&&&&+&&
&!&,&csN&&&yI    &ti&|ƒ&iƒ}
        !            44: &d&}&x|D&]}&||}q7WWn
&&&&&d|Sn&X&t|ƒ&o&&d|d|fSn&&&t|&ƒ&}&ti|dƒ}&|t|ƒ&d}&y&&t|&d|d|dƒ}
        !            45: Wn%&&&&&d|&d|d|Sn&X&|
        !            46: i|ƒ&&&|
        !            47: iƒ&&ti|&d|d|dƒ&&tiii|&d ƒ&}&|id
        !            48: ƒ&d} &|idƒ&}"&|id
ƒ&}
#&|i|ƒ&}$&|
i!|ƒ&&%&|i!|
ƒ&&'&|idƒ&}  (&|id|ƒ&})&| i!|ƒ&&*&|i!|   ƒ&&,&|idƒ&}-&|idƒ&}.&|i!|ƒ&&/&|i!|ƒ&&1&|i!|ƒ&&3&t|&d dƒ}
        !            49: 4&|
        !            50: i|i'ƒi(dƒ&ƒ&&5&|
        !            51: iƒ&8&tiii|&d    ƒ&}9&|idƒ&d};&y<&|idƒ&d}Wn=&&&&>&dSn&XA&yTB&|idƒ&}D&t|ƒ&djo'&E&|i*|dƒ&}F&|i,ƒ&n&&Wn
G&&&&H&n&XJ&|idƒ&}K&|i|d|ƒ&}L&|i!|ƒ&&M&|i!|ƒ&&P&t|&d    dƒ}
        !            52: Q&|
        !            53: i|i'ƒi(dƒ&ƒ&&R&|
        !            54: iƒ&U&ti&d|&ƒ&iƒGHW&d|d|SdS(s hinzufügen eines externen textesssERROR: cannot read: %ss  received:s&/i&s&wsERROR: cannot write: %si¤&s/index.metasresourceisdirsnamesdescriptionsarchimedes text:scontent-typesfulltextsutf-8smetastexttoolsBERROR:no presentation configured yet, user Web Front End to do so!stextsFhttp://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%ssDONE:N(/surllibsurlopenstexturls readlinesstexttempstextslinesTextExternalErrorsgetNewTextPathspathstextpathsstringssplitssplittedslensnamesfiles writefileswritesclosesosschmodsxmlsdomsminidomsparsesgetElementsByTagNamesnodes
createElementssubnodesnamenodescreateTextNodesnamenodetextsappendChildsdescriptionnodesversionsdescriptionnodetextscontentnodescontentnodetextstoxmlsencodestexttoolnodelistsremoveChilds
        !            55: subsubnodesunlinkstextfoldernodestextfoldernodetext(sselfspathstexturlsversionsnodesdescriptionnodetextstextscontentnodestexttoolnodelistsdescriptionnodes  writefilestexttemps
        !            56: subsubnodesnamenodeslinessubnodestextfoldernodetextstextfoldernodesnamestextpathsdomscontentnodetextssplittedsnamenodetext((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddTextExternal&s|&&&&  &
        !            57:   &&&&&&&&&&&&&&&
&#&&&&&&&&&&&&
&&&&&&&&&&&&&&
c&sVY&Z&|d&d!}&[&|&GH\&y]&tid|&ƒ}Wn^&&&&_&dSn&X`&d&SdS(Nii
        !            58: s   .*<?xml.*i&(stextsfirstssressearchsmatch(stextsfirstssmatch((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysTextExternalErrorY&s&&&&&&&c&s„b&c&d&}&d&x0d&t&ii|d|&ƒ&o&e&|&d&7}&q&Wf&t&i|d|&ƒ&&g&t&i|d|&dƒ&h&d|&SdS(Ni&s/fulltext%iií&s
        !            59: fulltext%i(s&isosspathsexistssmkdirschmod(spaths&i((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysgetNewTextPathb&s&   &&&&&csUj&k&l&d&g&|i&id<m&|&|i&id<n&tdƒ&i|ƒ&}o&|ƒSdS(sImagesfolder to the pathspageimgsexisting_namesspaths"products/OSA_system/OSAS_addImagesN(sselfsREQUESTsSESSIONspathsPageTemplateFiles__of__snewtemplate(sselfspathsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pys    addImagesj&s
        !            60: &&&&&c&s¶q&r&|i&d&|_t&|i&d|_x&d|_y&t|i&id|i|i|iƒ&z&tid|i&idƒi dƒ&|i&id<{&t
        !            61: dƒ&i|ƒ&}&|&|&ƒSdS(Nsfolder_namescontent_descriptionsimagesspaths
        !            62: /mpiwg(.*)i&s products/OSA_system/OSAS_upload2(
sselfsREQUESTsimage_folder_namescontent_descriptionscontent_typesaddDirsToIndexMetasSESSIONsressearchsgroupsPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pys
        !            63: addImages2q&s&&)&2&&csi&&&ti&ii|d&ƒ&}‚&|idƒ&d}„&|idƒ&}
†&|idƒ&}‡&|i
        !            64: |&ƒ&}ˆ&|i
|ƒ&&‰&|
i
|ƒ&&‹&|idƒ&} Œ&|i
        !            65: |ƒ&}&| i
|ƒ&&Ž&|
i
|   ƒ&&&|idƒ&}‘&|i
        !            66: |ƒ&}
        !            67: ’&|i
|
        !            68: ƒ&&“&|
i
|ƒ&&•&|i
|
ƒ&&—&t|d&dƒ}˜&|i|iƒid  ƒ&ƒ&&™&|iƒ&dS(
        !            69: Ns/index.metasresourceisdirsnamesdescriptionscontent-types&wsutf-8(sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodes
createElementssubnodesnamenodescreateTextNodesfolder_namesnamenodetextsappendChildsdescriptionnodescontent_descriptionsdescriptionnodetextscontentnodescontent_typescontentnodetextsfiles   writefileswritestoxmlsencodesclose(spathsfolder_namescontent_descriptionscontent_typesnodesdescriptionnodetextsdomsnamenodetextscontentnodesdescriptionnodescontentnodetexts writefilesnamenodessubnode((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddDirsToIndexMeta&s&&&&&&&&&&&&&c
        !            70: sÃ&›&œ&&ti&|&ƒ&}Ÿ&g} &g} ¡&g}£&x”|D£&]‰}¥&ti    |&d&|ƒ&o&¦&| i
        !            71: |ƒ&&n&&¨&ti|&|ƒo&©&|i
        !            72: |ƒ&&n&&ª&ti|&|ƒo&«&|i
        !            73: |ƒ&&n&&q=W­&t
iii|&dƒ&}®&y&¯&ti|idƒ&diƒ&}Wn°&&&&±&d}n&X²&tƒ|iid<³&|&|iid<´&||iid<µ&|    |iid <¶&||iid
        !            74: <·&||iid<¸&tdƒ&i|ƒ&}¹&|ƒSd
S(s=gibt input formular zur erstellung des texttools meta tag auss&/s/index.metaslangissisolistspathstextssimagefoldersspresentationfolderssfilelanguages-/usr/local/mpiwg/Zope/Extensions/ImageandTextN(sosslistdirspathsfilesstextssimagefoldersspresentationfolderssfilenamesarchives
        !            75: isdigilib2sappends
        !            76: isFullTextsisPresentationsxmlsdomsminidomsparsesgetTextsgetElementsByTagNames
        !            77: childNodessfilelanguagesgetISOsselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(
        !            78: sselfspathsfilesspresentationfolderssdomsfilenamesfilelanguagestextssnewtemplatesimagefolders((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pyscombineTextImage›&s4&&    &   &   
        !            79:   &&&&&&&&&
&&&&&&&&cs—½&¾&¿&ti&ii|&d&ƒ&}À&|idƒ&d}Ã&|idƒ&}Ä&t|ƒ&djo'&Å&|i |dƒ&}Æ&|iƒ&n&&È&|idƒ&}Ë&t
i|&d|idƒ&d}
        !            80: Î&|idƒ&}Ï&|idƒ&}Ð&|i|ƒ&&Ñ&|i|ƒ&&Ó&|iid ƒ&oO&Ô&|id  ƒ&}Õ&|i|id ƒ&}Ö&|i|ƒ&&×&|i|ƒ&&n&&Ù&|iid
        !            81: ƒ&o|&Ú&t
i|&d|id
        !            82: ƒ&d}    Û&|id
        !            83: ƒ&}
Ü&|i|id
        !            84: d|    ƒ&}Ý&|
i|ƒ&&Þ&|i|
ƒ&&n&&à&|iidƒ&oO&á&|idƒ&}â&|i|idƒ&}ã&|i|ƒ&&ä&|i|ƒ&&n&&æ&|iidƒ&oW&ç&|idƒ&}è&|i|idd|
        !            85: ƒ&}é&|i|ƒ&&ê&|i|ƒ&&n&&ì&|i|ƒ&&ð&t |&d&dƒ}ñ&|i"|i#ƒi$d
ƒ&ƒ&&ò&|i%ƒ&ö&t&i'd|&ƒ&i(ƒGHø&t
i)dt*i+dd|idd|id ƒƒ&&ù&|ii,i-d|idƒ&SdS(s&erstellt bzw. ändert texttool meta tags/index.metasmetaistexttools&/spresentationsdisplaysyessimagestexts  pagebreaks&wsutf-8sFhttp://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%sslssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 &s
mpiwg/online/sspathsstorefiles?path=N(.sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodessubnodelistslensremoveChildssubnodesunlinks
createElementsosslistdirsselfsREQUESTspresentfilesdisplaynodescreateTextNodesdisplaynodetextsappendChildshas_keysnamenodesnamenodetextstextfilestextfoldernodestextfoldernodetexts
pagebreaknodespagebreaknodetextspresentationnodespresentationnodetextsfiles   writefileswritestoxmlsencodesclosesurllibsurlopens   readlinesspopensressubsRESPONSEsredirect(sselfspathsnodesnamenodetexts   writefilesdisplaynodesnamenodesdisplaynodetextspagebreaknodetextstextfilespresentfilessubnodestextfoldernodetextstextfoldernodespresentationnodessubnodelistsdomspresentationnodetexts
pagebreaknode((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pyscombineTextImage2½&sR&&&&&&%&&&&&&&&%&&!&&&&&&&&!&&&&
9&(#s__doc__soss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplatesstringsurllibsxml.dom.minidomsxmlsresaddsgetISOsadd2sparse_query_stringsadd3sadd4sadd5sadd6stimes  localtimesstrftimesdatesaddPresentationsaddPresentation2saddTextsaddText2saddTextExternalsTextExternalErrorsgetNewTextPaths  addImagess
        !            86: addImages2saddDirsToIndexMetascombineTextImagescombineTextImage2(sgetNewTextPathsstringsparse_query_strings
        !            87: addImages2saddTextsaddPresentation2scombineTextImagesaddDirsToIndexMetasdatesgetISOsaddPresentationsxmlsadd6sadd5sadd4sadd3sadd2sTextExternalErrorsaddTextExternalscombineTextImage2s   addImagessurllibsPageTemplatesresaddsaddText2s   localtimesossstrftimesPageTemplateFile((sN/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system/OSAS_add.pys&?s:&&&&&&
+  S  "

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>