Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def main(running_with_paster=False):
"""
ckanapi command line entry point
"""
arguments = parse_arguments()
if not running_with_paster and not arguments['--remote']:
return _switch_to_paster(arguments)
if arguments['--remote']:
ckan = RemoteCKAN(arguments['--remote'],
apikey=arguments['--apikey'],
user_agent="ckanapi-cli/{version} (+{url})".format(
version=__version__,
url='https://github.com/open-data/ckanapi'),
get_only=arguments['--get-request'],
)
else:
ckan = LocalCKAN(username=arguments['--ckan-user'])
stdout = getattr(sys.stdout, 'buffer', sys.stdout)
if arguments['action']:
try:
for r in action(ckan, arguments):
stdout.write(r)
return
except CLIError as e:
sys.stderr.write(e.args[0] + '\n')
return 1
def __init__(self, address, apikey=None, user_agent=None, get_only=False, session=None):
self.address = address
self.apikey = apikey
self.get_only = get_only
self.session = session
if not user_agent:
user_agent = "ckanapi/{version} (+{url})".format(
version=__version__,
url='https://github.com/ckan/ckanapi')
self.user_agent = user_agent
self.action = ActionShortcut(self)
net_loc = urlparse(address)
if ']' in net_loc:
net_loc = net_loc[:net_loc.index(']') + 1]
elif ':' in net_loc:
net_loc = net_loc[:net_loc.index(':')]
if net_loc not in MY_SITES:
# add your sites to MY_SITES above instead of removing this
self.parallel_limit = PARALLEL_LIMIT
def parse_arguments():
# docopt is awesome
return docopt(__doc__, version=__version__)