commit 6569e7ba72e2966d875f4e535060be9ab83cca0c Author: Elf M. Sternberg Date: Sat Jun 3 12:48:34 2017 -0700 Initial check-in. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..79ec19e --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +*.py[cod] + +# C extensions +*.so + +# pycharm +.idea/ +.idea + +# Packages +*.egg +*.egg-info +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg +lib +lib64 + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox +nosetests.xml + +# Complexity +output/*.html +output/*/index.html + +# Sphinx +docs/_build + +# Cookiecutter +output/ + +#Emacs +\#* +.\#* +*\# +*~ diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..5c2ca3b --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,29 @@ +Copyright (c) 2016, Elf M. Sternberg +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..3d387c3 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include README.md +include requirements.txt \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2af40ae --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +Bookmark Extractors +=============================== + +These are two small, simple utilities for extracting Evernote (ENEX) and +Delicious bookmarks to Emacs ORG mode, written in Hy version 0.12. +These are fairly idiosyncratic; The Enex extractor assumes you have an +Enex file available for extraction; the Delicious extractor assumes you +have working access to your http://del.icio.us repository. + +version number: 0.0.2 +author: Elf M. Sternberg + +Installation / Usage +-------------------- + +To use, clone the repo: + + $ git clone https://github.com/elfsternberg/extractbookmarks.git + $ python setup.py install + +Example +------- + +$ hy ./extract-enex +$ hy ./extract-delicious 'http://del.icio.us/your-name?page=1' > Delicious.org + +The Enex extraction will create a default Bookmarks.org file, with each +individual bookmark in its own slugified file. Adjust at will. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1913063 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +# Using: +hy +slugify +bs4 +html2text +requests diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..cb4a338 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,5 @@ +[bdist_wheel] +universal=1 + +[metadata] +description-file=README.md \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..86ef850 --- /dev/null +++ b/setup.py @@ -0,0 +1,40 @@ +from setuptools import setup, find_packages +from codecs import open +from os import path + +__version__ = '0.0.2' + +here = path.abspath(path.dirname(__file__)) + +# Get the long description from the README file +with open(path.join(here, 'README.md'), encoding='utf-8') as f: + long_description = f.read() + +# get the dependencies and installs +with open(path.join(here, 'requirements.txt'), encoding='utf-8') as f: + all_reqs = f.read().split('\n') + +install_requires = [x.strip() for x in all_reqs if 'git+' not in x] +dependency_links = [x.strip().replace('git+', '') for x in all_reqs if x.startswith('git+')] + +setup( + name='extractbookmarks', + version=__version__, + description='Two small, simple utilities for extracting ENEX and DELICIOUS bookmarks to Emacs ORG mode, written in Hy.', + long_description=long_description, + url='https://github.com/elfsternberg/extractbookmarks', + download_url='https://github.com/elfsternberg/extractbookmarks/tarball/' + __version__, + license='BSD', + classifiers=[ + 'Development Status :: 3 - Alpha', + 'Intended Audience :: Developers', + 'Programming Language :: Python :: 3', + 'Programming Language :: Hy :: 0.12', + ], + keywords='', + include_package_data=True, + author='Elf M. Sternberg', + install_requires=install_requires, + dependency_links=dependency_links, + author_email='elf.sternberg@gmail.com' +)