Revert "refactor to allow module execution"

This reverts commit a0123e9511.
Este commit está contenido en:
Felix Lohmeier 2019-08-03 13:23:32 +02:00
padre 16560cb884
commit d82c7b28fb
Se han modificado 16 ficheros con 68 adiciones y 32 borrados

32
Makefile Archivo normal
Ver fichero

@ -0,0 +1,32 @@
# XXX have a Makefile written by someone that knows Makefiles...
all: test build install
readme:
# requires docutils, e.g. pip install docutils
rst2html.py README.rst > README.html
w3m -dump README.html | unix2dos > README.txt
test:
python setup.py test
# tests that don't require a Refine server running
smalltest:
python setup.py test --test-suite tests.test_refine_small
python setup.py test --test-suite tests.test_facet
python setup.py test --test-suite tests.test_history
build:
python setup.py build
install:
sudo python setup.py install
clean:
find . -name '*.pyc' | xargs rm -f
# XXX is there some way of having setup.py clean up its junk?
rm -rf README.{html,txt} build dist refine_client.egg-info distribute-*
upload: clean
python setup.py sdist upload

Ver fichero

@ -1,7 +1,6 @@
# OpenRefine Python Client with extended command line interface
The [OpenRefine Python Client Library from PaulMakepeace](https://github.com/PaulMakepeace/refine-client-py) provides an interface to communicating with an [OpenRefine](http://openrefine.org) server.
This fork extends the command line interface (CLI) and supports communication between docker containers.
The [OpenRefine Python Client Library from PaulMakepeace](https://github.com/PaulMakepeace/refine-client-py) provides an interface to communicating with an [OpenRefine](http://openrefine.org) server. This fork extends the command line interface (CLI) and supports communication between docker containers.
## Download
@ -32,7 +31,7 @@ Command line interface:
- delete project: `--delete [PROJECTID/PROJECTNAME]`
- check `--help` for further options...
If you are familiar with python you may try all functions interactively (`python -i refine/refine.py`) or use this library in your own python scripts. Some Examples:
If you are familiar with python you may try all functions interactively (`python -i refine.py`) or use this library in your own python scripts. Some Examples:
* show version of OpenRefine server: `refine.RefineServer().get_version()`
* show total rows of project 2151545447855: `refine.RefineProject(refine.RefineServer(),'2151545447855').do_json('get-rows')['total']`
@ -46,16 +45,25 @@ The environment variables `OPENREFINE_HOST` and `OPENREFINE_PORT` enable overrid
## Installation
```pip install openrefine-client```
Install dependencies, which currently is `urllib2_file`:
(requires Python 2.x, depends on urllib2_file>=0.2.1)
```
sudo pip install -r requirements.txt
```
## Tests
Ensure you have a Refine server running somewhere and, if necessary, set the environment vars as above.
Ensure you have an OpenRefine server running somewhere and, if necessary, set the environment vars as above.
Run tests, build, and install:
* all tests: ```python setup.py test```
* a subset: ```python setup.py test --test-suite tests.test_facet```
```
python setup.py test # to do a subset, e.g., --test-suite tests.test_facet
python setup.py build
python setup.py install
```
There is a Makefile that will do this too, and more.
## Credits

Ver fichero

@ -3,26 +3,26 @@ LABEL maintainer="felixlohmeier@opencultureconsulting.com"
# The OpenRefine Python Client Library from PaulMakepeace provides an interface to communicating with an OpenRefine server. This fork extends the command line interface (CLI) and supports communication between docker containers.
# Source: https://github.com/opencultureconsulting/openrefine-client
# Install python, pip, unzip, curl and grep
# Install python and pip
# ... and curl for https://github.com/opencultureconsulting/openrefine-batch
RUN apk add --no-cache \
python \
py-pip \
unzip \
curl \
grep
curl
# Install dependency urllib2_file
RUN pip install urllib2_file==0.2.1
# Copy python scripts
# Download and build openrefine-client-master
WORKDIR /app
COPY refine/* ./
COPY google google
COPY refine.py .
# Change docker WORKDIR (shall be mounted by user)
WORKDIR /data
# Execute main python script
ENTRYPOINT ["/app/__main__.py"]
# Execute refine.py
ENTRYPOINT ["/app/refine.py"]
# Default command: print help
CMD ["-h"]

0
google/refine/__init__.py Archivo normal
Ver fichero

Ver fichero

@ -30,8 +30,8 @@ import urllib2_file
import urllib2
import urlparse
import facet
import history
from google.refine import facet
from google.refine import history
REFINE_HOST = os.environ.get('OPENREFINE_HOST', os.environ.get('GOOGLE_REFINE_HOST', '127.0.0.1'))
REFINE_PORT = os.environ.get('OPENREFINE_PORT', os.environ.get('GOOGLE_REFINE_PORT', '3333'))

Ver fichero

@ -25,7 +25,7 @@ import sys
import time
import json
import refine
from google.refine import refine
reload(sys)
sys.setdefaultencoding('utf-8')
@ -37,7 +37,7 @@ class myParser(optparse.OptionParser):
PARSER = \
myParser(description='Script to provide a command line interface to an OpenRefine server.',
usage='usage: openrefine-client [--help | OPTIONS]',
usage='usage: %prog [--help | OPTIONS]',
epilog="""
Examples:
--list # show list of projects (id: name)

Ver fichero

@ -25,7 +25,7 @@ def read(filename):
return open(os.path.join(os.path.dirname(__file__), filename)).read()
setup(name='openrefine-client',
version='0.3.5',
version='0.3.4',
description=('The OpenRefine Python Client Library provides an '
'interface to communicating with an OpenRefine server. '
'This fork extends the command line interface (CLI).'),
@ -34,11 +34,7 @@ setup(name='openrefine-client',
author_email='felix.lohmeier@opencultureconsulting.com',
url='https://github.com/opencultureconsulting/openrefine-client',
packages=find_packages(exclude=['tests']),
python_requires='>2.6, !=3.*',
install_requires=['urllib2_file'],
entry_points={
'console_scripts': [ 'openrefine-client = refine.__main__:main' ]
},
platforms=['Any'],
classifiers = [
'Development Status :: 3 - Alpha',

Ver fichero

@ -15,7 +15,7 @@ and REFINE_PORT.
import os
import unittest
from refine import refine
from google.refine import refine
PATH_TO_TEST_DATA = os.path.join(os.path.dirname(__file__), 'data')

Ver fichero

@ -8,7 +8,7 @@ test_facet.py
import json
import unittest
from refine.facet import *
from google.refine.facet import *
class CamelTest(unittest.TestCase):

Ver fichero

@ -7,7 +7,7 @@ test_history.py
import unittest
from refine.history import *
from google.refine.history import *
class HistoryTest(unittest.TestCase):

Ver fichero

@ -12,7 +12,7 @@ OPENREFINE_HOST and OPENREFINE_PORT.
import csv
import unittest
from refine import refine
from google.refine import refine
from tests import refinetest

Ver fichero

@ -7,7 +7,7 @@ test_refine_small.py
import unittest
from refine import refine
from google.refine import refine
class RefineRowsTest(unittest.TestCase):

Ver fichero

@ -16,7 +16,7 @@ OPENREFINE_HOST and OPENREFINE_PORT.
import unittest
from refine import facet
from google.refine import facet
from tests import refinetest