Browse Source

Revert "refactor to allow module execution"

This reverts commit a0123e9511.
tags/v0.3.6
Felix Lohmeier 1 year ago
parent
commit
d82c7b28fb
16 changed files with 68 additions and 32 deletions
  1. +32
    -0
      Makefile
  2. +17
    -9
      README.md
  3. +8
    -8
      docker/Dockerfile
  4. +0
    -0
      google/__init__.py
  5. +0
    -0
      google/refine/__init__.py
  6. +0
    -0
      google/refine/facet.py
  7. +0
    -0
      google/refine/history.py
  8. +2
    -2
      google/refine/refine.py
  9. +2
    -2
      refine.py
  10. +1
    -5
      setup.py
  11. +1
    -1
      tests/refinetest.py
  12. +1
    -1
      tests/test_facet.py
  13. +1
    -1
      tests/test_history.py
  14. +1
    -1
      tests/test_refine.py
  15. +1
    -1
      tests/test_refine_small.py
  16. +1
    -1
      tests/test_tutorial.py

+ 32
- 0
Makefile View File

@@ -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

+ 17
- 9
README.md View File

@@ -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



+ 8
- 8
docker/Dockerfile View File

@@ -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"]

refine/__init__.py → google/__init__.py View File


+ 0
- 0
google/refine/__init__.py View File


refine/facet.py → google/refine/facet.py View File


refine/history.py → google/refine/history.py View File


refine/refine.py → google/refine/refine.py View File

@@ -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'))

refine/__main__.py → refine.py View File

@@ -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)

+ 1
- 5
setup.py View File

@@ -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',


+ 1
- 1
tests/refinetest.py View File

@@ -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')



+ 1
- 1
tests/test_facet.py View File

@@ -8,7 +8,7 @@ test_facet.py
import json
import unittest

from refine.facet import *
from google.refine.facet import *


class CamelTest(unittest.TestCase):


+ 1
- 1
tests/test_history.py View File

@@ -7,7 +7,7 @@ test_history.py

import unittest

from refine.history import *
from google.refine.history import *


class HistoryTest(unittest.TestCase):


+ 1
- 1
tests/test_refine.py View File

@@ -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




+ 1
- 1
tests/test_refine_small.py View File

@@ -7,7 +7,7 @@ test_refine_small.py

import unittest

from refine import refine
from google.refine import refine


class RefineRowsTest(unittest.TestCase):


+ 1
- 1
tests/test_tutorial.py View File

@@ -16,7 +16,7 @@ OPENREFINE_HOST and OPENREFINE_PORT.

import unittest

from refine import facet
from google.refine import facet
from tests import refinetest




Loading…
Cancel
Save