Giter Site home page Giter Site logo

xmind-sdk-python's Introduction

#XMind SDK for python

XMind SDK for python to help Python developers to easily work with XMind files and build XMind extensions.

##Install XMind SDK for python

Clone the repository to a local working directory

git clone https://github.com/xmindltd/xmind-sdk-python.git

Now there will be a directory named xmind-sdk-python under the current directory. Change to the directory xmind-sdk-python and install XMind SDK for python.

python setup.py install

It is highly recommended to install XMind SDK for python under an isolated python environment using virtualenv

##Usage

Open an existing XMind file or create a new XMind file and place it into a given path

import xmind
workbook = xmind.load(/path/to/file/)  # Requires '.xmind' extension

Save XMind file to a path. If the path is not given then the API will save to the path set in the workbook

xmind.save(workbook)

or:

xmind.save(workbook, /save/file/to/path)

##LICENSE

The MIT License (MIT)

Copyright (c) 2013 XMind, Ltd

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

xmind-sdk-python's People

Contributors

aqx avatar briansun avatar brumar avatar woody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xmind-sdk-python's Issues

Access to Floating Topics

Hello!

Thank you for your project.
Currently, I can't find interface to Floating Topics in the XMind.

Best regards,
Artem

bug discovered

I hope this might help someone out there ...

file topic.py. line 263: if index < 0 or len(topic_list) >= index: # THIS IS WRONG

should be
if index < 0 or index >= len(topic_list): #THIS IS CORRECT
or
if index < 0 or len(topic_list) <= index: #THIS IS CORRECT

[this is a mild bug :]

-- in normal situation, it will fail to "insertBefore()" and instead it will do "append()", when adding a new topic.
-- in unusual situations, if one tries to "insertBefore()" a new topic with a (mistakenly) large index, it will crash instead of fail over to "append()"

get AttributeError: 'str' object has no attribute 'decode' error

When I downloaded and followed the install procedrue, it was ok.

When I put the first 3 lines of example.py imports, it was ok.
When I put the "w = xmind.load("test.xmind")",
I got:
...
File "C:\Python34\lib\site-packages\xmind-0.1a0-py3.4.egg\xmind\core__init__.py", line 204, in init
AttributeError: 'str' object has no attribute 'decode'" error.

I went to .\xmind-sdk-python-master\xmind\core__init__.py
and change line 204: self.TAG_NAME.decode("utf-8")
to self.TAG_NAME
and re-install xmind-sdk but still get the same error message.

What should I do?

Summary topics?

Any plans to add summary topics? Has anyone else in the community needed Summary topics?

Along similar lines anyone actively developing on their own fork? [I'm being lazy and not searching through all 46 current forks.]

AttributeError: ownerDocument from the example.py

C:\ub16_prj>python yk-demo-xmind-sdk.py
Traceback (most recent call last):
File "yk-demo-xmind-sdk.py", line 19, in
t1=TopicElement() # create a new element
File "C:\Users\andyy\AppData\Local\Programs\Python\Python37\lib\site-packages\xmind\core\topic.py", line 39, in init
self.addIdAttribute(const.ATTR_ID)
File "C:\Users\andyy\AppData\Local\Programs\Python\Python37\lib\site-packages\xmind\core_init_.py", line 274, in addIdAttribute
self._node.setAttribute(attr_name, id)
File "C:\Users\andyy\AppData\Local\Programs\Python\Python37\lib\xml\dom\minidom.py", line 741, in setAttribute
attr.ownerDocument = self.ownerDocument
AttributeError: ownerDocument

C:\ub16_prj>

How to read a marker in sdk

I know to set a marker, as the examle shows, is topic.addMarker("yes"). But how to read one? I tried topic.getMarker() not working.
And... besides that, is there any documents, mannual or handbook for this SDK? It is so hard to find some info, basically all I got is the example.py.

Please, any suggestion will be appreciated! Thanks

Add the ability to save as an image

I know XMind itself allows you to save/ export a mindmap as an image file (e.g. BMP or JPEG).

I would be great if the SDK also supported this

How to modify topic's marker

I only find addMarker in topic.py, but how to modify a topic's marker?
For example, i want to replace all the topices' flag to priority.
i want to

  1. get all the topic tree
  2. find which topic has the marker of flag
  3. delete the marker of flag
  4. add a marker of priority to topic

But i don't find how to delete a marker from topic

In the other hand, when i use recursion to add topic.addMarker, i get the decode error. I don't know why?

File "C:/Users/ayan/IdeaProjects/XmindReader/XmindReader-GenerateReadme2.py", line 57, in findTestCase
topic.addMarker(MarkerId(newMarkerID))
File "C:\Python34\lib\site-packages\xmind-0.1a0-py3.4.egg\xmind\core\topic.py", line 133, in addMarker
File "C:\Python34\lib\site-packages\xmind-0.1a0-py3.4.egg\xmind\core\markerref.py", line 131, in init
File "C:\Python34\lib\site-packages\xmind-0.1a0-py3.4.egg\xmind\core\mixin.py", line 25, in init
File "C:\Python34\lib\site-packages\xmind-0.1a0-py3.4.egg\xmind\core__init__.py", line 204, in init
AttributeError: 'str' object has no attribute 'decode'

Porting to VB.Net

Hello

I would like to port this API in VB.Net. In fact there is a C# API (https://xmindapi.codeplex.com/) for XMind but it is under GPL license and for my projects a MIT license is a better fit.
I created a friendly fork (xmind-sdk-vb.net), I guess I should I have asked your agreement before so let me apologize foor this and inform about my intent.
Your agreement would be very appreciated but if for any reason there is no agreement (or an alternative way for my intent) then I will delete this fork.
Best Regards
Michel Kern

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.