Jeff Hammel 2012-01-22 21:58:12 -08:00
parent 6db79dae1b
commit d9a9e77972
4 changed files with 79 additions and 57 deletions

View file

@ -4,7 +4,7 @@ import urllib
import httplib2 import httplib2
class OpenPhoto: class OpenPhoto(object):
""" Client library for OpenPhoto """ """ Client library for OpenPhoto """
def __init__(self, host, consumer_key='', consumer_secret='', def __init__(self, host, consumer_key='', consumer_secret='',

58
openphoto/main.py Normal file
View file

@ -0,0 +1,58 @@
#!/usr/bin/env python
import os
import sys
import string
import urllib
from optparse import OptionParser
try:
import simplejson as json
except:
import json
from openphoto import OpenPhoto
def main(args=sys.argv[1:]):
consumer_key = os.getenv('consumerKey')
consumer_secret = os.getenv('consumerSecret')
token = os.getenv('token')
token_secret = os.getenv('tokenSecret')
parser = OptionParser()
parser.add_option('-H', '--host', action='store', type='string', dest='host',
help="Hostname of the OpenPhoto install", default="localhost")
parser.add_option('-X', action='store', type='choice', dest='method', choices=('GET', 'POST'),
help="Method to use (GET or POST)", default="GET")
parser.add_option('-F', action='append', type='string', dest='fields',
help="Fields")
parser.add_option('-e', action='store', type='string', dest='endpoint',
help="Endpoint to call")
parser.add_option('-p', action="store_true", dest="pretty", default=False)
parser.add_option('-v', action="store_true", dest="verbose", default=False)
parser.add_option('--encode', action="store_true", dest="encode", default=False)
options, args = parser.parse_args(args)
params = {}
if options.fields:
for field in options.fields:
(key, value) = string.split(field, '=')
params[key] = value
client = OpenPhoto(options.host, consumer_key, consumer_secret, token, token_secret)
if options.method == "GET":
result = client.get(options.endpoint)
else:
result = client.post(options.endpoint)
if options.verbose:
print "==========\nMethod: %s\nHost: %s\nEndpoint: %s\n==========\n\n" % (options.method, options.host, options.endpoint)
if options.pretty:
print json.dumps(json.loads(result), sort_keys=True, indent=4, separators=(',',':'))
else:
print result
if __name__ == "__main__":
main()

View file

@ -1,55 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python
import os
import sys
import string
import urllib
from optparse import OptionParser
try: import openphoto.main
import simplejson as json openphoto.main.main()
except:
import json
from openphoto import OpenPhoto
if __name__ == "__main__":
consumer_key = os.getenv('consumerKey')
consumer_secret = os.getenv('consumerSecret')
token = os.getenv('token')
token_secret = os.getenv('tokenSecret')
parser = OptionParser()
parser.add_option('-H', '--host', action='store', type='string', dest='host',
help="Hostname of the OpenPhoto install", default="localhost")
parser.add_option('-X', action='store', type='choice', dest='method', choices=('GET', 'POST'),
help="Method to use (GET or POST)", default="GET")
parser.add_option('-F', action='append', type='string', dest='fields',
help="Fields")
parser.add_option('-e', action='store', type='string', dest='endpoint',
help="Endpoint to call")
parser.add_option('-p', action="store_true", dest="pretty", default=False)
parser.add_option('-v', action="store_true", dest="verbose", default=False)
parser.add_option('--encode', action="store_true", dest="encode", default=False)
options, args = parser.parse_args(sys.argv)
params = {}
if options.fields:
for field in options.fields:
(key, value) = string.split(field, '=')
params[key] = value
client = OpenPhoto(options.host, consumer_key, consumer_secret, token, token_secret)
if options.method == "GET":
result = client.get(options.endpoint)
else:
result = client.post(options.endpoint)
if options.verbose:
print "==========\nMethod: %s\nHost: %s\nEndpoint: %s\n==========\n\n" % (options.method, options.host, options.endpoint)
if options.pretty:
print json.dumps(json.loads(result), sort_keys=True, indent=4, separators=(',',':'))
else:
print result

View file

@ -1,4 +1,20 @@
requires = ['oauth2', 'httplib2']
try:
import json
except ImportError:
requires.append('simplejson')
try:
from setuptools import setup
kw = {'entry_points':
"""[console_scripts]\nopenphoto = openphoto.main:main\n""",
'zip_safe': False,
'install_requires': requires
}
except ImportError:
from distutils.core import setup from distutils.core import setup
kw = {'scripts': ['scripts/openphoto'],
'requires': requires}
setup(name='openphoto', setup(name='openphoto',
version='0.1', version='0.1',
@ -6,7 +22,6 @@ setup(name='openphoto',
author='James Walker', author='James Walker',
author_email='walkah@walkah.net', author_email='walkah@walkah.net',
url='https://github.com/openphoto/openphoto-python', url='https://github.com/openphoto/openphoto-python',
requires=['oauth2'],
packages=['openphoto'], packages=['openphoto'],
scripts=['scripts/openphoto'], **kw
) )