On 14/10/2016 at 15:35, xxxxxxxx wrote:
I used the script below to allow deactivation of the plugin update notifications, by writing a .txt file under the writeable startup directory of cinema 4d.
Is it possible to do that without writing a .txt file?
I have simplified this code, just to give you an idea of what I want to do.
filePath = os.path.join(c4d.storage.GeGetStartupWritePath(), 'plugins', 'PluginName', 'notification.txt')
CHECKBOX = 1001
class updateDialog( c4d.gui.GeDialog) :
def CreateLayout(self) :
self.AddCheckbox(CHECKBOX, c4d.BFH_SCALEFIT, 0, 0, name=" Don't show this message again! ")
def Command(self, id, msg) :
if self.GetBool(CHECKBOX) == True :
fn = os.open( filePath, os.O_WRONLY|os.O_TRUNC|os.O_CREAT, 0600)
os.write(fn, "Disable Update Notifications")
class MyClass(c4d.plugins.CommandData) :
def Execute(self, doc) :
if not os.path.exists(filePath) :
dlg = updateDialog()
dlg.Open(c4d.DLG_TYPE_MODAL, xpos= 700, ypos= 250, defaultw=600, defaulth=0)
On 17/10/2016 at 08:15, xxxxxxxx wrote:
you could store this information in the "world container".
You can get that BaseContainer via GetWorldContainerInstance().
But please don't store the information directly in there. Instead get a PluginID and store a BaseContainer at that ID in the world container. Then you can store whatever you want in your own BaseContainer.