How to open a document from a Notes View with python noteslib?

Question:

I have an established connection with a notes database and I am able to loop through all the records in a view. What I am curious about if it is possible to open a document and get the data from it using python. (Like double clicking on a record from an HCL Notes Client).
Here is my code simplified:

import noteslib
db = noteslib.Database('my-domino-server','my-db.nsf', 'mypassword')
view = db.GetView('my_view')
doc = view.GetFirstDocument()
while doc:
    print(doc.ColumnValues)
    #here after printing the column values, I want to open the document and store it's values in a variable.
    doc = view.GetNextDocument(doc)

I tried googling about LotusScript and I found the Open() method, but doc.Open() did not work.

Asked By: Looz

||

Answers:

Just use the LotusScript documentation to find examples for everything you need.

In your case you start with the NotesDatabase – class, then get an object of type NotesView and finally get a NotesDocument object.

This doc object does not need to be opened. You can directly access all items in that document either by their name or -if you don’t know the name- by cycling through all items.

If you e.g. know the name of an item (can be found in the document properties box on the second tab, found with Alt + Enter) then you can read the value like this:

#Subject of a given mail
subject = doc.GetitemValue( "Subject" )[0]

#Start date of a calendar entry
startdate = doc.GetItemValue( "StartDate" )[0]

# cycle through all items
for item in doc.Items
    print(item.Name)
    value = item.Values

Take care: items are always arrays, even if they contain only a single value. To get the value of a single value item, always access the element at position 0.

Answered By: Tode
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.