Browse Source

Initial code

Nikola Kotur 5 years ago
commit
cefead770a
8 changed files with 163 additions and 0 deletions
  1. 99 0
      .gitignore
  2. 13 0
      README.md
  3. 2 0
      evernotezimport/__init__.py
  4. 23 0
      evernotezimport/main.py
  5. 1 0
      evernotezimport/templates/zim.template
  6. 2 0
      requirements.txt
  7. 17 0
      setup.cfg
  8. 6 0
      setup.py

+ 99 - 0
.gitignore

@@ -0,0 +1,99 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+.hypothesis/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# pyenv
+.python-version
+
+# celery beat schedule file
+celerybeat-schedule
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/

+ 13 - 0
README.md

@@ -0,0 +1,13 @@
+# Evernote to Zim
+
+```
+virtualenv .env
+source .env/bin/activate
+pip install -e .
+```
+
+Command example:
+
+```
+zimport --zim ~/Documents/Notebooks/Main/Everjokes lib/Jokes.enex
+```

+ 2 - 0
evernotezimport/__init__.py

@@ -0,0 +1,2 @@
+""" Import Evernote to Zim
+"""

+ 23 - 0
evernotezimport/main.py

@@ -0,0 +1,23 @@
+import argparse
+import xml.etree.ElementTree
+
+from logzero import logger
+
+
+def main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('enex_file', help='path to enex file')
+    parser.add_argument('-z', '--zim', help='path to Zim Notebook')
+    args = parser.parse_args()
+
+    logger.info('Importing %s into %s', args.enex_file, args.zim)
+
+    enex = xml.etree.ElementTree.parse(args.enex_file).getroot()
+    for note in enex.findall('note'):
+        title = note.find('title').text
+        content = note.find('content').text
+        created = note.find('created').text
+        tags = []
+        for tag in note.findall('tag'):
+            tags.append(tag.find('tag').text)
+        logger.info('Found %s (%s)...', title, created)

+ 1 - 0
evernotezimport/templates/zim.template

@@ -0,0 +1 @@
+#

+ 2 - 0
requirements.txt

@@ -0,0 +1,2 @@
+pbr
+logzero

+ 17 - 0
setup.cfg

@@ -0,0 +1,17 @@
+[metadata]
+name = evernotezimport
+author = Nikola Kotur
+author-email = kotnick@gmail.com
+summary = Import Evernote export into Zim notes
+description-file = README.md
+license = MIT
+
+[files]
+packages =
+    evernotezimport
+data-files = 
+    evernotezimport/templates = evernotezimport/templates/*
+
+[entry_points]
+console_scripts =
+    zimport = evernotezimport.main:main

+ 6 - 0
setup.py

@@ -0,0 +1,6 @@
+from setuptools import setup
+
+setup(
+    setup_requires=["pbr"],
+    pbr=True,
+    )